Schon etwas älter aber trotzdem spannend .... Sonderregelung für EXIT ??

  • Hallo,

    ich bin beim Stöbern über diesen Thread und vor allem über die folgenden Zeilen gestolpert:

    Func save() ;speichert die Koordinaten
    If $file = -1 Then Exit MsgBox(0, 'Maus-Koordinaten', 'Datei konnte nicht geöffnet werden!') ;überprüft ob die Datei schon vorhanden ist
    FileWrite($file, $pos[0] & ", " & $pos[1] & @CRLF)
    FileClose($file)
    EndFunc ;==>save

    Laut Hilfe darf bei if...then ohne endif nur eine Anweisung folgen, hier sind es aber zwei (EXIT und MSGBOX) ..... und es klappt !!! ?(

    Ist das eine Sonderregelung für EXIT, oder woran liegt das??

    bin gespannt ......

  • Exit hat einen optionalen Parameter: den ExitCode. Für diesen kann man eine MsgBox einfügen, wenn man will.
    Dann beendet sich das Programm mit dem Rückgabewert der MessageBox als ExitCode. (Bei Exit allein ist der 0)
    Wer die Hilfe ließt, ist klar im Vorteil ;)


  • Exit hat einen optionalen Parameter: den ExitCode. Für diesen kann man eine MsgBox einfügen, wenn man will.

    Wer die Hilfe ließt, ist klar im Vorteil ;)


    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    X( X( Danke für den Tip, aber Dein Vorwurf trifft mich zutiefst, gerade da ich in den verschwundenen Tiefen dieses Forums nach Wahr-/Weisheit suche, um die "Lese-Können-Könige" nicht mit unwürdigen Fragen zu stören !! X( X(

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    aber mal im Ernst, hier zur Erläuterung als Ergänzung noch der deutsche Hilfe-Text (den ich auch manchmal zu Rate ziehe):

    Original : Parameters

    return code [optional] Integer that sets the script's return code. This code can be used by Windows or the DOS variable %ERRORLEVEL%. The default is 0. Scripts normally set an errorlevel of 0 if the script executed properly; error levels 1 and above typically indicate that the script did not execute properly.


    Deutsch : Parameter

    return code [optional] Integer, der den Rückgabewert des Skriptes setzt. Dieser Wert kann von Windows oder über die DOS-Variable %ERRORLEVEL abgefragt werden. Standard ist 0. Skripte setzen das Errorlevel normalerweise auf 0, wenn das Skript ordnungsgemäß ausgeführt wurde. Werte größer als 0 signalisieren im Allgemeinen Fehler in der Skriptausführung.


    :thumbup: Perfekt übersetzt, hätte ich nicht besser gekonnt : return code [optional] Integer


    ABER : wie kann man von einem Integer-Wert auf eine MSGBOX schliessen ----- nur so für die Zukunft ??? Glaskugel ???

    CU

    P.S. Oscar .... Danke für das Bsp., probierst Du sowas einfach aus oder macht das die Erfahrung??


  • X( X( Danke für den Tip, aber Dein Vorwurf trifft mich zutiefst, gerade da ich in den verschwundenen Tiefen dieses Forums nach Wahr-/Weisheit suche, um die "Lese-Können-Könige" nicht mit unwürdigen Fragen zu stören !! X( X(

    Sollte kein Vorwurf sein :( Solche Sachen stehen manchmal nicht im Forum, da sie in der Hilfe erklärt werden und es bisher niemanden so sehr interessiert hat. Und Typen sind in AutoIt ziemlich egal, da sie automatisch umgewandelt werden. Wenn die Umwandlung nicht möglich ist, gibt es eben 0.

    • Offizieller Beitrag

    P.S. Oscar .... Danke für das Bsp., probierst Du sowas einfach aus oder macht das die Erfahrung??

    Kann ich gar nicht mehr so genau sagen. Hab ich wahrscheinlich mal beim Studium anderer Quellcodes gesehen und dann einfach ausprobiert.

    Man kann die Befehle eigentlich beliebig verschachteln. Man muss nur darauf achten, dass der vorherige Befehl mit dem Returnwert des Nachfolgers zurechtkommt.
    Wenn ich mich recht erinnere, gab/gibt es aber bestimmte Kombinationen die, obwohl die Parameter stimmen, nicht funktionieren. Mir fällt aber momentan kein Beispiel ein.