Wenn beenden - MsgBox

  • Moin Leute,
    ich weiß, ist bestimmt dumm, aber es gab doch einen Befehl mit dem man immer, wenn das Script endet etwas ausführen konnte. Sprich: Ich drücke auf X oder Ende, was auch immer, und dann kommt noch z.B. eine MsgBox. (Ich hoffe das ist verständlich)
    Ich wusste ihn mal, aber jetzt nach meiner Gehirnblutung hab ich ziemlich viel vergessen. Und Google hat mir auch nicht geholfen. Ich weiss nicht nach was ich da suchen muss.
    Könnt ihr mir helfen?

    Mit freundlichen Grüßen,
    Schnieker

  • Wobei die Schreibweise "Funktion" nur aus Gründen der Abwärtskompatibilität gewählt werden sollte, denn die neueren AutoIt-Versionen bieten dafür den Syntax Funktion an. Man beachte: Die Klammern fehlen! So wird auch direkt im Quelltext klar ersichtlich, dass es sich um eine Funktionsreferenz und nicht um eine Zeichenkette handelt. IsFunc funktioniert dann auch richtig.
    Nochmal in der Übersicht:

    [autoit]


    ;FALSCH: Die Funktion wird direkt ausgeführt, OnAutoItExitRegister erhält nur den Rückgabewert
    OnAutoItExitRegister(Funktion())

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

    ;RICHTIG: Der Funktionsname wird als String übergeben
    ;ALLERDINGS nur wegen Abwärtskompatibilität zu empfehlen
    OnAutoItExitRegister("Funktion")

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

    ;RICHTIG: Die Funktion wird als Funktionsreferenz übergeben
    OnAutoItExitRegister(Funktion)

    [/autoit]
  • Gut zu wissen :)
    Gibt es eine Möglichkeit, an der Stelle Parameter für die Funktion hinzuzufügen?
    Nach dem Motto

    [autoit]

    Register("Funktion /Param1 /Param2")

    [/autoit]


    Oder so?

    Spoiler anzeigen

    Überraschung!


    MfG Donkey

  • Nein, das ist nur indirekt über eine Dummy-Funktion möglich.

    [autoit]


    OnAutoItExitRegister(Dummy)

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

    While True
    Sleep(20)
    WEnd

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

    Func Dummy()
    Funktion($arg1)
    EndFunc

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

    Func Funktion($arg1)
    ConsoleWrite($arg1)
    EndFunc

    [/autoit]

    Und - woher auch immer diese Frage kommt... Ja. Jede natürliche Zahl lässt sich als Produkt von n Primzahlen darstellen. Das nennt man Primfaktorzerlegung. Im Umkehrschluss folgt daraus, dass jede natürliche Zahl mindestens eine Primzahl als Teiler besitzt.
    Selbstverständlich gilt jeweils die Ausnahme für die 1. ^^