• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Sprichwörter und Redewendungen sind das Thema unseres Monatswettbewerbes. Nähere Informationen dazu gibt es natürlich auch, und zwar auf dieser Seite ---> Klick

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? o_O

X.
 
Zuletzt bearbeitet:

the x-master

Riesenboiken
Registriert
29.01.06
Beiträge
290
danke,
dummerweise weiß ich nicht wie man das mit XCode macht...

X.
 

Daisy

Uelzener Rambour
Registriert
14.01.06
Beiträge
366
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!"
 

Daisy

Uelzener Rambour
Registriert
14.01.06
Beiträge
366
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:

the x-master

Riesenboiken
Registriert
29.01.06
Beiträge
290
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. :) :) :)
 

Daisy

Uelzener Rambour
Registriert
14.01.06
Beiträge
366
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

Daisy

Uelzener Rambour
Registriert
14.01.06
Beiträge
366
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:
 

Daisy

Uelzener Rambour
Registriert
14.01.06
Beiträge
366
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
 

Daisy

Uelzener Rambour
Registriert
14.01.06
Beiträge
366
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 ;)