• Hallo Leute!
    Ich habe für euch ein feines Example gescriptet.
    Es ist als Dateianhang eingebettet. Als .au3
    Darin geht es um Abfragen von Wörten in einer InputBox,
    es geht um Einträge in eine Liste zu fügen und Statusleisten zu 100% bringen.

    Wenn ihr verbesserungsvorschläge habt, antwortet!

    MfG Jonathan :rock:

  • Du solltest unbedingt "Mit dem Befehl kannst du jemanden reinlegen!" raus nehmen, da es zu Scripts animiert, die gegen die Forenregeln verstoßen.
    (Gerade bei Anfängern!)

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!

  • Also mien lieber Namensvetter :P

    Da sind aber ienige Gravirende Fehler drinnen!!
    z.b.

    Zitat
    [autoit]

    #include <GUIConstants.au3> ;Eine Datei von Koda (Wenn ihr AutoIT nicht installiert habt, könnt ihr die Anwendung nicht schliessen!)

    [/autoit]


    Erstmal ist die Datei nciht Von Koda
    Dann kann man das Script erst garnicht starten wenn man autoIt nicht installiert hat
    sollte die Datei als .exe vorliegen, kann man es trotdzem startet, da dei GUIConstants.au3 mit in die .exe geschrieben wird

    Zitat
    [autoit]

    GUIGetMsg() ;Unbekannter Begriff von Koda

    [/autoit]

    Nein, nciht von Koda! auszug aus der Hilfe (soltest mal F1 drücken) Fragt die GUI nach aufgetretenen Ereignissen (events) ab.

    Zitat
    [autoit]

    If $Text <> "AutoIT" Then ;Auf Deutsch: Wenn in $Text (Das was oben steht) das Wort "AutoIT" eingegeben wird, dann

    [/autoit]


    <> heißt ungleich :!: also: wenn $text ungleich dem Wort AutoIt

    Zitat
    [autoit]

    WinClose("Unbennant - Editor");Wenn jemand es geschlossen hat...

    [/autoit]

    Der befehl schießt das Fenster, aber fragt nciht ab, ob es geschlossen wurde!

    Zitat
    [autoit]

    Func _close() ;Die Funktion die das Programm schliesst
    WinClose("Kleines Example") ;Der Befehl der das Programm schliesst.
    MsgBox(64,"Danke","Danke, das du mein Example genutzt hast!")
    EndFunc

    [/autoit]

    Irgendwie fehlt da der Befehl Exit, weil er ja sonst wieder zurück in die While springt. du könntest diese Funktion auch mit Case $GUI_EVENT_CLOSE verknüpfen

  • was ist denn?

    du hast um verbesserungsvorschläge gebeten

    vll. solltest dus korrigieren

  • Hallo button421,

    diese Änderungen solltest du einbauen:

    [autoit]

    Func _deactivateslider() ;Die Funktion für das deaktivieren des Sliders
    ;$Slider1 = GUICtrlCreateSlider(56, 80, 113, 25) ;Er erstellt einen Slider warum du hast doch schon einen?? der Originale wird sonst nie deaktiviert
    GUICtrlSetLimit($Slider1, 10, 0) ;Er sagt dem Slider das er von 0-10 geht.
    GUICtrlSetState($Slider1, $GUI_DISABLE) ;Legt fest, das er aktiviert ist.
    MsgBox(64,"Deaktiviert!","Slider ist deaktiviert!") ;Zeigt mir, das er deaktiviert ist.
    EndFunc

    [/autoit][autoit]

    Func _send() ;Die Funktion von Schreibe etwas in den Editor rein
    Run("NOTEPAD.exe") ;Er fürt den Editor aus
    WinWaitActive("Unbenannt - Editor") ;Er wartet bis er Aktiv ist (ist er nach dem Starten)
    Send("Der Befehl Send schreibt etwas hinein" & @CR & "was man selber gar nicht hinein geschrieben hat.") ;Er schreibt das hinein
    WinWaitNotActive ("Unbenannt - Editor") ;Er wartet bis es nicht mehr existiert
    ;MsgBox(64,"Guter Trick!","Mit dem Befehl kannst du jemanden reinlegen!") ;... zeigt er mir eine Meldung.
    EndFunc ;Beendet die Func

    [/autoit]

    WinWaitClose hat bei mir das ganze Programm gestört, alle Buttons etc. haben nicht mehr reagiert.

    Zitat

    wisst ihr eigentlich, ob es in AutoIT einen Jump to Function Befehl gibt? :?:

    nein,

    mfg (Auto)Bert

  • In Scite gibt es einen Jump to Function Befehl (Strg+j)
    Besonders nützlich wenn man in UDFs sucht.
    Bin mir aber nicht sicher, ob es das ist was du suchst ;)

    21 is only half the truth.

  • Zitat

    In Scite gibt es einen Jump to Function Befehl (Strg+j)
    Besonders nützlich wenn man in UDFs sucht.
    Bin mir aber nicht sicher, ob es das ist was du suchst ;)

    Ich glaube er sucht eher so ne goto-Funktion wie bei C++

  • So eine Funktion gibt es nicht, du wirst wohl alles mit Func und Call bzw. "normalem" Aufruf hinkriegen müssen... Steht auch in der Hilfe, in den FAQ (Nummer 4):

    Spoiler anzeigen

    AutoIt4. Where is the "goto" command?
    Gone. It's evil. No, you can't ask why - it just is. It's like that lump of rock they find in the microwave at the end of the film Time Bandits :)

    AutoIt v3 features most of the common "loops" in use today and with these Goto is no longer required. Look up While, Do, For, ExitLoop, ContinueLoop and Functions for the modern way of doing things :) And while you are looking at help file sections check out these on loops, conditional statements and functions. I promise you, once you have got the hang of such things you will be able to script in virtually any other language within a couple of minutes.

    Just to get you started, the most basic use of Goto in version 2.64 was an infinite loop like:
    :mylabel
    ...do something...
    ...and something else...
    goto, mylabel

    A simple v3 version of that is a While loop that is always "true".
    While 1 = 1
    ...do something...
    ...do something else...
    Wend