• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Button

the x-master

Riesenboiken
Registriert
29.01.06
Beiträge
290
Hi,
weiß jemand, ob es in AS machbar ist, dass ein Button bei "display dialog" erst richtig zum Anklicken nach z.B. 5 seconds ist? :-/

X.
 
Zuletzt bearbeitet:
danke,
dummerweise weiß ich nicht wie man das mit XCode macht...

X.
 
wie wär's damit?

Code:
set hasWaited to false
repeat while (not hasWaited)
	set hasWaited to (gave up of (display dialog "wait 5 seconds!" giving up after 5))
end repeat
display dialog "congratulations - you are very patient!"
 
pete schrieb:
edit 2

dops, dops, dops (Schadenfreude)

Geht leider doch nicht so gut, es verlängert sich bei jedem Klick.

Moin,

weiss ich doch, ich dachte, Strafe für's Klicken muss sein ...



Edit - Sorry pete - ich hatte dein Script gar nicht richtig angeschaut gestern nacht - das was ich hier noch gepostet hatte, war ja nahezu das gleich. Hab's daher gelöscht ...
Ich sollte hier erst was posten, wenn ich richtig wach bin LOL


Grüße,

D.
 
Zuletzt bearbeitet:
vielen Dank Daisy und pete,
genau DAS wollte ich haben...also, dass das mit dem erst nach 5secs erscheindem Button nicht geht...nicht schlimm.
Eure Lösung ist super.

X. :-) :-) :-)
 
pete schrieb:
dops, dops, dops (Schadenfreude)
Geht leider doch nicht so gut, es verlängert sich bei jedem Klick.

zum Thema 'dops, dops, dops: - anbei ein Screenshot aus einem Testlauf deines Scripts :-*

Preisfrage - wo steckt der Fehler?

D.
 

Anhänge

  • dops.png
    dops.png
    15,1 KB · Aufrufe: 155
pete schrieb:
Der Wert von current date ist bei Beginn der Schleife anders als eine Zeile darunter, wenn der Dialog zusammen gebaut wird.

Vor der Repeat-Schleife sollte also current date in einer Variablen abgelegt werden.

Code:
set varNow to (current date)
repeat while (globalAnswerTime > varNow)
	set globalChoice to button returned of (display dialog (globalQuestion & return & return & globalStringDemandSeconds1 & space & (globalAnswerTime - varNow) & space & globalStringDemandSeconds2) buttons {globalCancel, globalContinue})
end repeat

Gruß, Pete

Gratuliere, die Antwort ist richtig! :-)

Die Korrektur ist auch - hmmm - fast richtig. Tz tz tz - da lässt du uns jetzt aber schön in der Warteschleife hängen.

Bitte warten - Bitte warten - Bitte warten ... :innocent:
 
pete schrieb:
Bei beiden Fehlern, auf die du mich aufmerksam machtest, habe ich getippt und auf Senden gedrückt, ohne nachzudenken. So wie man das beim Coden manchmal macht. Und sich beim Debuggen wundert.

schon klar, brauchst dich nicht zu verteidigen :-)

Es gibt noch einen kleinen Schönheitsfehler ... 'Abbrechen' bricht die Schleife nicht ab ...

Ich habe mal noch meine Idee mit gave up integriert und das Abbrechen-Problem behoben. Wie findest du's so:

Code:
set globalQuestion to "Was erwarten Sie vom Leben?"
set globalStringDemandSeconds1 to "Sie sollten sich noch"
set globalWaitSeconds to 5
set globalStringDemandSeconds2 to "Sekunden Zeit lassen, bevor Sie antworten!"
set globalCancel to "Abbrechen"
set globalContinue to "Weiter"
set globalAnswerTime to ((current date) + globalWaitSeconds)
set globalChoice to "?"
set varNow to (current date)

repeat while (globalAnswerTime > (varNow))
	set theResult to (display dialog (globalQuestion & return & return & globalStringDemandSeconds1 & space & (globalAnswerTime - (current date)) & space & globalStringDemandSeconds2) buttons {globalCancel, globalContinue} giving up after globalWaitSeconds)
	
	if (gave up of theResult = true) then
		set globalChoice to globalContinue
	else
		set globalChoice to button returned of theResult
	end if
	if globalChoice = globalCancel then exit repeat
	set varNow to (current date)
end repeat

display dialog globalChoice
 
pete schrieb:

Ja genau, super - dieses mal habe ich getippt, ohne richtig nachzudenken - in meiner gelöschten Version hatte ich das schon richtig, grrrr ...
gemeinsam sind wir stark ;-)