Unbestimmte Anzahl von Strings erstellen

K

kpj

Registriert
Thread Starter
Dabei seit
15.05.2010
Beiträge
4
Reaktionspunkte
0
Hi liebes Forum,
mithilfe von AppleScript habe ich ein Programm geschrieben, welches auf eine unbestimmte Anzahl von Eingaben reagieren soll. Dabei habe ich:
Code:
repeat while Variable is false
end repeat
angewandt. Sie wird dadurch beendet, dass Variable auf true gesetzt wird.
Nun bin ich soweit, dass ich eine Liste habe, welche aus den einzelnen eingegeben Werten besteht. Diese kann ich nun auch in EINEN String umwandeln:
Code:
set meineListe to meineListe as string
Ich möchte es aber gerne so haben, dass jeder einzelne Wert der Liste seinen eigenen String bekommt. In anderen Pogrammiersprachen habe ich so etwas in der Art normalerweise mit Arrays gemacht. Bei Applescript vermisse ich sie leider bis jetzt noch.
Ich hoffe ihr habt eine Idee, wie man mein Problem lösen kann,
Danke schonmal im Vorraus,
kpj
 
Verstehe die Frage leider nicht ...
Listen sind das AppleScript-Equivalent zu Arrays.
Wie sieht denn meineListe vorher und nachher aus?
Zumal Du die Listenelemente ja selbst explizit mit diesem Kommando
PHP:
set meineListe to meineListe as string
in einen einzigen String umgewandelt hast ...
Wenn Du jedes einzelne Listenelement abarbeiten möchtest, solltest Du einen Loop wie diesen hier benutzen:
PHP:
repeat with einElement in meineListe
-- tu was mit einElement
end repeat

Ciao
Farid
 
Verstehe die Frage leider nicht ...
Also, ich habe einen Dialog (das Teil mit display dialog), in das man eine
Texteingabe machen kann. Diese Eingabe wird in einer Liste gespeichert. Danach klickt man auf Ok, und kann dann wieder auswählen, ob man noch einmal auf die gleiche Frage antworten will, oder lieber zur nächsten Frage voranschreiten will. Je nach dem, wie oft man etwas eingeben will, verändert sich die Länge der Liste, da jede Antwort eingespeichert wird.
Dieser verschiedenen Antworten will ich nun in einzelne Strings verpacken.
Zur Veranschaulichung hier der Codeschnipsel
Code:
display dialog "Do you want to add some voting options?" buttons {"Yes", "No"} default button 2
	if the button returned of the result is "Yes" then
		set finished to false
		set mapsTOvote to {}
		repeat while finished is false
			display dialog "Do you want to add a map to vote?" buttons {"Yes", "No"} default button 1
			if the button returned of the result is "Yes" then
				set mapVOTED to display dialog "Which map do you want to make selectable (Again, without .map)?" default answer "map" buttons {"OK"} default button 1
				set mapsTOvote to mapsTOvote & text returned of mapVOTED & " "
			else
				set finished to true
			end if
		end repeat
	else
		
	end if

Ist mein Ansatz komplett falsch, muss ich vielleicht ganz anders anfangen?
Ich hoffe ich konnte dir meine Frage besser verständlich machen.
kpj
 
Dein Fehler liegt in der Methode wie Du die Liste "MapsToVote" verwaltest:
AppleScript fügt einer Liste Elemente hinzu, indem man diese Konstruktion verwendet:
set end of Liste to Element
Beispiel:
PHP:
set meineListe to {"Eins", "Zwei", "Drei"}
set end of meineListe to "Vier"
--> Ergebnis: {"Eins", "Zwei", "Drei", "Vier"}
Wie Du siehst, bleiben alle Listenelemente individuelle Strings, die Du mit
PHP:
item x of meine Liste
ansprechen kannst.

Ciao
Farid
 
Kann ich dann in einer repeat Schleife den Wert Von X stufenweise nach oben setzen?
 
ja, einfach das inkrement x in die letzte Zeile der Schleife hängen.
 
Inkrement?
 
Zurück
Oben Unten