Nachdem man sich die AutoIT-Einführung beziehungsweise die –Basics angesehen hat, möchte ich in folgendem Beitrag bei den ersten Gehversuchen mit der Sprache unter die Arme greifen.
AutoIT bietet im Vergleich zu anderen Sprachen einen ordentlichen Funktionsumfang. Angefangen bei Datei-, Ordner- und Datenträgermanagement, über Netzwerkfunktions-, Registry- und Stringmanagement, bis hin zu Fenster- und GUImanagement.
Es deckt ziemlich jeden Bereich einer modernen Programmiersprache ab, egal ob es um das Handlen von Textdateien oder das zerstückeln von Strings geht. Mittlerweile unterstützt AutoIT in der aktuellen Beta auch Reguläre Ausdrücke (Regular Expressions).
Nun, beginnen wir mit ein paar grundsätzlichen Informationen zur Sprachlogik.
Kommentare
Kommentare werden in AutoIT nicht wie bei PHP (mit # oder /* und */) gekennzeichnet. Einzeilige Kommentare werden mit einem „;“ (Semikolon) eingeleitet, mehrzeilige mit „#comments-start“ und „#comments-end„.
1 2 3 4 5 6 7 8 |
; Eine einfache Messagebox MsgBox(0, "Zahlen", "12345") #comments-start Ein mehrzeiliger Kommentar #comments-end |
Wo ich grade bei Kommentaren bin: Kommentare sind wichtig, und sollten deshalb auch benutzt werden. Natürlich ist es nicht nötig, wie im obigen Beispiel, einen Kommentar zu vermerken, der beschreibt, dass in der nächsten Zeile eine einfache Messagebox benutzt wird. Sinn machen Kommentare, um beispielsweise lange Code-Blöcke in kleinere Container zu verpacken. Man nutzt die Kommentare sozusagen als „Überschriften“, die einzelne Blöcke unter dieser zusammenfassen.
Natürlich werden Sie auch verwendet, um Anmerkungen zu erstellen, welchen Typs ein zurückgegebenes Result ist, oder wie genau eine Methode oder Funktion arbeitet.
Wo ist das „;“ am Ende einer Zeile?
Das gibts nicht! Semikolon (-s ? ;)) werden, wie oben beschrieben, für Kommentare verwendet. In AutoIT ist es nicht nötig, einen Befehl mit „;“ als „Hier zu Ende“ zu kennzeichnen. Ein Befehl ist am Ende der Zeile zu Ende. Natürlich können dadurch nicht mehrere Befehle hintereinander stehen, sodass man für jeden Befehl eine neue Zeile anfangen muss. Dies hält aber zumindest den Code „sauber“.
Es ist auch möglich, einen Befehl, der für eine Zeile zu lang ist (oder, den man in eine neue Brechen möchte um alle Parameter einer Funktion auf einem Bildschirm – ohne scrollen – zu sehen. Dies wird durch ein einfaches „_“ bewerkstelligt.
Ein Beispiel:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
MsgBox(4096, "Test", "Text") MsgBox(4096, "Test2", "Text2") sleep(3000) MsgBox(2048, "Eine Messagebox mit Text", "Lorem ipsum _ dolor sit amet, consectetuer adipiscing elit. _ Phasellus congue eleifend orci. Integer nec dolor ullamcorper _ mi varius luctus. Pellentesque vitae sapien. Vivamus porttitor _ laoreet quam. Sed sagittis augue sit amet eros. _ Nulla facilisi. Integer lectus. Sed non purus. _ Nam consequat sodales mi. Nunc urna justo, interdum ac, _ volutpat eu, rhoncus eu, quam. Morbi aliquam magna eu est.") |
Variablen
Als Variablen werden sog. Platzhalter bezeichnet, welche einen bestimmten Wert zugewiesen bekommen können. Man kennt es aus der Schulmathematik: x = 5, y = 10. x+y = 16.
Man weist also einer Variable einen bestimmten Wert zu. Variablen können miteinander „interagieren“, also beispielsweise kann man zwei oder mehrere Variablen miteinander multiplizieren oder durcheinander Teilen. Vorrausgesetzt natürlich, Ihnen wurde eine Zahl zugewiesen.
Es gibt zwei Wege, mit Variablen umzugehen. Einmal den einfachen, schnellen Weg – ohne Deklaration – und einmal den etwas „längeren“, korrekten. Ein Beispiel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
; Die "einfache" Methode: $variable = "wert" $asdf = 5 $x = $asdf ; Mit Deklaration Dim $var1 Dim $var2, $var5 Dim $var3 = "Dies und das" Dim $waslos = $var3 ; Zusätzlich dazu können Variablen auch ; global gekennzeichnet werden Global Dim $pizza = "Schinken" |
AutoIT besitzt nur einen Datentyp – während es in Sprachen wie C++ Integer, Double, Float und Char gibt, gibt es in AutoIT nur den Typ „Variant“. Werden zwei Variablen mit Zahlenwerten miteinander addiert, werden die entsprechenden Variableninhalte als Zahlen interpretiert. Das selbe gilt natürlich für Characters oder Strings.
Im nächsten Teil werde ich näher auf die Schleifen, If-Then-Else-Anweisungen und Funktionen eingehen.