AutoIt MsGBox oÔ?

  • Hey , ich habe zwar noch relativ wenig Ahnung was Autoit angeht aber ich brauche jetzt einfach Hilfe , da Google mir dazu einfach nichts sagen will..
    Ich entschuldige mich schon mal im Vorraus wenn diese Frage total blöd ist. :S

    Also ich habe mich schon zu Anfang an eine Art "Registrierungsscript" gewagt.. Der User gibt seine Daten ein ( in meinem Fall einen Namen , ein Passwort , eine E-Mail und einen Spitznamen.)
    Ich hab mir gedacht , direkt nachdem das Programm startet eine MsGBox mit dem Flag 3 (also Ja , Nein & Cancel) einzubauen in der Steht ; "Wollen sie sich registrieren?"
    Mein Problem :
    Wenn man in der MsGBox auf "cancel" , oder auch auf "nein" klickt läuft das Programm einfach weiter.. Hier mal der Script :

    Spoiler anzeigen


    MsGBox (3 , "Registration", "Wollen sie sich registrieren?")
    $AccountID = InputBox ( "Account ID" , "Geben sie ihre WunschID an.")
    $Passwort = InputBox ( "Passwort" , "Geben sie ihr Passwort an." , "" , "*")
    $Passwort2 = InputBox ( "Passwort" , "Wiederholen sie bitte ihr Passwort." , "" , "*")

    If $Passwort = $Passwort2 Then

    Else
    MsGBox (0 , "Fehler" , "Passwörter sind nicht identisch.")
    Exit
    EndIf

    If $AccountID = $Passwort Then
    MsGBox (3 , "Achtung" , "Ihre Account ID und ihr Passwort sind identisch , trotzdem fortfahren?")
    EndIf
    $EMail = InputBox ( "E-Mail" , "Geben sie ihre E-Mail an.")
    $EMail2 = InputBox ( "E-Mail" , "Wiederholen sie bitte ihre E-Mail.")
    If $EMail = $EMail2 Then
    $Spitzname = InputBox ( "Spitznamen" , "Bitte geben sie ihren Spitznamen an.")
    MsGBox (3 , "Erfolgreich Registriert." , "Sie haben sich erfolgreich registriert bitte schauen sie in ihrem E-Mail Postfach nach.")
    Else
    MsGBox ( 0 , "E-Mail's nicht identisch." , "Ihre E-Mails sind nicht identisch.")
    EndIf

    Einmal editiert, zuletzt von nikotzu (2. März 2012 um 20:56)

  • Hilfe lesen ...

    Du mußt schon den Rückgabewert für die MsgBox auswerten und dann sagen was weiter passieren soll

    Spoiler anzeigen
    [autoit]

    $msgbox = MsgBox(3, "Registration", "Wollen sie sich registrieren?")
    If $msgbox = 6 Then
    $AccountID = InputBox("Account ID", "Geben sie ihre WunschID an.")
    $Passwort = InputBox("Passwort", "Geben sie ihr Passwort an.", "", "*")
    $Passwort2 = InputBox("Passwort", "Wiederholen sie bitte ihr Passwort.", "", "*")

    [/autoit] [autoit][/autoit] [autoit]

    If $Passwort = $Passwort2 Then

    [/autoit] [autoit][/autoit] [autoit]

    Else
    MsgBox(0, "Fehler", "Passwörter sind nicht identisch.")
    Exit
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If $AccountID = $Passwort Then
    MsgBox(3, "Achtung", "Ihre Account ID und ihr Passwort sind identisch , trotzdem fortfahren?")
    EndIf
    $EMail = InputBox("E-Mail", "Geben sie ihre E-Mail an.")
    $EMail2 = InputBox("E-Mail", "Wiederholen sie bitte ihre E-Mail.")
    If $EMail = $EMail2 Then
    $Spitzname = InputBox("Spitznamen", "Bitte geben sie ihren Spitznamen an.")
    MsgBox(3, "Erfolgreich Registriert.", "Sie haben sich erfolgreich registriert bitte schauen sie in ihrem E-Mail Postfach nach.")
    Else
    MsgBox(0, "E-Mail's nicht identisch.", "Ihre E-Mails sind nicht identisch.")
    EndIf
    EndIf

    [/autoit]
  • Die AutoIt Hilfe ist dein Freund ;) (kann in Scite 4 AutoIt mit F1 geöffnet werden). Du musst den Rückgabewert der MsgBox überprüfen (If o.Ä.) und dann entsprechend reagieren. Das Script weiß von allein nicht was es machen soll (zum Glück ^^).
    Außerdem formulierst du deine If Abfrage besser so:

    [autoit]

    If $Passwort <> $Passwort2 Then
    MsGBox (0 , "Fehler" , "Passwörter sind nicht identisch.")
    Exit
    EndIf

    [/autoit]


    Das ist übersichtlicher und kürzer. In der Hilfe findest du auch die Bedeutungen aller anderen Operatoren (Stichwort "Operator").
    Falls du der Englischen Sprache nicht mächtig sein solltest, gibt es hier auch die deutsche Übersetzung zum Download. Den Link findest du zusammen mit einem Link zum AutoIt Tutorial in der Box "Wichtige Links" links am Rand der Seite.
    Das Tutorial und das Buch von unserem Admin möchte ich dir besonders ans Herz legen ;).

  • Ah okay , vielen vielen dank euch beiden :D Habs verstanden und kann jetzt sogar die Hilfe gebrauchen .
    By the way , sorry für die blöde Frage ;>

    Kann geschlossen werden :)

  • Zitat

    By the way , sorry für die blöde Frage ;>


    Das war doch keine blöde Frage ;).

    Aber geschlossen werden die Threads hier nicht nachdem das Problem gelöst ist. Stell einfach das Präfix von "Offen" auf "Gelöst" um, indem du deinen ersten Beitrag bearbeitest.