| 
	
		| 
 
	
		| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |  
		| Autor | Nachricht |  
		| sideshow •-->
 
  
  
 Anmeldedatum: 07.05.2002
 Beiträge: 130
 
 
 | 
			
				|  Verfasst am: 04.07.2002 - 09:07    Titel: Texeingabe beschränken? |   |  
				| 
 |  
				| Grüße ans Forum! 
 Mein Problem:  geht das irgendwie, das ich die maximalen Zeichen eines Texteingabe-Feldes beschränken kann? Im Klartext: Angenommen das Script geht so -> Script wird gestartet, dialog fenster geht auf wo dasteht "bitte Ordnernamen eingeben:" dann kann man den Ordnernamen eingeben. Was aber, wenn dieser eingegebene name zu lange ist? dann bekomm ich eine fehlermeldung. kann man das bei der eingabe schon beschränken, und wenn ja, wie geht das bei DD?
 
 Vielen Dank im Voraus!!!!!
 _________________
 Meine Wenigkeit im Internet: http://www.sideshow-systems.de
 |  |  
		| Nach oben |  |  
		|  |  
		| Folker •---->
 
  
  
 Anmeldedatum: 11.12.2000
 Beiträge: 649
 Wohnort: Holsteinische Schweiz
 
 | 
			
				|  Verfasst am: 04.07.2002 - 09:38    Titel: Texeingabe beschränken? |   |  
				| 
 |  
				| Also, DD kann ich gerade nicht, habe X drauf. Allgemeiner Weg: 
 set the_name to "1234567890123456789012345678901234567890"
 if length of the_name > 31 then
 set {old_Delim, AppleScript's text item delimiters} to {AppleScript's text item delimiters, {""} }
 set the_name to (text items 1 thru 20 of the_name & "Ö" & text items -1 thru -10 of the_name) as string
 set AppleScript's text item delimiters to old_Delim
 end if
 {length of the_name, the_name}
 
 Du solltest bedenken, dass evtl noch bestimmte Zeichen getilgt werden müssen! Unter X könnte das ein "/" sein, vielleicht könnten auch returns oder andere Steuerzeichen problematisch werden Ö
 
 Gruß,
 Folker
 
 (Geändert von Folker um 9:39 Uhr am 4 Juli 2002)
 _________________
 Gruß,
 Folker Brandt
 =============================
 Systemberatung · Datenbanken · Webdesign
 |  |  
		| Nach oben |  |  
		|  |  
		| Folker •---->
 
  
  
 Anmeldedatum: 11.12.2000
 Beiträge: 649
 Wohnort: Holsteinische Schweiz
 
 | 
			
				|  Verfasst am: 04.07.2002 - 09:43    Titel: Texeingabe beschränken? |   |  
				| 
 |  
				| Achso, ja - ich habe da mal ein proggi zur Umsetzung Mac ASCII nach/von Win-ANSI geschrieben. Dieses Proggi funzt bis AS Version 1.6. In dem Proggi wird reichlich Gebrauch von von DD gemacht, insbesondere beim Einstellungsdialog. Das Beste: Die Scripte sind alle zugänglich - kannst ja einfach mal reingucken und die ein oder andere Anregung rauslauern Ö http://www.alle-brandts.de/ascii_char.htm
 _________________
 Gruß,
 Folker Brandt
 =============================
 Systemberatung · Datenbanken · Webdesign
 |  |  
		| Nach oben |  |  
		|  |  
		| Jens Hoffmann •--->
 
  
 
 Anmeldedatum: 07.05.2001
 Beiträge: 175
 
 
 | 
			
				|  Verfasst am: 04.07.2002 - 09:58    Titel: Texeingabe beschränken? |   |  
				| 
 |  
				| Hallo sideshow 
 Hier das Beispiel für DD, bei dem nicht mehr als 32 Zeichen ins Textfeld eingegeben werden können:
 
 -----
 
 dd install with fonts {null, null, null, null, {name:"Geneva", size:9}, {name:"Geneva", size:9, style:bold} } with grayscale
 
 set fenster to dd make dialog {bounds:[100, 100, 270, 250], style:standard palette, closeable:true, name:"New Palette", contents:{¨
 {class:push button, bounds:[100, 100, 140, 120], name:"OK", font:6}, ¨
 {class:push button, bounds:[50, 100, 90, 120], name:"Cancel", font:5}, ¨
 {class:text field, bounds:[5, 30, 165, 42], font:5} ¨
 } }
 
 repeat
 set dd to dd interact with user
 if dd = -1 or dd = 2 then -- Closebox oder Cancel
 exit repeat
 else if dd = 1 then -- OK
 exit repeat
 else if dd = 3 then -- Eingabe ins Textfeld
 set x to dd get value of item 3 of fenster -- Inhalt des Textfelds
 if (length of x) is greater than 32 then -- Länge > 32?
 set x to characters 1 thru ((length of x) - 1) of x -- x auf 32 Zeichen reduzieren
 dd set value of item 3 of fenster to (x as string) -- wieder in das Feld schreiben
 dd set selection of item 3 of fenster to [-1, -1] -- Cursor ans Ende positionieren
 end if
 end if
 end repeat
 dd delete fenster
 dd uninstall
 
 
 ----
 
 Die Zeile mit dem "Cursor" ist notwendig, weil nach dem Einfügen der gesamte Text markiert ist und man dann beim Weitertippen das Bisherige überschreiben würde.
 
 Wenn es um ein mehrzeiliges Textfeld geht, wird die Sache etwas komplizierter, denn dann musst Du die Returns berücksichtigen.
 
 Grüße Jens
 
 
 (Geändert von Jens Hoffmann um 10:04 Uhr am 4 Juli 2002)
 
 
 (Geändert von Jens Hoffmann um 10:05 Uhr am 4 Juli 2002)
 |  |  
		| Nach oben |  |  
		|  |  
		| sideshow •-->
 
  
  
 Anmeldedatum: 07.05.2002
 Beiträge: 130
 
 
 | 
			
				|  Verfasst am: 04.07.2002 - 10:14    Titel: Texeingabe beschränken? |   |  
				| 
 |  
				| Vielen Dank! 
 Haut ganz gut hin!!!!
 _________________
 Meine Wenigkeit im Internet: http://www.sideshow-systems.de
 |  |  
		| Nach oben |  |  
		|  |  
		| Kurt •-->
 
  
 
 Anmeldedatum: 04.12.2000
 Beiträge: 21
 Wohnort: Röthenbach a.d.P. bei Nürnberg
 
 | 
			
				|  Verfasst am: 04.07.2002 - 11:16    Titel: Texeingabe beschränken? |   |  
				| 
 |  
				| Hallo Folker 
 
  	  | Zitat: |  	  | Zitat: von Folker am 9:38 Uhr am 4 Juli 2002 Also, DD kann ich gerade nicht, habe X drauf. Allgemeiner Weg:
 
 set the_name to "1234567890123456789012345678901234567890"
 if length of the_name > 31 then
 set {old_Delim, AppleScript's text item delimiters} to {AppleScript's text item delimiters, {""} }
 set the_name to (text items 1 thru 20 of the_name & "Ö" & text items -1 thru -10 of the_name) as string
 set AppleScript's text item delimiters to old_Delim
 end if
 {length of the_name, the_name}
 
 | 
 
 warum so aufwendig? ;-)
 
 if length of the_name > 31 then
 set the_name to (text 1 thru 20 of the_name & "Ö" & text -10 thru -1 of the_name)
 end if
 {length of the_name, the_name}
 
 ist kürzer und der Text am Ende ist nicht gedreht.
 |  |  
		| Nach oben |  |  
		|  |  
		| Folker •---->
 
  
  
 Anmeldedatum: 11.12.2000
 Beiträge: 649
 Wohnort: Holsteinische Schweiz
 
 | 
			
				|  Verfasst am: 04.07.2002 - 11:26    Titel: Texeingabe beschränken? |   |  
				| 
 |  
				| Moin Kurt, 
 ob ' -1 thru -10 oder -10 thru -1' ist völlig wurscht, es kommt immer das richtige heraus
   Was den text of angeht hast Du natürlich recht, ist anscheinend ein Überbleibsel aus alter Zeit. Ich meine mich zu erinnern, genau diese einfachere Form verweigerte in einer weiter zurückliegenden Version (1.1.2 oder 1.3.x) seinen Dienst. Darum die Text items Ö
 
 Gruß,
 Folker
 _________________
 Gruß,
 Folker Brandt
 =============================
 Systemberatung · Datenbanken · Webdesign
 |  |  
		| Nach oben |  |  
		|  |  
		| Kurt •-->
 
  
 
 Anmeldedatum: 04.12.2000
 Beiträge: 21
 Wohnort: Röthenbach a.d.P. bei Nürnberg
 
 | 
			
				|  Verfasst am: 04.07.2002 - 15:36    Titel: Texeingabe beschränken? |   |  
				| 
 |  
				|  	  | Zitat: |  	  | Zitat: von Folker am 11:26 Uhr am 4 Juli 2002 Moin Kurt,
 
 ob ' -1 thru -10 oder -10 thru -1' ist völlig wurscht, es kommt immer das richtige heraus
   
 | 
 ich dachte schon, daß in der 'range' Definition von AS festgelegt ist:
 'startindex thru stopindex'
 start/stopindex positiv: relativ zum Beginn
 start/stopindex positiv: relativ zum Ende
 und ich meine auch schon mal irgendwo gelesen zu haben hiermit umgedrehte Ergebnisse zu erhalten.
 Ich kann's aber im Moment nicht testen, da mein AG sich nicht den Luxus von Macs leistet.
 
 MfG Kurt
 |  |  
		| Nach oben |  |  
		|  |  
		| Folker •---->
 
  
  
 Anmeldedatum: 11.12.2000
 Beiträge: 649
 Wohnort: Holsteinische Schweiz
 
 | 
			
				|  Verfasst am: 04.07.2002 - 15:47    Titel: Texeingabe beschränken? |   |  
				| 
 |  
				| Nein, die Reihenfolge bleibt tatsächlich gleich - ist aber durchaus in internationalen User-Groups schon einige Male diskutiert worden. Bei applescript-users mailing list hat auch mal ein AppleScript Entwickler den genauen Hintergrund "warum" dazu geliefert (habe da aber keinen Zugriff im Moment drauf, ist irgendwo im BackUp Ö) 
 Aber der kann das dann
 (reverse of text items of "Test") as string
 ;)
 
 Gruß,
 Folker
 _________________
 Gruß,
 Folker Brandt
 =============================
 Systemberatung · Datenbanken · Webdesign
 |  |  
		| Nach oben |  |  
		|  |  
		| Kurt •-->
 
  
 
 Anmeldedatum: 04.12.2000
 Beiträge: 21
 Wohnort: Röthenbach a.d.P. bei Nürnberg
 
 | 
			
				|  Verfasst am: 05.07.2002 - 10:06    Titel: Texeingabe beschränken? |   |  
				| 
 |  
				|  	  | Zitat: |  	  | Zitat: von Folker am 15:47 Uhr am 4 Juli 2002 Nein, die Reihenfolge bleibt tatsächlich gleich ...
 | 
 
 Du hast Recht, und ich hätte schwören können, daß ich das schon einmal ausprobiert hätte. Aber so kann man sich täuschen.
 
 cu Kurt
 |  |  
		| Nach oben |  |  
		|  |  
		|  |  
  
	| 
 
 | Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten.
 Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
 Du kannst deine Beiträge in diesem Forum nicht löschen.
 Du kannst an Umfragen in diesem Forum nicht mitmachen.
 
 |  
 Powered by phpBB  © 2001, 2002 phpBB Group
 Deutsche Übersetzung von phpBB.de
 |  | 
 |