• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Buttons eines "choose folder" definieren...

pi26

Adams Parmäne
Registriert
17.12.04
Beiträge
1.297
Das kannst du ja einfach austesten.

return theresult

oder

return class of theresult

liefern dir die benötigte Information im Ergebnisfenster.
 

pi26

Adams Parmäne
Registriert
17.12.04
Beiträge
1.297
the x-master schrieb:
Hi pi26,

naja - ist zwar eine schöne Funktion, doch wenn ich bei einem choose folder Cancel drücke, kommt gar nichts... :(


Okay, "choose folder" erzeugt still einen Fehler, wenn kein der User "abbrechen" gewählt hat - macht in diesem Fall auch Sinn, weil der Benutzer dann i.d.R. ja ohnehin insgesamt abbrechen möchte. Der Abbruch lässt sich wie folgt vermeiden.

try
set thefolder to choose folder
on error err

end try

Wahlweise kann der "Fehler" angezeigt werden, wenn zwischen "on error" und "end try" ein "display dialog err" eingefügt wird.
 

pi26

Adams Parmäne
Registriert
17.12.04
Beiträge
1.297
Anbei die Beschreibung und ein Anwendungsbeispiel von "choose from list"

choose from list list of number or string : a list of numbers and/or strings to display
[with title string] : the dialog window title
[with prompt string] : the prompt to be displayed in the dialog box
[default items list of number or string] : a list of items to initially select (an empty list if no selection)
[OK button name string] : the name of the OK button
[cancel button name string] : the name of the Cancel button
[multiple selections allowed boolean] : Allow multiple items to be selected?
[empty selection allowed boolean] : Can the user make no selection and then choose OK?
? list of number or string : the list of selected items


Code:
set promptstring to "Wie wünsche Sie den Kaffee? (Mehrfachauswahl mit gedrückter Befehltaste)"
set alist to choose from list {"Milch", "Zucker", "Sahne"} with prompt promptstring with multiple selections allowed and empty selection allowed
if alist is false then
	return --bei abbruch exit; hierher kommen wir nur wenn der User "abbrechen" geklickt hat
else
	set astring to "Sie trinken Ihren Kaffee "
	if (count of alist) is 0 then
		set astring to astring & "ohne alles."
	else
		set astring to astring & " mit:" & return
		repeat with elem in alist
			set astring to astring & elem & return
		end repeat
	end if
end if

display dialog astring
 
Zuletzt bearbeitet:

pi26

Adams Parmäne
Registriert
17.12.04
Beiträge
1.297
the x-master schrieb:
Geht es auch, dass sobald man nicht den OK button gedrückt hat, das Fenster (choose folder) immer wieder neu ersscheint ?

So was programmiert man normal eigentlich nicht, denn der User soll doch entscheiden können, ob er abbricht. Aber wenn dann...

set zwangsantworterhalten to false
repeat while zwangsantworterhalten is false
try
set thefolder to choose folder
set zwangsantworterhalten to true
on error
--nichts hier, weil einfach ignorieren
end try
end repeat
 

pi26

Adams Parmäne
Registriert
17.12.04
Beiträge
1.297
Und warum nicht einfach so? ;)

try
set thefolder to choose folder
set canceled to false
on error
set canceled to true
end try

if canceled is true then

else

end if

NOTE: Dabei ist canceled eine normale Variable. Properties verwendet man nur wenn man will, dass die Werte während der Programmlaufzeit gespeichert bleiben.
 

pi26

Adams Parmäne
Registriert
17.12.04
Beiträge
1.297
the x-master schrieb:
Doch ich hatte, wenn ich aus dem property eine normale Variable mache, doch trotzdem recht und würde doch zu dem selben Ergebnis kommen, oder ?

Ja, genau so ist es.;)

mfg pi26