Anfänger Frage | If-Abfragen

mcmonk

Aktives Mitglied
Thread Starter
Dabei seit
18.09.2004
Beiträge
213
Reaktionspunkte
0
Hi Leute,

ich hab ne Frage..

ich habe gestern mit Apple-Script angefangen, und jetzt stecke ich leider etwas...

...ich will einfach ein Beispiel machen, das eig. kaum nen sinn ergibt, darum gehts viel mehr ums Prinzip als ums Programm


Hier ist der Code

PHP:
set QuestionI to display dialog "Interessiert es dich zu wissen, wie viele Tage du bereits lebst?" buttons {"Nein", "Ja"} default button "Ja"
set answerQ to button returned of QuestionI


if answerQ is "Ja" then
	set QuestionA to display dialog "Wie alt bist du?" default answer "Angabe in Jahren"
	set answerA to text returned of QuestionA
	set ageDays to answerA * 365
	display dialog "Du lebst seit: " & ageDays & " Tagen"
	
else
	
	display dialog "Dann lass es eben..."
end if

Das Programm soll zuerst nachfragen ob man Interesse hat das Alter in Tagen rauszufinden...

Wenn man ja sagt, und ne gewünschte Zahl eingibt kommt es auch richtig raus, wenn man nein klickt kommt man eben zu "Dann lass es eben..." Ich will aber, wenn die Zahl über 100 ist, das er ausgibt " So alt bist du bestimmt nicht :) "

Also kann mir jmd. helfen wie ich das am besten löse? ich weiß, das ist nicht die schönste schreibweise, ich habs einige male versucht, das ist jetzt das letzte..weiter schaff ichs net


also ich danke euch


Schönen Tag noch
mcmonk
 
Zuletzt bearbeitet:
vielleicht so?
Code:
set QuestionI to display dialog "Interessiert es dich zu wissen, wie viele Tage du bereits lebst?" buttons {"Nein", "Ja"} default button "Ja"
set answerQ to button returned of QuestionI


if answerQ is "Ja" then
	set QuestionA to display dialog "Wie alt bist du?" default answer "Angabe in Jahren"
	set answerA to text returned of QuestionA
	if answerA > 100 then
		display dialog answerA & " Jahre?" & return & ¬
			"So alt bist du bestimmt nicht!" buttons {"OK"} default button 1
		return
	end if
	set ageDays to answerA * 365
	display dialog "Du lebst seit: " & ageDays & " Tagen"
	
else
	display dialog "Dann lass es eben..." buttons {"OK"} default button 1
end if
 
Hi,


ich habs jetzt umgschrieben, mit try und dann funzt es eigentlich supi! Ich habe den Source-Code jetzt nicht bei Hand! Aber bei Interesse poste ich ihn morgen gerne! Mein erstes "Meisterstück" *gg*

Frage, kennt jemand free-ebooks mit denen ich fortsetzen kann? Habe jetzt das Book von Bert Altburg oder wie er heißt :)
 
Hallo mcmonk,

ich habe die Altersabfrage mal ausgelagert in eine Subroutine (Handler). Die Überprüfung der Eingabe findet ebenfalls dort statt. Wird eine Zahl > 100 eingegeben, ruft sich diese Subroutine wieder selbst auf und fragt einfach nochmal nach. Das geht so lange, bis man eine Zahl unter bzw. gleich 100 eingibt.


set QuestionI to ¬
display dialog "Interessiert es dich zu wissen, wie viele Tage du bereits lebst?" buttons ¬
{"Nein", "Ja"} default button "Ja"
set answerQ to button returned of QuestionI


if answerQ is "Ja" then
set answerA to Frage()
set ageDays to answerA * 365
display dialog "Du lebst seit: " & ageDays & " Tagen" with icon note
else
display dialog "Dann lass es eben..." with icon caution
end if

on Frage()
set Alter to text returned of (display dialog ¬
"Wie alt bist du?" default answer "Angabe in Jahren")
if (Alter as number) > 100 then
display dialog "So alt bist du bestimmt nicht! " & ¬
return & "Also gleich nochmal!" buttons {"OK"} ¬
default button 1 with icon stop
Frage()
end if
return Alter
end Frage
 
Zuletzt bearbeitet:
du kannst dir auf meiner Homepage den Workshop "AppleScript Studio" (aus der MACup) ansehen.
 
Hi Leute,


habt mir sehr geholfen! Hab mir "AppleScript Für Absolute Starter" heute geladen, und bin jetzt durch, ich muss sagen AppleScript macht echt FUN, oke ich kann vielleicht nichtmal nen Bruchteil davon, aber es ist doch lustig :D !

Vllt kauf ich mir auch gleich 2-3 Bücher *G* Welche könnt ihr empfeheln?

Schönen Tag noch
 
Hier der Neue Code :)


Code:
-- Fehler und Ausgabe Handler definiert Anfang
on fehler(errormeldung, errormeldung2)
	display dialog errormeldung & return & errormeldung2 buttons {"OK"} default button 1 with icon stop
end fehler

on ausgabe(textausgabe)
	display dialog textausgabe buttons {"OK"} default button "OK"
end ausgabe
-- Fehler und Ausgabe Handler definiert ENDE


-- Anfang Abfrage - Durchlauf / Definiert
set wheels to display dialog "Wie oft willst du die Abfrage durchlaufen?" default answer "5" with icon caution
set wheelsnumber to text returned of wheels

try
	set wheelsnumber to wheelsnumber as integer
on error
	fehler("Nur eine Zahl eingeben!", "Also gleich nochmal")
end try
-- Ende Abfrage - Durchlauf / Definiert


-- Anfang Alter eingeben + Ausgabe
repeat wheelsnumber times
	set temp to display dialog "Alter in Jahren: " default answer "Hier eingeben !"
	set ageEntered to text returned of temp
	try
		set ageEntered to ageEntered as number
		
		if ageEntered ≤ 125 then
			set ageDays to ageEntered * 365
			set ageMonths to ageEntered * 12
			ausgabe("Du lebst seit " & ageDays & " Tagen oder seit " & ageMonths & " Monaten")
		else
			fehler("So alt bist du bestimmt nicht!", "Also gleich nochmal")
		end if
		
	on error
		
		fehler("Du musst eine Zahl eingeben :) ", "Also gleich nochmal")
		
	end try
end repeat
-- Ende Alter eingeben + Ausgabe

beep wheelsnumber


Es läuft ganz gut, um nicht zu sagen PERFEKT ! Und handler hab ich auch eingebaut *fg* vllt nicht die kürzeste Version aber ich habs geschafft *gg*
 
Zuletzt bearbeitet:
Zurück
Oben Unten