[Anfänger Tutorial] Kleines Tutorial für Autoit

  • Hallo, ich habe hier ein Tutorial geschrieben was einigen Anfängern helfen soll.
    Ich werde es immer wieder Updaten!


    Zitat

    Willkommen zu meinem Autoit Tutorial!
    Zuerst fangen wir mit einem Hallo World Tutorial an!
    Anschließend wird ein GUI Tutorial gezeigt welches das Selbe wie ein Hello World ist,
    jedoch macht ihr die GUI selbst.
    Anschließend noch weitere Funktionen!


    Hello World

    [autoit]


    MsgBox(0, "Hello World Tutorial #1", "Hello World!")

    [/autoit]


    Zitat

    Hier wird eine MessageBox erstellt.
    Eine MessageBox(MsgBox) ist eine Box in der Informationen angezeigt werden.
    Unter Windows wird oft sowas als Fehlermeldung genutzt!



    MsgBox mit Variablen

    [autoit]

    $flag = 0
    $title = "Hello World Tutorial #2"
    $text = "Hello World!"
    MsgBox($flag, $title, $text)

    [/autoit]


    Zitat

    Aus der Mathematik kennt ihr Variablen, hier sind Variablen Platzhalter.
    Auch hier sind Variablen Platzhalter, welche Vorher delkariert werden müssen!
    Deklariert bedeutet sie müssen einem Bestimmten Wert oder Text zugeordnet werden.
    Eine Variablen muss immer mit dem Dollarzeichen ($) Anfangen!
    Hier wird bis auf den Titel das gleiche wie in der Ersten MessageBox ausgegeben.
    Anschliesend wird ein Ist Gleich Zeichen (=) benutzt um der Variable einen Bestimmten Wert zuzuweisen.


    MsgBox mit Array(s)

    [autoit]

    Global $msgbox[4]
    $msgbox[0] = "3"
    $msgbox[1] = "0"
    $msgbox[2] = "Hello World Tutorial #3"
    $msgbox[3] = "Hello World!"
    MsgBox($msgbox[1], $msgbox[2], $msgbox[3])

    [/autoit]



    Array Auslesen mit einer For-Schleife

    [autoit]


    For $i = 1 To $msgbox[0] Step +1
    MsgBox(0, "Array wird ausgelesen aktuell: $msgbox[" & $i & "]", "$msgbox[" & $i & "] = " & $msgbox[$i])
    Next

    [/autoit]



    For Schleife als Countdown

    [autoit]


    For $i = 1 To 10 Step +1
    MsgBox(0, "Countdown",$i & " Die MessageBox schließt automatisch!", 1)
    Next

    [/autoit]


    Zitat

    Hier wird euch wieder einiges neues gezeigt.
    Wie die Vorschleife Funktioniert hast du ja bereits gelernt.
    Hier wird statt dem Array eine Zahl (hier 10) genommen. Das bedeutet er geht die Schleife 10 mal durch.
    In der MessageBox wird Angezeigt bei welcher Zahl er gerade ist. Hier gibts einen neuen Parameter (timeout)
    Das timeout bedeutet das die MessageBox nach x Sekunden schließt (hier nach einer Sekunde)

    (Un-)Endliche While Schleife

    [autoit]

    $i = 1
    While 1
    MsgBox(0, "(Un-)endliche Schleife 1", "Diese Schleife geht unendlich" & @CRLF & "MessageBox schließt automatisch!", 1)
    $i += 1
    If $i = 5 Then ExitLoop
    WEnd

    [/autoit]



    Endliche While Schleife

    [autoit]


    $i = 1
    While $i = 1
    MsgBox(0, "Endliche Schleife 2", "Diese Schleife geht nicht unendlich" & @CRLF & "MessageBox schließt automatisch!", 1)
    $i += 1
    WEnd

    [/autoit]


    Zitat

    Hier wird Die While Schleife solange durchgezogen bis $i nicht mehr 1 ist und das ist nach dem
    $i +=1 nach dem ersten durchlauf.


    Do ... Until Schleife

    [autoit]

    $i = 1
    Do
    MsgBox(0, "Endliche Schleife 3", "Diese Schleife geht nicht unendlich" & @CRLF & "MessageBox schließt automatisch!", 1)
    $i += 1
    Until $i = 5

    [/autoit]


    Zitat

    Die Do ... Until Schleife ähnelt sehr der While Schleife.
    Die Schleife wird solange durchgeführt bis irgendetwas übereinstimmt.
    Hier wird anders wie bei der While Schleife die Bedingung nicht am Anfang sondern am Ende geschrieben.
    Hier haben wir wieder die MessageBox die 5 mal geöffnet wird, da in jedem
    Durchlauf $i um 1 erhöht wird.
    Wenn $i gleich 5 ist wird die Schleife beendet!


    MessageBox-GUI

    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    $Form1 = GUICreate("Hello World Tutorial #4", 258, 62, 541, 352)
    $Button1 = GUICtrlCreateButton("OK", 8, 32, 235, 25, $WS_GROUP)
    $Label1 = GUICtrlCreateLabel("Hello World!", 8, 8, 62, 17)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $Button1
    MsgBox(0, "Hello World Tutorial #4", "Hello World!")
    ExitLoop
    EndSwitch
    WEnd

    [/autoit]



    Rechnen

    [autoit]

    $a1 = InputBox("Bitte gib eine Zahl ein", "Gib hier eine Zahl ein Die Höher als 100 ist:")
    $a2 = InputBox("Bitte gib eine Zahl ein", "Gib hier eine Zahl ein Die kleiner als 10 ist:")
    $a3 = $a1 + $a2
    $a4 = $a1 - $a2
    $a5 = $a1 * $a2
    $a6 = $a1 / $a2
    MsgBox(0, "Rechnung Beendet", "Folgendes wurde berechnet: " & @CRLF & "Erste Zahl + Zweite Zahl = " & $a3 & @CRLF & "Erste Zahl - Zweite Zahl = " & $a4 & @CRLF & "Erste Zahl * Zweite Zahl = " & $a5 & @CRLF & "Erste Zahl / Zweite Zahl = " & $a6 & @CRLF )

    [/autoit]


    Kommentare

    [autoit]


    ;Ein einzeiliges Kommentar

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

    #cs
    Ein
    mehrzeiliges
    Kommentar
    #ce

    [/autoit]
    Zitat

    Hier haben wir Kommentare die dir und anderen helfen den Code zu verstehen.
    mit ; fängst du ein Einzeiliges Kommentar an.
    Mit # und cs ein Mehrzeiliges und mit # und ce beendest du das mehrzeilige Kommentar wieder.


    So, ich hoffe euch hat das Tutorial gefallen, ich werde nach und nach das Tutorial erweitern!

  • Endliche While Schleife

    [autoit]

    While $i = 1
    MsgBox(0, "Endliche Schleife 2", "Diese Schleife geht nicht unendlich" & @CRLF & "MessageBox schließt automatisch!", 1)
    $i += 1
    WEnd

    [/autoit]

    Testest du deine Beispeile auch? Oder wie erklärst du dann diese Fehlermeldung:

    mfg autoBert

  • Hallo ProblemUser,

    Zitat

    Array Auslesen mit einer For-Schleife

    [autoit]

    For $i = 1 To $msgbox[0] Step +1
    MsgBox(0, "Array wird ausgelesen aktuell: $msgbox[" & $i & "]", "$msgbox[" & $i & "] = " & $msgbox[$i])
    Next

    [/autoit]

    Hier reicht schon:

    Zitat

    Obiges Array Auslesen mit einer For-Schleife

    denn ohne dieses das gleiche Problem.

    Auch solltest du dich an die hier vorgeschlagenen Namenskonventionen halten: http://www.autoitscript.com/autoit3/udfs/UDF_Standards.htm

    mfg autoBert

    • Offizieller Beitrag

    Hi,
    dein Engagement inallen Ehren, jedoch denke ich, dass unser Wikibereits sehr gut auf Anfänger zugeschnitten ist.
    Auch das Buch von peethebee ( AutoIt leicht gemacht ) ist eine große Hilfe. Zu Teilbereichen existieren zudem im Forum noch weitere Tutorial.
    Daher weiß ich nicht ob es besonders sinnvoll ist, weitere Tuts, die im selben Themenbereich ansässig sind, zu publizieren.


  • Auch solltest du dich an die hier vorgeschlagenen Namenskonventionen halten: http://www.autoitscript.com/autoit3/udfs/UDF_Standards.htm


    Warum? Weil Microsoft das so macht, oder wieso. In AutoIt kann man die Variablen problemlos von Funktionen unterscheiden (dank $) und Klassen gibt es nicht. Also kommt da schonmal nichts durcheinander. Anhand der Variablennamen kann man doch eigentlich alles erkennen. $name wird wohl ein String sein, $file ein filehandle und $wnd3 ein GUIHandle.

    • Offizieller Beitrag

    Warum? Weil Microsoft das so macht,


    Es ist eine Empfehlung. Falls du eine UDF schreiben möchtest und diese Eingang in die AutoIt-Bibliothek finden soll, ist es erforderlich einen gemeinsamen Nenner für die Nomenklatur zu finden. Und die angegebenen Standards sind doch recht plausibel. ;)

  • Leichenfledderer ^^

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Du hast gesehen, dass der letzte Eintrag hier von 2011 ist?
    Das Echo auf Deine Nachricht wird also überschaubar sein.

  • Gun-Food 1. März 2024 um 09:55

    Hat das Thema geschlossen.