Angepinnt AutoIT für Einsteiger

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • AutoIT für Einsteiger

      Hallo liebe Godlikerz,
      Nun, da es hier noch kein Tutorial für Einsteiger gibt, dachte ich mir, ich mache eins.
      Also fange ich mal an

      [FELD="Inhaltsverzeichnis"]
      1. Was ist AutoIT
      2. Hallo Welt
      3. Variablen
      4. Arrays
      5. Bedingungen
      6. Das erste Programm: Ein einfacher Rechner
      7. GUIs
      8. Schleifen
      9. TCP
      10. Funktionen
      11. UDFs
      12. Nützliche Links
      13. Credits[/FELD]

      [COLOR="Yellow"][SIZE="5"]1. Was ist AutoIT:[/SIZE]

      Autoit ist eine BASIC ähnliche Sprache und wurde 1999 von Jonathan Bennett erfunden. Ursprünglich war AutoIT dazu gedacht, Aufgaben auf vielen tausenden PCs zu automatisieren. Durch die einfache Syntax lassen sich sogar Spiele, Chats usw entwickeln. AutoIt Programme werden meistens als Virus erkannt, diese haben aber alle ein AutoIt in der Bezeichnung. Dies basiert darauf, dass man mit AutoIt leider auch Viren entwickeln kann.
      Für dieses Tutorial brauchen wir folgende Dinge:

      Das AutoIt Grundpaket: DOWNLOAD AUTOIT CORE
      Enthalten ist:
      -Der AutoIt Core
      -Einige Skriptbeispiele
      -UDFs (mehr dazu später)
      -Eine Lightversion von Scite (Scintilla Text Editor)

      Das erweiterte Scitepaket: DOWNLOAD SCITE4AUTOIT
      Enthalten ist:
      -Eine erweiterte Sciteversion für Autoit, mit vielen nützlichen Tools wie Tidy, Koda Formdesigner usw.

      Nicht unbedingt gebraucht, aber nützlich sind folgende Sachen:

      -Organize Includes DOWNLOAD
      -Die deutsche Hilfe: DEUTSCHE HILFE [/COLOR]

      [FELD="Hinweis:"]Es wäre ratsam, sich einen Ordner Autoit auf dem Desktop oder so anzulegen und darin einen Ordner Tutorial. Dies hilft der Organisation.[/FELD]

      [COLOR="Cyan"][SIZE="5"]2. Hallo Welt:[/SIZE]

      Das HalloWelt Programm ist sozusagen der Grundstein jedes Entwicklers.Zunächst öffnen wir unseren Ordner, den wir vorhin angelegt haben und machen einen Rechtsklick darin. Danach auf Neu und dann auf AutoIt v3 Script. Die nun erscheinende Datei nennen wir HalloWelt (manche müssen vielleicht noch ein .au3 dabeisetzen, sofern es schon im dateinamen der angelegten Datei ist)
      Nun öffnen wir diese datei per Doppelklick.
      Es sollte sich ein Scitefenster öffnen, indem schon etwas steht. Dies sind Kommentare. Kommentare sind Zeilen, die später vom Compiler ignoriert werden. Sie dienen lediglich zum notieren, was das Tool an dieser Stelle macht, sollten aber nicht zu oft genutzt werden.
      Nun markieren wir alles und löschen es. Danach schreiben wir folgendes in die Datei:

      Quellcode

      1. MsgBox(0,"Hallo","Hallo Welt")

      Erklärung:
      MsgBox: Der Befehl
      0: der Flag, kann in der Hilfe nachgelesen werden, welche es noch gibt.
      "Hallo": Der Name, der später in der Titelleiste der Box kommt
      "Hallo Welt": Der Text der MsgBox

      Nun drücken wir F5 und unten in Scite öffnet sich ein kleines Fenster, in der einige Sachen stehen.
      Normalerweise sollte nun unsere MsgBox erscheinen und der Inhalt ist Hallo Welt.[/COLOR]

      [COLOR="Red"][SIZE="5"]3. Variablen:[/SIZE]

      Variablen kann man sich wie Töpfe vorstellen. In jeden Topf passt genau eine Sache. wenn wir später dem Topf eine andere Sache zuweisen wollen, müssen wir zuerst den alten Inhalt heraustun.
      Deklarieren d.h bereitmachen tut man Variablen über folgende Commands:

      Quellcode

      1. Dim
      2. ReDim
      3. Local
      4. Global

      Aber normalerweise sollte es reichen, eine Variable zu deklarieren, indem man ihr einen Wert zuweist.

      Quellcode

      1. $variable=1

      [FELD="Hinweis:"]Variablen dürfen keine Umlaute wie ä,ö,ü enthalten[/FELD][/COLOR]

      [COLOR="Lime"][SIZE="5"]4. Arrays:[/SIZE]

      Arrays sind eine weiterentwickelte Form von Variablen.
      Normalerweise kann man einer Variable nur einen Wert zuweisen.
      Mit einem Array kann man der Variable mehrere Werte zuweisen.
      Über Arrays gibt es einen guten Guide von *electriZer*, deshalb brauche ich hier nicht weiter drauf einzugehen: LINK
      [FELD="Merke:"]Ein Programmierer zählt immer von 0 bis 9[/FELD][/COLOR]

      [COLOR="Orange"][SIZE="5"]5. Bedingungen:[/SIZE]

      Bedingungen werden im deutschen normalerweise ja mit Wenn, dann eingeleitet.
      In Autoit Nutzt man dafür If, Then .
      Ein einfaches Beispiel für eine Bedingung:

      Quellcode

      1. $1=1
      2. $2=2
      3. If $1 > $2 Then ;wenn $1 größer als $2, dann...
      4. Msgbox(0,"","$1 ist größer")
      5. Else ;ansonsten
      6. MsgBox(0,"","$2 ist größer")
      7. EndIf

      Eine Bedingung kann man noch mit folgenden Parametern erweitern:

      Quellcode

      1. Not
      2. Or
      3. And

      Bei Not heißt es so: Wenn nicht.
      Bei Or muss eine der gestellten Bedingungen zutreffen
      Bei And müssen alle Bedingungen zutreffen[/COLOR]

      [COLOR="Magenta"][SIZE="5"]6. Das erste Programm: Ein einfacher Rechner[/SIZE]
      Legt im Ordner Tutorial eine neue Skriptdatei an. Nennt diese "einfacher rechner" (ohne "")
      Diese Aufgabe sollt ihr nun selbst lösen. Nehmt ausser dem gelernten noch den befehl InputBox.
      Für alle, die die Lösung nicht wissen, habe ich hier ein Script vorbereitet:
      "Lösung"

      Quellcode

      1. $zahl1 = InputBox("EINGABE", "Gib eine Zahl ein")
      2. $zahl2 = InputBox("EINGABE", "Gib noch eine Zahl ein")
      3. $op = InputBox("EINGABE", "Wähle die Rechenart.")
      4. If $op = "+" Then
      5. $erg = $zahl1 + $zahl2
      6. MsgBox(0, "", "das Ergebnis lautet" & $erg);um die variable $erg anzeigen zu lassen, d.h ihren Wert auszugeben, benutzt man den Parameter &
      7. ElseIf $op = "-" Then
      8. $erg = $zahl1 - $zahl2
      9. MsgBox(0, "", "das Ergebnis lautet" & $erg)
      10. ElseIf $op = "*" Then
      11. $erg = $zahl1 / $zahl2
      12. MsgBox(0, "", "das Ergebnis lautet" & $erg)
      13. ElseIf $op = "/" Then
      14. If Not $zahl2 = 0 Then;wenn $zahl2 nicht 0 ist
      15. $erg = $zahl1 / $zahl2
      16. MsgBox(0, "", "das Ergebnis lautet" & $erg)
      17. Else
      18. MsgBox(64, "", "Durch 0 darf man nicht dividieren");die 64 ist der Flag, damit eine Sprechblase mit einem ! kommt
      19. EndIf
      20. EndIf
      Alles anzeigen
      [/COLOR]

      [COLOR="Blue"][SIZE="5"]7. GUIs :[/SIZE]
      Auch zu GUIs gibts einen guten Guide, diesmal von mir: KLICK
      Deshalb brauche ich auch hier nicht weiter drauf eingehen[/COLOR]

      [COLOR="Plum"][SIZE="5"]8. Schleifen: [/SIZE]

      Schleifen sind Teile im Code, welche immer wieder ausgeführt werden.
      Es gibt 3 Arten an Schleifen:

      8.1 Die While Schleife:
      Die While Schleife beginnt immermit

      Quellcode

      1. While 1;der inhalt wird jede millisekunde ausgeführt

      und endet mit

      Quellcode

      1. WEnd

      Der Inhalt der Schleife wird ohne Unterbrechung ausgeführt, solange das Programm läuft oder man

      Quellcode

      1. ExitLoop
      benutzt.

      8.2 Die Do Until Schleife:
      Diese Schleife wird nur solange ausgeführt, bis die unter Until angegebene Bedingung wahr ist.
      zum Beispiel:

      Quellcode

      1. $erg=0
      2. Do
      3. $erg +=1
      4. Until $erg=10;wird solange ausgeführt, bis $erg 10 ist


      8.3 Die For Schleife
      Die For-Schleife wird nur solange durchlaufen bis sie x-mal durch ist.
      Nützlich zb dann, wenn man ein Array hat und mit jedem Element die gleiche Aktion durchführen will.
      z.B:

      Quellcode

      1. Dim $array[2]
      2. $array[0]="Hallo"
      3. $array[1]="Wie gehts"
      4. For $i=0 To $array[2]
      5. Msgbox(0,"",$array[$i]
      6. Next

      Nun erscheinen zwei MsgBoxen, einmal mit Hallo un einmal mit Wie gehts.
      Erklärung
      $i=ist die zählervariable
      $array[$i] :hier wird das array genommen, welches den gleichen Index hat, wie $i
      Next ;beendet den durchlauf und fängt einen neuen an, $i wird um 1 erhöht.
      [/COLOR]

      [COLOR="PaleGreen"][SIZE="5"]9. TCP:[/SIZE]
      Hier gibts auch wieder......Na klar, nen Guide: LINK[/COLOR]

      [COLOR="DarkOrchid"][SIZE="5"]10. Funktionen:[/SIZE]

      Funktionen kurz Funcs^^ sind Teile des Programms, die genutzt werden, um einen bestimmten Bereich an Programmcode nur einmal zu schreiben, aber immer wieder auszuführen.
      So benutzt man eine Func:

      Quellcode

      1. Func _test();ganz wichtig: die (), das _ ist optional, dient aber der besseren unterscheidung im Code
      2. Msgbox(0,"","Hi wie gehts")
      3. Endfunc
      4. ;nun reicht ein _test() und die func wird aufgerufen
      [/COLOR]

      [COLOR="PaleTurquoise"][SIZE="5"]11. UDFs:[/SIZE]
      UDFs sind [COLOR="Red"]User Definied Functions[/COLOR], d.h User Definierte Funktionen.
      Sie erweitern die Standartfunktionen von Autoit noch um weitere Funktionen.
      Wenn man eine Funktion aus einer anderen Datei benutzen will, nimmt man folgenden Befehl:

      Quellcode

      1. #include <datei.au3>

      Dies sorgt dafür, dass der Compiler den Inhalt der datei.au3 ins Script kopiert, um die enthaltenen Funktionen zu nutzen.[/COLOR]

      [FELD="12. Nützliche Links"]
      - AutoIt Script Home Page ----> die offizielle Homepage von AutoIt
      - Portal - .: autoit.de :. - Das deutsche AutoIt-Forum ----> das deutsche AutoIt Forum[/FELD]

      [FELD="13. Credits"]
      -*electriZer* : für die TCP und Array Guides
      - me: für den Rest[/FELD]

      [FELD="Special Thanks:"]
      - xDrago : fürs Sticky machen[/FELD]

      Dies war mein Einsteigerguide.
      Hoffe er gefällt euch und hilft vorallem.
      Bitte vergesst nicht, mir ein THX und/oder Karma zu geben

      Euer
      internetfreak
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • erstmal danke für die gute bewertung
      habe schliesslich mindestens ne stunde drangesessen
      falls noch was gutes kommt, werde ich es evt hier reinsetzen

      @eline
      sag mir doch bitte, was ich ändern soll, dann würde ich es tun
      damit meine ich wegen der farbe

      ich selbst finde den guide auch sehr klasse, denn autoit ist so hervorragend, wenn man schnell programmieren lernen will. ( ich hab 2 tage gebraucht, schon konnte ich einiges, wie zb die grundzüge des taschenrechners)
      ausserdem bringt es die passenden vorrausetzungen für andere skriptsprachen, da es viele gemeinsamkeiten wegen der syntax hat
    • mal ne frage xD ?
      bin ja vol der anfänger wie jetz glaub ich so einige hier wissen ^^
      aber was ist eine bedingung

      $1=1
      $2=2

      If $1 > $2 Then ;wenn $1 größer als $2, dann...
      Msgbox(0,"","$1 ist größer")
      Else ;ansonsten
      MsgBox(0,"","$2 ist größer")
      EndIf


      ehm ich weis nicht was das bringt wan ist den $1 größer als $2 xD wen man das ausführt erscheint eine msgbox mit der anchricht $ ist größer ._. ich versteh das nicht ?.?
    • Assoult;16688 schrieb:

      mal ne frage xD ?
      bin ja vol der anfänger wie jetz glaub ich so einige hier wissen ^^
      aber was ist eine bedingung



      ehm ich weis nicht was das bringt wan ist den $1 größer als $2 xD wen man das ausführt erscheint eine msgbox mit der anchricht $ ist größer ._. ich versteh das nicht ?.?


      $1=1
      $2=2


      Der Code (String or whatever) ist $1=1 das sollte klar sein. Es geht auch $1=affe oder ähnliches.

      If $1 > $2 Then
      Msgbox(0,"","$1 ist größer")
      Else ;ansonsten
      MsgBox(0,"","$2 ist größer")
      EndIf


      Normalerweise wird alles abgeackert. Bei einer If (Wenn) Schaltung muss sich das Script entscheiden wann es etwas tut.

      [COLOR="DeepSkyBlue"]If $1 > $2 Then[/COLOR] frägt das script ob der String $1 größer ist als $2.

      Wenn es so ist kommt die MsgBox $1 ist größer (ist es aber nicht, 2 ist größer als 1). Deshalb kommt jetzt die Else Schaltung. Das sagt dem Script was er tun soll, falls das If nicht so ist.

      Hier gibt die MsgBox aus, dass $2 größer ist und das stimmt auch. Wenn man nach dem Else nichts eingibt (bzw es weglässt?) unternimmt er gar nichts wenn 1 kleiner ist als 2.

      Das ist zum Beispiel nützlich um dem Script zu sagen, was er machen soll wenn eine Anwendung gerade läuft (notepad oder so).
    • @assoult
      if fragt, obs so ist, wenn ja, dannwürd der code benutzt direkt unter if
      ansonsten nimmt er als ausweg dann den else zweig, der zb dann nen fehlermeldung beinhalten kann

      @all
      also erstmal thx für die thx und auch die netten karma
      ist sehr lieb von euch
      damit kann ich auf IG abblitzen, da hätte ich nie karma für bekommen
      godlikerz ist wirklich besser als IG
      hätte gerne noch mehr bewertungen hier im thread
    • Assoult;16698 schrieb:

      nochma ob ichs verstanden hab bei dem über else fragt er ob es größer ist weilees nicht so ist musst du nach else eingeben wie es richtig ist wen du das nicht tuen würdest käme keine nachricht oO ?


      Bei else gibts du ein was er tun soll, wenn es nicht richtig ist. Verbessern muss er es nicht. Wenn nach else nichts steht macht er auch nichts.

      Wenn es vormittag ist, schreibst du guten morgen. Wenn nicht, schreibst du guten tag.

      Nach dem If frägst du die Zeit ab. Dann kommt, was er tun soll wenn es so ist. Nach dem Else, was er tun soll wenn es nicht so ist (wenn nichts da steht, macht er nichts). EndIf schließt die Bedingung.

      lg