Anfänger Frage | If-Abfragen

Diskutiere mit über: Anfänger Frage | If-Abfragen im Scripting und Automatisierung Forum

  1. mcmonk

    mcmonk Thread Starter MacUser Mitglied

    Beiträge:
    211
    Zustimmungen:
    0
    Registriert seit:
    18.09.2004
    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: 20.12.2004
  2. WoSoft

    WoSoft MacUser Mitglied

    Beiträge:
    261
    Zustimmungen:
    0
    Registriert seit:
    24.08.2004
    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
     
  3. mcmonk

    mcmonk Thread Starter MacUser Mitglied

    Beiträge:
    211
    Zustimmungen:
    0
    Registriert seit:
    18.09.2004
    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 :)
     
  4. Snow

    Snow MacUser Mitglied

    Beiträge:
    262
    Zustimmungen:
    2
    Registriert seit:
    24.03.2003
    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: 20.12.2004
  5. WoSoft

    WoSoft MacUser Mitglied

    Beiträge:
    261
    Zustimmungen:
    0
    Registriert seit:
    24.08.2004
    du kannst dir auf meiner Homepage den Workshop "AppleScript Studio" (aus der MACup) ansehen.
     
  6. mcmonk

    mcmonk Thread Starter MacUser Mitglied

    Beiträge:
    211
    Zustimmungen:
    0
    Registriert seit:
    18.09.2004
    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
     
  7. mcmonk

    mcmonk Thread Starter MacUser Mitglied

    Beiträge:
    211
    Zustimmungen:
    0
    Registriert seit:
    18.09.2004
    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: 21.12.2004
Die Seite wird geladen...
Ähnliche Themen - Anfänger Frage Abfragen Forum Datum
Automator: Verschieben d Ordners in Ordner > Kopie des enthaltenen PDF Scripting und Automatisierung 12.05.2015
Ordneraktion speichern für Anfänger Scripting und Automatisierung 23.11.2014
Anfänger [ Script sollte Programme direkt starten ] Scripting und Automatisierung 19.06.2011
Anfänger braucht Hilfe. Dateinamen auslesen Scripting und Automatisierung 02.06.2011
Anfänger Frage Scripting und Automatisierung 06.04.2011

Diese Seite empfehlen

Benutzerdefinierte Suche