Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 20:35

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[AutoIT]Grundlagen von A-Z

Discussion on [AutoIT]Grundlagen von A-Z within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old   #1
 
Croco™'s Avatar
 
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
Post [AutoIT]Grundlagen von A-Z

Index:
  1. AutoIT (Anfänger)
    1. Vorbereitung
    2. SciTE
    3. Kommentare
    4. Funktionen
    5. Strings
    6. Variablen
      • Arten
      • Zuweisung von Daten
      • Auslesen
      • Variablen in Strings
    7. Macros
    8. Bedingungen
    9. Schleifen
    10. Arrays
      1. Arten
      2. Zuweisung von Daten
      3. Auslesen
      4. Arrays in Strings
    11. Mehrdimensionale Arrays
      • Arten
      • Zuweisung von Daten
      • Auslesen
      • MehrdimensionaleArrays in Strings
    12. UDF
      • Was ist eine UDF
      • Einbinden einer UDF
      • Erstellen eigener UDF's
    13. Returns
  2. AutoIT (Fortgeschritten)
    1. Datenspeicherung
----------------------------------------------------------------------------------------------------------------------------------------------------

Vorbereitung
<-- AutoIT3 V3.3.8.1
<-- SciTE4AutoIT3 V 3.3.9.4

Als erstes laden wir uns AutoIT3 und den Editor herunter. Danach installieren wir erst AutoIT und danach SciTE.

Tipp:
Bei der Installation von AutoIT können wir wählen ob beim öffnen einer .au3 Datei diese gestartet (Run the script) oder editiert (Edit the script) wird. Wählt bei diesem Punkt "Run the script" aus. Dies verhindert einen Fehler in Koda (mehr dazu später)


SciTE
In diesem Abschnitt möchte ich euch die wichtigsten Funktionen von SciTE erklären.

Hilfe
SciTE besitzt zu allen Funktionen eine Hilfe mit Syntax, Beispielen und Rückgabewerten die wir über die Menüleiste unter Help aufrufen oder mit der Taste F1.

Script ausführen
Unser erstelltes Script können wir mit der Tast F5 oder in der Menüleiste unter Tools -> Go ausführen.

Script sortieren
Die Funktion "Tidy AutoIT Source" sortiert unser Script ein wenig in dem es an den richtigen stellen Tabs einsetzt und so die Form verschönert. Neben der Verschönerung wird auch noch ein Backup des Sourcecodes erstellt. Ausführen können wir das ganze mit CTRL+T oder unter dem Menüpunkt Tools -> Tidy AutoIT Source

Script zur .exe
Den Sourcecode können wir entweder mit F7 bzw. Tools -> Build oder mit extra Optionen unter CTRL+F7 bzw. Tools -> Compile.


Kommentare
Endlich können wir anfangen mit dem eigentlichen Coden. Bei Scripts die sehr unübersichtlich sind, ist es wichtig das man im nachhinein das nachvollziehen kann was man getan hat. Nicht nur für diesen Zweck sind Kommentare. Ein Kommentar wird nicht vom Programm verwendet und dient nur den oben genannten Verwendungsbeispielen.

Kommentare die über eine Zeile gehen werden mit einem ";" eingeleitet.



Bei Kommentaren die über mehrere Zeilen gehen benötigen wir ein anfangs- und ein Endtag.



Funktionen
In AutoIT gibt es zurzeit so um die 300 Funktionen die von dem Anzeigen einer Nachrichtenbox bis zum auslesen einer Datei gehen. Um eine Funktionen zu benutzen müssen wir wissen wie sie heißt und was für Daten diese benötigt um ihre Aufgabe zu erledigen. Diese Daten nennt man Parameter und müssen nach einer festgelegten Reihenfolge angegeben werden.

Wie eine Funktion aufgebaut wird zeigt folgendes Beispiel :



Angewendet an einer echten Funktionen (MsgBox). Das obere ist der festgelegte Aufbau als Kommentar aus der Hilfe von AutoIT :



Wie wir sehen werden innerhalb der "()" alle Parameter angegeben. Parameter die zwischen einem "[]" stehen müssen nicht angegeben werden sondern dienen nur der verfeinerten Einstellung einer Funktion. Wichtig ist das Optionale Parameter wie alle anderen mit einem "," von einander getrennt werden und nicht wie in der Hilfe zwischen "[]". Diese sind nur zur Erkennung ob der Parameter ein Optionaler oder Regulärer ist.

Als Ergebnis nach dem Ausführen des oberen Codes würde folgendes bei raus kommen :



Was die einzelnen Parameter bedeuten könnt alles in der Hilfe nachlesen.

Tipp:
Eine Liste aller Funktionen findet ihr hier:


Strings
Ein String ist eine Zeichenkette. Diese kann aus Zahlen, Buchstaben oder Sonderzeichen bestehen. Sie müssen mit einem " umschlossen werden oder in dem Fall das der String ein " enthält mit '.
Wichtig ist das Zeilenumbrüche in Strings nicht mit einem normalen ENTER generiert werden sondern mit dem Macro @LF oder @CRLF. Was Macros sind könnt ihr hier nachlesen.

Wichtig:
Wenn ihr Zahlen mit einem " oder ' umschließt zählt diese nicht mehr als Zahl sondern als Text.


Variablen
Variablen sind unser Speichermedium in denen wir Daten abspeichern können um sie zu einem Späteren Zeitpunkt z.B für eine Berechnung wieder zu verwenden. Auch für diese gibt es einen Festen Aufbau :



Doch was bedeuten die einzelnen Daten nun ? (Auch hier gilt Daten in "[]" sind Optional) das erste was wir angeben können ist der Bereich in der die Variable gültig ist. Dieser kann Global sein (überall im Script verfügbar), Lokal (nur innerhalb einer Funktion) oder Dim (Ist nur dann Lokal wenn es keine Globale Variable gleichen Namens gibt). Danach kommt ein "$" das der Variable vorangestellt wird und danach der Name. Zuletzt wird mit einem "=" der Inhalt der Variable festgelegt. Ein paar Beispiele :



Wie wir dem Beispiel entnehmen können, kann einer Variable alle Arten von Daten zugewiesen werden. Wichtig ist aber das wir Texte zwischen "" setzen und falls in dem Text ein " vorhanden ist zwischen zwei ' .
Um den in einer Variable abgespeicherten Wert auch wieder auszulesen um ihn weiter zu verwenden, reicht es die Variable an die passende stelle zu schreiben. Ein beispiel dafür wäre :



Wenn wir einen Text mit dem Inhalt einer Variable zu ergänzen können wir die Variable mit einem "&" vom eigentlichem Text trennen :



Tipp:
Versucht den Variablen passende Namen zu finden. Bei größeren Projekten hilft dies um zu verhindern das man nicht mehr weis welche Variable nun welchen Inhalt besitzt.


Macros
Macros kann man als vorgefertigte Variablen bezeichnen die nur auslesbar sind. Sie werden beim Start des Scripts mit dem richtigen Inhalt gefüllt. Man leitet diese mit einem "@" ein.

Eine typische Verwendung wäre z.B :



Diese MsgBox würde nun das Unterverzeichnis ausgeben in dem das Script gestartet wurde ohne großen Aufwand.

Tipp:
Eine Liste aller Macros findet ihr hier :

Bedingungen: IF
Da wir nun alles über Variablen und Arrays wissen wollen wir nun wissen ob der Inhalt dieser für bestimmte Events geeignet sind. Um euch den zweck einer If Abfrage zu verdeutlichen, werden wir ein kleines Programm erstellen das ein Passwort überprüft. Fangen wir an !

1.) Wir speichern das richtige Passwort in der Variable PW



2.) Wir lassen ein sogenanntes InputBox erscheinen das uns nach einem Passwort frägt. Da die Funktion InputBox als Rückgabewert den eingegebenen Text hat speichern wir diesen direkt in der Variable Test_PW ab.



3.) Nun wollen wir wissen ob das echte Passwort das gleiche ist wie das eingegebene. Hier kommt das If zum Einsatz. Wer es bis jetzt noch nicht bemerkt hat ist AutoIT eine Englische Scriptsprache (wie eig. jede). Also schreiben wir uns das ganze erstmal auf Deutsch auf:

Quote:
Wenn $PW genau so ist wie $Test_PW dann tue etwas ende

oder

Wenn $PW gleich $Test_PW dann tue etwas ende

auf englisch

If $PW = $Test_PW then
EndIf
und schon haben wir unseren Code.



Das "tue etwas" können wir nun mit jeder Funktion ersetzen. Hauptsache es steht zwischen der "if" Zeile und "EndIF"



Wenn wir das Script nun Ausführen stellen wir schnell fest, ist das Passwort falsch passiert nichts. Nur bei der Eingabe des richtigen Passworts, erscheint eine MsgBox. Dafür gibt es das kleine Wörtchen "sonst" (engl.:else).



Wenn wir eine zweite Abfrage starten wollen wenn die erste Abfrage nicht korrekt ist, können wir dies mit ElseIf tun.



Tipp:
Natürlich gibt es nicht nur den "=" (ist Gleich) vergleich. Eine Liste aller Logischen Operationen findet ihr hier:

Bedingungen: Switch
Wir wissen nun das wir mit If eine Abfrage machen können. Aber was ist wenn es 10 Möglichkeiten gibt die Richtig seinen können. Das würde mit einer If Abfrage zwar Funktionieren ist aber nicht wirklich übersichtlich. Für so eine Fall gibt es die Switch Abfrage in der ein zu überprüfender Wert angegeben wir und die dazu möglichen Ergebnise.



Wie wir sehen nach dem Befehl "Switch" kommt der Wert der geprüft werden soll. Zwischen "Switch" und "EndSwitch" steht für jedes Mögliches Ergebnis ein "Case" folgend von dem Möglichen Wert. Unter dem "Case" steht dann der auszuführende Code. Sollte keins der Möglichkeiten stimmen wird der Code nach "Case Else" ausgeführt.

Tipp:
Diese Abfrage ist nur eine Wahr, Flasch Abfrage das heißt es gibt kein größer, kleiner etc. für diese Art benutzt man Select.

Soll geprüft werden ob der angegebene Wer zwischen zwei Zahlen liegt kann man das z.B so lösen:
Quote:
...
case 5 to 10
...

Bedingungen: Select
Select ist genau so aufgebaut wie die Switch Abfrage nur das nun kein Wert angegeben wir der geprüft wird sondern wir können pro "Case" eine eigenständige Abfrage erstellen. Sollte diese War sein wird der Code nach dem Case ausgeführt. Wichtig ist das, nach der ersten richtigen Abfrage keine andere angefangen wird. Verwirrend ? Ich weis ! Beispiel :



Schleifen: While
Im Allgemeinen benötigt man Schleifen für Funktionen die man öfters wiederholen will. Die "While" Schleife wird solang ausgeführt solang der Wert neben "While" richtig ist. Beispiel :



In diesem Beispiel wird die Funktion sleep immer wieder ausgeführt solange der Prozess test.exe existiert. Wichtig ist hier das erst geprüft wird ob der wert Richtig ist und dann die While Schleife angefangen wird.

Tipp:
Soll die Schleife für immer laufen (natürlich nur bis das Script geschlossen wird) dann schreibt einfach nach While eine 1 denn 1 ist immer 1 und somit richtig.

Schleifen: Do
Die Do Schleife ist exakt wie die While Schleife nur der zu überprüfende Werte steht unten.



Der unterschied zu der While Schleife ist schnell erklärt und zwar wird hier erst der Inhalt der Schleife ausgeführt und dann geprüft ob der Wert Richtig ist. Sollte dieser Richtig sein wird die Schleife von Vorne abgespielt.

Schleifen: For
Die wohl meist genutzte Schleife ist die For Schleife. Diese kann man eine bestimme anzahl an Runden laufen lassen. Für diese benötigen wir eine Variable die den Startwert beinhaltet, einen End Wert und in welchen Schritte die Schleife Läuft. Beispiel:



Da bei jedem Durchlauf $i um eins erhöht wird, wissen wir immer in welcher Runde sich die Schleife befindet. In diesem Fall wird die Variable aber nicht um eins erhöht sondern um 10 das heißt, da der Startwert 1 ist und der Endwert 100, das wir 10 Durchläufe haben.


Arrays
Da wir nun wissen was Variablen sind, fällt uns schnell auf das wir pro Variable nur ein Inhalt festlegen können. Arrays sind fast das gleiche wie Variablen nur das man in dieser mehrere Inhalte speichern kann. Würde man ein Array Graphisch darstellen sähe sie wie folgt aus:

 Spalte 0
Zeile 01. Inhalt
Zeile 12. Inhalt
Zeile 23. Inhalt

Wie wir sehen sitzt der 1. Inhalt an Position 0 (Zeile 0). Meist ist an dieser Stelle die anzahl an Inhalte gespeichert hier wäre es 2. Wie speichert man nun aber Daten in einem Array ab ? Das ganze ist exakt wie bei einer Variable bis auf das wir als erstes den Array Umfang festlegen und beim Speichern von Daten die Zeile angeben in die der Datensatz gespeichert wird.



Als Graphik:
 Spalte 0
Zeile 04
Zeile 1Das ist die 2.Zeil
Zeile 2Das ist die 3.Zeil
Zeile 3Das ist die 4.Zeil
Zeile 4Das ist die 5.Zeil

Auch hier gelten alle Einstellungen bezüglich Gültigkeitsbereich und Inhalte bis auf das die Möglichkeit weg fällt kein Gültigkeitsbereich auszuwählen.

Beim Auslesen müssen wir nun den Namen der Variable und die Zeile angeben.



Mehrdimensionale Arrays
Da wir ja nicht geizig sind wollen wir jetzt aber nicht nur Werte in einer Spalte sondern in mehreren. Dies könnte z.B bei der Abspeicherung von Kundendaten helfen. Auch hier eine graphische Darstellung.

 Spalte 0Spalte 1Spalte 2
Zeile 03  
Zeile 1Peter27.04.1990Huberstraße 13
Zeile 2Max1.1.200Epvpweg 22
Zeile 3Susi29.12.1820Altersack 22

Hier gelten die gleichen Regeln wie beim Array nur wir müssen jetzt natürlich auch die Spalte angeben.


(Das wäre der Code zur Tabelle oben)

Zum Schluss natürlich noch, wie man das ganze wieder ausliest. Wenn ihr gut aufgepasst habt müsstet ihr wissen was nun kommt. Trotzdem in aller kürze.
Variablenname + Zeile + Spalte



UDF
Da wir nun alle Basics kennen, wenden wir uns der Erstellung eigener Funktion zu.
Diese nennt man UDF (eng.:User Defined Function).
Der Aufbau einer Funktion ist ganz einfach.

PHP Code:
Func Funktionsname($Parameter1,$Parameter2,$Optionalerparameter1="Hallo")
EndFunc 
Als Starttag dient uns "Func" gefolgt von dem Namen der Funktion und seiner Parameter. Parameter die Ausgefüllt werden müssen lässt man leer. Optionale werden schon beim erstellen mit einem Wert gefüllt der immer dann Wirkt wenn kein anderer beim Aufruf der Funktion angegeben wird . Nach dem Code der ausgeführt werden soll kommt ein EndFunc. Ein beispiel für eine ganz einfache Version ist das.



Es gibt nun drei Möglichkeiten wo wir diese Funktion abspeichern.

1.) Funktionen im eigenem Script.
Das einfachste ist natürlich die Funktion einfach ans Ende der Scriptes zu speichern. Nun können wir die Funktion ganz normal verwenden.



2.) Funktion auslagern (I)
Bei vielen Projekte hat man 10 oder mehr Funktionen die das Script unnötig unübersichtlich machen. Darum kann man das ganze auch in externe Datein abspeichern. Hierfür sind zwei dinge wichtig. Erstens muss die Datei im Ornder AutoIT3 -> Include sein und zweitens muss am Anfang der externen Datei ein
#include-once stehen.



In unserem Fall heißt die externe Datei Croco.au3. Um nun unsere Funktion zu verwenden müssen wir erst diese Datei in unser Script einbinden (das heißt unserem Script zur Verfügung stellen.). Dies machen wir mit #include <Croco.au3> .



Jetzt können wir wieder unsere Funktion benutzen ohne das sie in unserem Script ist.



3.) Funktion auslagern (II)
Wollen wir die Datei nicht in den Include Ordner abspeichern (weiß Gott warum nicht es soll so Leute geben ) bleibt alles gleich bis auf das wir beim #include Befehl keine <> verwenden sondern ''.



Tipp:
Versucht eure Funktion so aufzubauen das man später fast alle Einstellung über diese beim aufrufen ändern kann. Dies hilft dem späterem Benutzer bei der Verwendung.

Returns
Wir haben ja gerade gelernt wie wir eigene Funktionen erstellen. Gerade bei Funktionen die eine wichtige Aufgabe haben ist es wichtig bei einem Fehler zu wissen was Falsch gelaufen ist. Nicht nur dafür gibt es die Funktion "return" die uns Daten beim aufrufen der Funktion zurückgibt.
Ein kleines Beispiel ist :



Bei dieser Funktion wird "TRUE" (Wahr bzw. 1) zurückgegeben wenn der Prozess Existiert der in der $Process angegeben wird und "FALSE" (Falsch bzw. 0) wenn nicht. Wenn wir diesen Wert abspeichern wollen können wir die Funktion einfach in einer Variable abspeichern.



----------------------------------------------------------------------------------------------------------------------------------------------------

Datenspeicherung
Wir wissen zwar das wir Daten in Variablen speichern können. Das Problem ist das diese werte verloren gehen sobald das Script beendet wird. Das heißt wir müssen eine Möglichkeit finden Daten abzuspeichern die selbst beim beenden noch bestehen. Für diesen zweck gibt es das Dateiformat .ini .

Wiki:
Quote:
Eine Initialisierungsdatei (kurz INI-Datei) ist eine Textdatei, die Wertepaare in einem speziellen Format enthält. Initialisierungsdateien werden häufig von Desktop-Programmen benutzt, um Einstellungen zu speichern.
Das klingt doch Perfekt. Als erstes will ich euch den aufbau einer .ini Datei erklären. Wie wir aus dem Zitat entnehmen stehen in einer Ini Wortpaare einmal ein Key (Schlüssel) und ein Wert. Die Keys werden in einzelnen Sektionen abgespeichert. Ein beispiel für eine Ini die Kundendaten speichert ist folgendes.

Quote:
[Peter]
Tel=08106-123456
Email=
Fax=08106-123457
[Franz]
Tel=1234-12234
Email=
Fax=1234-12235
Wie wir sehen haben wir eine Sektion Namens Peter mit verschiedenen Keys. Hier wären es Tel,Email und Fax. Diese Keys haben jeweils einen Inhalt.
Extra für dieses Format gibt es 7 Funktionen in AutoIT.

Quote:
IniDelete = Löscht eine Sektion oder Key.
IniRead = Liest einen Key aus.
IniReadSection = Gibt alle Keys mit Inhalt einer Section aus.
IniReadSectionNames = Gibt alle Sectionen einer Ini aus.
IniRenameSection = Ändert den Namen einer Sektion.
IniWrite = Erstellt einen Key und / oder Inhalt.
IniWriteSection = Erstellt eine Section.
Wir werden nun Schritt für Schritt alle Funktionen durchgehen.


1.) IniWriteSection
Mit dieser Funktion könnt ihr eine Sektion in der Ini erstellen.

Parameter:
Quote:
IniWriteSection ( "filename", "section", "data" [, index] )
ParameterBedeutungBeispiel
filenameDer Pfad zur .ini (oder nur der Name wenn die Datei im gleichen Ordner ist.)Save.ini oder C:\Users\XXX\Daten.ini
sectionDer Name der SektionSettings oder Peter
dataDer Inhalt der Sektion"Tel=1234"&@LF&"Fax=1235"
index--

Wichtig:
Wenn ihr bei dieser Funktion beim Parameter data etwas eintragt dann seit euch bewusst das nach jedem Key mit seinem Wert ein "&@LF&" stehen muss.
@LF ist ein Zeilenumbruch.

Tipp:
Es ist besser beim Parameter einen Leeren String also "" anzugeben, da es für das erstellen von Keys eine extra Funktion gibt.

Diese Funktion wird so gut wie nie verwendet da die Funktion IniWrite die Sektion erstellt falls diese noch nicht existiert.


2.) IniWrite
Mit dieser Funktion werden Keys mit ihrem Inhalt erstellt. Sollte die angegebene Sektion nicht existieren wird diese erstellt.

Quote:
IniWrite ( "filename", "section", "key", "value" )
ParameterBedeutungBeispiel
filenameDer Pfad zur .ini (oder nur der Name wenn die Datei im gleichen Ordner ist.)Save.ini oder C:\Users\XXX\Daten.ini
sectionDer Name der SektionSettings oder Peter
keyDer Name des SchlüsselsTel oder Teste
valueDer Wer des Schlüssels08106 12345 oder

Wichtig:
Es kann immer nur ein Key des gleichen Namens in einer Sektion existieren. Solltet ihr einen Key angeben der bereits existiert wird dieser samt Wert überschrieben


3.) IniDelete
Mit dieser Funktion lässt sich eine komplette Sektion mit seinen Key löschen oder nur einzelne Keys.

Quote:
IniDelete ( "filename", "section" [, "key"] )
ParameterBedeutungBeispiel
filenameDer Pfad zur .ini (oder nur der Name wenn die Datei im gleichen Ordner ist.)Save.ini oder C:\Users\XXX\Daten.ini
sectionDer Name der SektionSettings oder Peter
keyDer Name des SchlüsselsTel oder Teste

Tipp:
Wollt ihr nur den Inhalt eines Keys löschen müsst ihr dies mit IniWrite machen.
Als Key gebt ihr den Namen des Keys an und als Value "".


4.) IniRenameSection
Mit dieser Funktion lässt sich der Name einer Sektion ändern.

Quote:
IniRenameSection ( "filename", "section", "new section" [, flag] )
ParameterBedeutungBeispiel
filenameDer Pfad zur .ini (oder nur der Name wenn die Datei im gleichen Ordner ist.)Save.ini oder C:\Users\XXX\Daten.ini
sectionDer Name der SektionSettings oder Peter
new sectionDer neue Name der SektionPeter oder Settings
flag0 = Falls der Name der neue Sektion bereits besteht, wird nichts umbenannt. 1 = Überschreibt die Sektion (löscht alle Keys)NUR 0 oder 1


5.) IniRead
Liest einen Wert aus einem Key aus.

Quote:
IniRead ( "filename", "section", "key", "default" )
ParameterBedeutungBeispiel
filenameDer Pfad zur .ini (oder nur der Name wenn die Datei im gleichen Ordner ist.)Save.ini oder C:\Users\XXX\Daten.ini
sectionDer Name der SektionSettings oder Peter
keyDer Name des SchlüsselsTel oder Teste
defaultWird ausgegeben wenn der Key keinen Wert hat.Error oder Kein Wert

Tipp:
Als "default" Wert solltet ihr immer etwas eintragen das in jedem fall stimmt oder die Funktion unterbricht und nicht als Wert in Frage kommt. (z.B False oder Error)


6.) IniReadSection
Gibt alle Keys mit ihren Werten in Form eines 2 Dimensionalen Arrays aus.
(Spalte 0 bzw. 1 = Keys und Spalte 1 bzw. 2 = Werte)

Quote:
IniReadSection ( "filename", "section" )
ParameterBedeutungBeispiel
filenameDer Pfad zur .ini (oder nur der Name wenn die Datei im gleichen Ordner ist.)Save.ini oder C:\Users\XXX\Daten.ini
sectionDer Name der SektionSettings oder Peter


7.)IniReadSectionNames
Gibt alle Namen der Sektionen in einer INI als 1 Dimensionales Array aus.

Quote:
IniReadSectionNames ( "filename" )
ParameterBedeutungBeispiel
filenameDer Pfad zur .ini (oder nur der Name wenn die Datei im gleichen Ordner ist.)Save.ini oder C:\Users\XXX\Daten.ini


Zum Schluss noch ein kleines Beispiel wie man die .ini von oben erstellen könnte.



Anmerkung:
Wie ihr bestimmt bemerkt habt können wir in einem String (Text) keine Zeilenumbrüche mit dem ganz normalen ENTER machen. Dafür gibt das Macro @LF bzw. @CRLF. Diese zwei Macros dienen als Zeilenumbrüche und können mit einem & einfach an einen String gehängt werden.
Croco™ is offline  
Thanks
42 Users
Old 08/09/2012, 02:12   #2
 
elite*gold: 12
Join Date: Jul 2011
Posts: 822
Received Thanks: 180
Sehr gut . BITTE MACH WEITER hilft mir und denke auch vielen anderen echt weiter . übersichtlich und leicht zu verstehen . Hab mir jetzt aus deinen codes und so schon ein kleines passwort abfrage programm gemacht

OHHHH was vergessen : Erster !!!
coolcooliscool is offline  
Old 08/09/2012, 11:51   #3
 
Croco™'s Avatar
 
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
Quote:
Originally Posted by coolcooliscool View Post
Sehr gut . BITTE MACH WEITER hilft mir und denke auch vielen anderen echt weiter . übersichtlich und leicht zu verstehen . Hab mir jetzt aus deinen codes und so schon ein kleines passwort abfrage programm gemacht

OHHHH was vergessen : Erster !!!
Das freut einen zu hören ich hoffe es kommen noch mehr Meinungen.
Croco™ is offline  
Thanks
2 Users
Old 08/09/2012, 19:16   #4
 
elite*gold: 12
Join Date: Jul 2011
Posts: 822
Received Thanks: 180
Ja is echt so nach genau dem was du da machst hab ich gesucht. les mir das neue jetzt mal durch
coolcooliscool is offline  
Old 08/10/2012, 16:23   #5
 
Croco™'s Avatar
 
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
Ich muss gefüttert werden...
...mit Meinungen !
Croco™ is offline  
Thanks
2 Users
Old 08/15/2012, 14:50   #6
 
[_Zidane_]'s Avatar
 
elite*gold: 8
Join Date: Oct 2009
Posts: 330
Received Thanks: 112
Ganz nützlich, aber auch ziemlich lang :'D Viele sind zu faul sowas "schwieriges" zu lesen & zu verstehen. Mir hilft es jedenfalls
[_Zidane_] is offline  
Old 08/15/2012, 16:52   #7

 
DerNoSmOKer's Avatar
 
elite*gold: 70
The Black Market: 162/0/0
Join Date: May 2012
Posts: 1,165
Received Thanks: 247
Hast dir mühe gemacht.
Hab es nicht durch gelesene werde es aber heute Abend machen.
Respekt
DerNoSmOKer is offline  
Old 08/22/2012, 14:29   #8
 
V8II's Avatar
 
elite*gold: 0
Join Date: Jul 2010
Posts: 475
Received Thanks: 130
Auch wenn ich AutoIt mittlerweile gut kenne, muss ich sagen, das ist ein richtig gutes Tutorial. Auf der einen Seite leicht zu verstehen (Jemand der es immer noch nicht versteht sollte mal ins Alter +10 kommen, und jemand der zu faul ist alles zu lesen -> Alt+F4 programmieren ist nichts für dich!), auf der anderen Seite professionell geschrieben, was dafür sorgt, dass Anfänger gleich alles korrekt lernen!

Dennoch kleine Kritik für dich:
* .ini's sind veraltet. Nett , dass du darauf eingehst, aber so ausführlich hätte es nicht sein müssen. Da vermisse ich bei Datenspeicherung die "File" Funktionen (Read,Write, ...)
* Eventuell mal was über Operatoren

Keep it up! Es gibt noch einige Sachen, z.B: ByRef (bzw. generell Pointer)

Edit: Ich denke Vote4Sticky ist hier angebracht, wenn das von Remus sticky ist!
V8II is offline  
Old 08/22/2012, 14:52   #9
 
elite*gold: 12
Join Date: Jul 2011
Posts: 822
Received Thanks: 180
er muss erstmal weiter machen mit dem tut ^^
coolcooliscool is offline  
Old 08/23/2012, 02:50   #10
 
Croco™'s Avatar
 
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
Es freut mich das ich doch so positive Bewertungen bekommen.
Die schreib Pause ist tatsächlich ein wenig zu lange ausgefallen ich wollte aber erstmal sehen wie es ankommt. Aus diesem Grund werde ich heute weitere Kapitel schreiben.

MfG
Croco
Croco™ is offline  
Thanks
1 User
Old 08/23/2012, 13:07   #11
 
-STORM-'s Avatar
 
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
Insgesamt find ich es gut gelungen, die Reihenfolge passt aber nicht ganz.
Ganz am Anfang sollten nach Variablen erstmal If Bedingungen und irgendwelche Schleifen kommen.
Arrays würde ich lieber etwas nach hinten verschieben.
Grund: Erste Programme sind ohne Arrays möglich, ohne If und While/For/Do aber kaum.
Außerdem werden Arrays erst durch For Schleifen besonders interessant.
-STORM- is offline  
Old 08/23/2012, 17:45   #12
 
Croco™'s Avatar
 
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
Eine gute Idee ich hatte sowieso vor das ganze ein wenig besser zu Gliedern.
Croco™ is offline  
Old 08/23/2012, 18:52   #13
 
~.ScoiL's Avatar
 
elite*gold: 70
Join Date: Jul 2011
Posts: 496
Received Thanks: 194
Wie du selbst schon sagtest, die Gliederung, das ganze Erscheinungsbild ändern wie zum Beispiel wichtige Sachen herrvorheben oder sowas.
~.ScoiL is offline  
Old 08/25/2012, 10:41   #14
 
xXKonaXx's Avatar
 
elite*gold: 20
Join Date: Nov 2010
Posts: 552
Received Thanks: 350
#Vote 4 Sticky
xXKonaXx is offline  
Old 08/25/2012, 13:33   #15
 
Benjihz's Avatar
 
elite*gold: 100
Join Date: Feb 2012
Posts: 2,341
Received Thanks: 207
Kann man Inis auch auf nem Ftp Server lagern, & dann von da ein Password setzen ?
Benjihz is offline  
Reply


Similar Threads Similar Threads
[AutoIt] Grundlagen I - IV
09/28/2014 - Coding Tutorials - 281 Replies
dieses tut hat MaZze von cpg geschrieben, und ist meiner meinung nach das beste um das Bot erstellen mit autoit zu lernen, ich hab es jetzt abkopiert da Fremdwerbung nicht gewünscht _________________________________________________ _____________ Grundlagen I Vorwort : Ich habe vor ein paar wochen damit begonnen AutoIt zu lernen. Leider waren die Tutorials entweder auf english oder vollgestopft mit diesem "fach-bla bla". Um anderen leuten den einstieg etwas leichter zu machen bzw....



All times are GMT +1. The time now is 20:36.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.