..:: Vorwort ::..
AutoIt wurde 1999 von Jonathan Bennett erfunden. Diese kleine aber feine Programmiersprache ist sehr scriptlastig nicht wie bei VB oder C# von einem Form Designer abhängig. Diese sprache ist seehr leicht zu lernen und bietet genug potenzial um damit auch Chats spiele etc. zu programmieren ^^.
..:: Vorteil ::..
Der große Vorteil von Autoit gegenüber anderen Programmiersprachen ist das AutoIt eine seeehr gute Helpfile(F1) besitzt Dort ist jede einzelne Funktion
und jeder Befehl, mit Informationen
und Beispiel, dokumentiert.
..:: Was brauche ich ? ::..
Zu allererst brauhen wir einmal den Script editor SciTe und den rest von autoit :D
Rest -> http://www.autoitscript.com/cg…toit3/autoit-v3-setup.exe
SciTe Erweitert -> http://www.autoitscript.com/cg…ownload/SciTE4AutoIt3.exe
Wahlweise könnt ihr euch auch noch den Koda Form Designer runterladen ein kleiner Form Designer für autoit ^^
Koda -> http://www.autoitscript.com/fi…/lookfar/koda_1.7.0.1.zip
..:: Mein erster Script ::..
Zu allererst erstellt ihr auf dem desktop mit rechtsklick -> Neu -> Neuer Autoit Script.au3 einen autoit Script und benennt ihn meinetwegen um in MeinErsterScript.au3 danach macht ihr darauf einen rechtsklick und geht auf Edit Script
So... nun seht ihr SciTe hier dann steht dort etwas drinnen dass ihr alles wegmahcen solltet zu dem was das ist kommen wir später noch ^^
Lasst uns mal eine GUI (Graphical User Interface) schreiben zuallererst includen wir die UDF(User Definded Commands) GUIConstants das machen wir wie folgt.
#include heißt das eine datei zu dieser hinzugefügt wird bei einer UDF sind das meistens Commands etc. in diesem fall includen wir GUIConstants damit wir später das kleine X oben am rand des Windows Fenster definieren können^^. So nun lasst ihr ein zwei zeilen frei und schreibt:
$GUI ist eine Variable die in diesem Fall den Befehl GUICreate beinhaltet. GUICreate sagt uns Erstelle eine GUI mit dem Titel "Meine Erste GUI" und BeitexHöhe 300x300.
$Button ist wieder eine Variable (die erkennt man an dem $ davor ^^) GUICtrlCreateButton heißt erstelle einen Button mit der Aufschrift Mein erster Button an der position Left:0 Top:200 mit größe 300x25
Kennen wir ja bis auf dem command GUICtrlCreateLabel lässt ein Label (ein stück text) erscheinen das an der Position Left:0 Top:100 Größe 300x25 vorhanden ist.
Das Setzen wir jetzt noch unter unsere GUI das heißt SETZE GUI AUF SW_SHOW (SW_SHOW = Sichtbar / SW_HIDE = Unsichtbar)
Nun schreiben fangen wir mit einer While schleife an damit die Form nicht direkt ausgeht zu den Schleifen komm ich ein andermal aber zu While sag ich jetztmal was alles was zwischen While X und WEND steht wird immer wieder ausgeführt (eine endlosschleife) welche man aber braucht damit die gui nicht direkt wieder ausgeht ^^
While 1;Hier schreiben wir jetztmal unsere "Funktion" hin (keine Func xD einfach nur das was unsere GUI machen soll^^)WEND
Wie ihr schon sehen könnt schreibe ich irgendeinen mist in die GUI und trodzem klappt sie das liegt an dem ; davor denn wenn ihr ein ; setzt wird alles dahinter als Kommentar gefasst wie bei C++ das // oder bei VB das '
nun schreiben wir zwischen das While 1 und das WEND:
$msg = GUIGetMsg()Switch $msgCase $GUI_EVENT_CLOSEExitCase $Button;Hier kommt gleich was hin xDEndSwitch
So wir erstellen einen Switch der es möglich macht auf die Buttons etc. via Case zu klicken $GUI_EVENT_CLOSE ist die von GUIConstants berreitgestellte Variable die das X oben am fenster definiert und darunter direkt das was passieren soll nämlich Exit (Ausmachen xD) darunter sehen wir Case $Button das steht dafür was passiert wenn wir auf den button drücken ;) und ein EndSwitch um das ganze zu beenden( also den switch)
so nun fügen wir unter das Case $Button noch ein das es den Text von unserem Label verändern kann dazu schreiben wir rein
Das heißt Setze den Text von Label zu Hallo Bisafans ;)
so hier nochmal alles in einem xD
#include <GUIConstants.au3>$GUI = GUICreate("Meine Erste GUI",300,300)$Button = GUICtrlCreateButton("Mein erster Button",0,200,300,25)$Label = GUICtrlCreateLabel("Ein Label",0,100,300,25)GUISetState(@SW_SHOW)While 1$msg = GUIGetMsg()Switch $msgCase $GUI_EVENT_CLOSEExitCase $ButtonGUICtrlSetData($Label, "Hallo Bisafans ;)")EndSwitchWEND
So müsste es bei euch nun auch aussehen^^
..:: If - Abfragen ::..
Ein wichtiger Teil in Autoit sind If Abfragen sie sind in allerlei programmiersprachen von nutzen erstmal eine kleine einweisung
If = Wenn
EndIf = Ende Wenn
Else = Ansonsten
Then = Dann
If Bedingung Then Ausführung
fangen wir an mit einer einfachen if abfrage berreiten wir unseren code wie folgt vor
bitte kopiert diesen code so ^^ also lasst uns mal anfangen ;)
Wenn x = 0 ist dann kommt eine Msg box und sagt uns das x 0 ist :) so jetzt erweitern wir das mal
$x = 0 If $x = 0 Then MsgBox(0,"Autoit Guide","x ist 0")$x = ($x + 1) ;jetzt ist x = 1 xDIf $x <= 10 Then MsgBox(0,"Autoit Guide","x ist kleiner als 10")
so jetzt könnt ihr schon zahlen bestimmen die kleiner als 10 sind ;) jedoch wollen wir das erweitern^^
$x = 0 If $x = 0 Then MsgBox(0,"Autoit Guide","x ist 0")$x = ($x + 1) ;jetzt ist x = 1 xDIf $x <= 10 Then MsgBox(0,"Autoit Guide","x ist kleiner als 10")$y = Random(1,100,1) ;von 1 - 100 und nur ganzahlige heißt die letzte 1 ^^If $y <= 50 ThenMsgBox(0,"AutoIt Guide","Y ist kleiner als 50 (genau : " & $y & " )")Else ;Else = Ansonsten also wenn y nicht kleiner als 50 ist.MsgBox(0,"Autoit Guide","Y ist größer als 50 (genau : " & $y & " )")EndIf
Das ist im Grundlegenen fast alles ;) jetzt nochwas mitnem Text als abschluss für If abfragen *gg*
$input = InputBox("PW Feld","Wie lautet das passwort ?")If $input = "Bisafans.de" ThenMsgBox(0,"PW Feld","RICHTIG :D")ExitElseMsgBox(0,"PW Feld","FALSCH !!!")ExitEndIf
Das wäre jetzt ein BSP wie man ein Passwort feld macht ^^ wenn ihr jedoch aus eurer GUI etwas auslesen wollt müsst ihr den befehl GUICtrlRead nutzen ! ;)
guicreate("lol",300,300)$test = guictrlcreateinput("",0,0,300,25)$button = guictrlcreatebutton("Lesen",0,100,300,25)GUISetState(@SW_SHOW)While 1$msg = GUIGetMsg()Switch $msgCase $button$read_text = GUICtrlRead($test)MsgBox(0,"Autoit Guide","Im Inputfeld steht : " & $read_text)EndSwitchWEND
..::Funktionen::..
Durch Funktionen könnt ihr euch eigene Commands erstellen oder bestimmte Abläufe verkürzen/vereinfachen etc.
Das ist zum beispiel eine Funktion die das Programm schließt also
dieser _ muss nicht sein aber es gehört zum guten ton :P
Func _HIER_KANN_ALLES STEHEN_UND_MAN_BRAUCHT_EIN() ;am ende :P
und ein Endfunc muss irgendwann darunter :P
die funktion löst sich nicht aus Func _Blaa() weist nur _Blaa eine Funktion zu auslösen könnt ihr diese wie folgt :)
MsgBox(0,"LOL","LOL")_Blaa() ;<=================== So geht das !!! :PFunc _Blaa()MsgBox(0,"BYE","BYE")ExitEndFunc
okok jetzt solltet ihr wissen wie man funcs nutzt nun machen wir mal unseren eigenen Command^^
Wir nutzen oft MsgBoxen aber haben keine lust immer dieses (0,.... einzugeben also die 0 und das komma nerven uns total da das autoit ist können wir diesen vorgang naklar umgehen wie folgt :D
Durch das setzen der Variabeln in der Func werden diese auf die commands die in der func stehen kopiert bsp _BisafansMsgBox("LOL","Blaaa") würde sich jetzt eine msg box öffnen wo der Titel LOL und der text Blaaa wäre ^^ hier ein bsp ;)
_BisafansMsgBox("LOL","Das ist cool^^")Func _BisafansMsgBox($titel, $text)MsgBox(0,$titel,$text)EndFunc
natürlich könnt ihr das auch erweitern und euch so eigene krasse commands machen :3 (mehrere commands in eine zu packen ist auch möglich xD)
..:: Schleifen ::..
Bis jetzt kennen wir ja schon die normale While Schleife
While 1
WEND
So wird in einem Intervall von 1 millisekunde das ausgeführt was darin steht :) naklar können wir auch noch
While $x <= 5
WEND
Solange X kleiner als 5 ist wird der inhalt der schleife ausgeführt
Bsp:
So nun kommen wir zur Do - Until schleife
Tue Solange $lol nicht = 10 ist $lol +1 setzen ;)
es gibt noch For..In...Next schleife aber dazu komme ich ein andermal ^^
..:: Schreiben und Lesen von .ini dateien::..
Mitlerweile könnt ihr ja schon einige sachen schreiben jedoch wollen wir nun auchmal einstellungen etc. speichern <3 daher schreiben wir derweil eine Iniread und iniwrite funktion <3
fangen wir mal an mit dem schreiben einer ini datei
$ini = @ScriptDir & "/testini.ini"$input = Inputbox("Ini","Wie soll unser wert in der ini datei sein ?")IniWrite($ini, "Section","Key",$input)
so nach dem starten unseres Programms wird eine ini datei geschrieben den den von euch eingegeben Text in input beinhaltet
Wie ist eine ini datei aufgebaut?
naklar könnt ihr die section und den key beliebig verändern :).
Nun wollen wir unsere ini datei natürlich noch auslesen ^^
$ini = @ScriptDir & "/testini.ini" ;@ScriptDir heißt in dem Ordner wo der Script grade ist & "/...." die datei :P
$input = Inputbox("Ini","Wie soll unser wert in der ini datei sein ?")
IniWrite($ini, "Section","Key",$input)
$iniread = IniRead($ini,"Section","Key","Sorry es hat nicht geklappt") ; das letzte ist der default wert das was gelesen wird wenn die ini datei nicht da ist oder der string nicht gelesen werden kann in diesem fall "Sorry es hat nicht geklappt"
MsgBox(0,"Iniread","In der IniDatei Steht : " & $iniread)
Alles anzeigen
Und tadaaa jetzt habt ihr das auch drauf ^^ damit könnt ihr in euren programmen bestimmte optionen etc. speichern und ausführen <3
_____________________
Bald gehts weiter :P
lg
Kasoki