Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 20:27

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

Advertisement



[Tutorial] AutoIt Sourcecode Struktur

Discussion on [Tutorial] AutoIt Sourcecode Struktur within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
PenGuin :O's Avatar
 
elite*gold: 2
Join Date: Mar 2008
Posts: 1,778
Received Thanks: 1,222
[Tutorial] AutoIt Sourcecode Struktur

Hallo,
schön, dass ihr zu meinem Thread gefunden habt
Die Gründe für die Erstellung dieses Threads waren mehrere grottige Sourcecodes von AutoIt.
Vermehrt hab ich gesehen, dass diese Sources schwer für Außenstehende zu lesen waren.
Deshalb versuch ich nun in der AutoIt Section einen gewissen Standard für Sources einzuführen, damit jeder direkt erkennen kann, was der Source macht, ohne sich lange durch das Gewirr durchzuarbeiten.

Ich glaube es würde allen sehr helfen, denn ihr wollt ja auch schnell Hilfe bekommen, das geht einfacher mit einem sauberen Source


Themen:

- Allgemein
- Variablen
- Einrückungen
- Funktionen
- Schleifen
- Schluss


Allgemein:

Um ein gut organisiertes Script zu haben sollte man immer folgendes Schema abarbeiten:

- Includes
- HotKeySets (optional)
- Options (Als AutoIt Funktion: "Opt")
- Variablen
- GUI
- Schleife
- Funktionen

Damit ist gewährleistet, dass ein Fremder direkt weiß, wo er die einzelnen Funktionen zu finden hat!
HotKeySets müssen nicht zu Start angegeben sein, sollte man jedoch machen, wenn man das HotKeySet die ganze Laufzeit über benutzt.
Außerdem sollten nach den "Opts" direkt die Variablen folgen, wie man sie besser benennt erkläre ich später.

Letztendlich kommt die GUI mit der dazugehörigen Loop.
Nach Möglichkeit immer ein Sleep in die Loop setzen, es sei denn man benutzt die MessageLoop, die besitzt von selber schon eine gute Sleepfunktion.


Variablen:

Wichtig bei einem guten Sourcecode sind außerdem die Variablen.
Da bei AutoIt eine Variable jeden Wert annehmen kann, ist es wichtig, dass sie einen guten Namen bekommt.

Bei C++ zum Beispiel ist es so, dass eine "int" Variable nur einen Integer Wert besitzen kann, es würde zu einem Runtime Error kommen, wenn diese Variable als "char" oder "string" benutzt werden würde.

Zurück zu den AutoIt Variablen.

Wie man vielleicht merkt, könnte die ein und selbe Variable verschiedene Werte annehmen, z.B. könnte man ihr erst einen String zuordnen und danach direkt einen Integer Wert, AutoIt ist das egal.
Aber damit man den Überblick nicht verliert, ist es, wie eingangs schon erläutert, von großer Wichtigkeit, dass sie einen guten Namen bekommt.

Kontraproduktiv sind Variablennamen wie "read1", "send", "read2", "send2" oder "read435879".
Ein Außenstehender - oder auch ihr selbst - verliert dort sehr schnell den Überblick.

Deshalb ist es wichtig, die Variable so zu benennen, was sie macht!
Gut wäre zum Beispiel "$Count" statt "$Cnt" oder "$Variable".
Aber man weiß nun noch nicht, was für einen Datentyp die Variable haben kann. Damit man direkt weiß: "Aha, diese Variable besitzt nur den Wert "Float"", sollte man der Variable noch ein kleines Vorzeichen geben.

Optimal wäre nun also $iCount. Man erkennt, dass es eine Integer Variable ist, die anscheinend "Dinge" zählt.

So benutzt man:

- a für Arrays
- b für Binary
- c/id für Control-ID
- o für Object
- h für Handles
- t für DLLStructs
- i für Integer
- s für Strings
- n für Float
- f für Boolean (True/False)


Falls ihr noch Fragen dazu habt, welches Vorzeichen Datentyp xyz bekommen soll, dann einfach in dem Thread fragen.


Einrückungen:

Gerade für die Übersicht ist es wichtig, wenn ihr eure Sources passend einrückt.
So sollte eine Schleife auf jedenfall mit einem Tab weiter eingerückt sein, als die Schleife darüber.
Wenn ihr euer Script fertig programmiert habt, klickt einfach oben im Editor auf "Tools" und dann "Tidy AutoIt Source Code".
Dafür benötigt ihr jedoch das große "SciTe" Packet, welches ihr hier bekommt:



Einfach auf der linken Seite schauen, dort ist eine kleine Box, wo u.a. auch "SciTe" steht. Einfach auf den Downloadlink klicken, downloaden und installieren.

Als kleine Anmerkung nebenbei:
Darunter seht ihr 2 weitere Download Links.
Eines ist die deutsche Hilfe, die sehr hilfreich für euch sein könnte, wenn ihr nicht so gut in Englisch seid. Und einmal "Organize Includes" das würde ich jedem empfehlen.
Denn wenn ihr fertig programmiert habt und es unter "Tools" im Editor (SciTe) startet, wirft es automatisch alle unnötigen Includes raus und fügt die hinzu, die man braucht.
Super Tool


Funktionen:

Wie bereits erwähnt sollten Funktionen immer an das Ende des Scripts verschoben werden, diese werden automatisch erkannt, d.h. sie müssen nicht an die Stelle verschoben werden, wo sie erstellt werden sollen! Sie werden automatisch am Start des Scriptes erstellt.
Zu den Funktionen gibt es weiter nichts zu sagen, außer, dass man auch hier auf die Beschriftung achten sollte! Außerdem sollten alle Funktionsnamen mit einem "_" beginnen, da es sich so entwickelt hat.


Schleifen:

Um die Performance des Scripts zu erhöhen empfiehlt es sich immer die optimalsten Schleifen zu verwenden.
So sollte man nicht eine While Schleife mit ExitLoop nehmen, wenn man zu einer bestimmten Zeit etwas beenden möchte, besser ist eine Do Until.
Oder auch eine For Schleife!
Auch kann man den Gebrauch von zuvielen "If" Abfragen durch ein gut durchdachtes "Switch" ersetzen bzw. sollte man "ElseIf" Abfragen verwenden. Einfach der übersichtlichkeitshalber.


Schluss:

Ich hoffe euch hat das Tutorial gefallen und will nun sehen, dass hier immer mehr strukturierte Sources sind, da man so einfach am Schnellsten helfen kann!
Zum Abschluss zeige ich nochmal einen kleinen Beispiel Sourcecode mit allen Punkten inbegriffen, wie er am optimalsten aussähe.

Beispiel:

Code:
; ***Includes***
#include <EditConstants.au3>
#include <WindowsConstants.au3>
; **************


; ***HotKeySets***
HotKeySet("{ESC}", "_Exit")
; ****************


; ***Options (Opt)***
Opt("GUIOnEventMode", 1)
; *******************


; ***Variablen***
Global $GUI, $Text, $Run, $Cancel
$sTitle = "Beispielscript: Notepad-Send (Tutorial pinguin94)"
$sRunLable = "Run"
$sCancelLabel = "Cancel"


; ***GUI***
$GUI = GUICreate($sTitle, 418, 437, 611, 266)
GUISetOnEvent(-3, "_Exit")
GUISetFont(14, 400, 0, "Arial")
$Text = GUICtrlCreateEdit("", 16, 16, 385, 337, BitOR($ES_AUTOVSCROLL, $ES_WANTRETURN, $WS_VSCROLL))
$Run = GUICtrlCreateButton($sRunLable, 40, 376, 121, 41)
GUICtrlSetOnEvent(-1, "_RunNotepad")
$Cancel = GUICtrlCreateButton($sCancelLabel, 256, 376, 121, 41)
GUICtrlSetOnEvent(-1, "_Exit")
GUISetState(@SW_SHOW)


; ***Main-Loop***
While 1
	Sleep(100)
WEnd


; ***Funktionen***
Func _Exit()
	Exit
EndFunc   ;==>_Exit

Func _RunNotepad()
	Local $PID = Run("notepad.exe")
	WinWait(_GetHwndFromPID($PID))
	$sReadEdit = GUICtrlRead($Text)
	Send($sReadEdit)
EndFunc   ;==>_RunNotepad

Func _GetHwndFromPID($PID)
	$hWnd = 0
	$stPID = DllStructCreate("int")
	Do
		$winlist2 = WinList()
		For $i = 1 To $winlist2[0][0]
			If $winlist2[$i][0] <> "" Then
				DllCall("user32.dll", "int", "GetWindowThreadProcessId", "hwnd", $winlist2[$i][1], "ptr", DllStructGetPtr($stPID))
				If DllStructGetData($stPID, 1) = $PID Then
					$hWnd = $winlist2[$i][1]
					ExitLoop
				EndIf
			EndIf
		Next
		Sleep(100)
	Until $hWnd <> 0
	Return $hWnd
EndFunc   ;==>_GetHwndFromPID
MfG Pinguin.

PS: Fragen, Anregungen, Feedback ist gerne erwünscht, Flames jedoch nicht!
PenGuin :O is offline  
Thanks
2 Users
Old 07/16/2010, 13:30   #2
 
bladerofdarknes's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 1,524
Received Thanks: 285
war klar dass das kommt
€: habs jetzt durchgelesen, nichts wirklich neues, aber hast dir ja echt mühe gegeben
bladerofdarknes is offline  
Old 07/16/2010, 13:31   #3
 
PenGuin :O's Avatar
 
elite*gold: 2
Join Date: Mar 2008
Posts: 1,778
Received Thanks: 1,222
Sowieso, und durchgelesen hast es dir sicher auch noch nicht :P
PenGuin :O is offline  
Old 07/16/2010, 15:40   #4
 
elite*gold: 1
Join Date: Oct 2008
Posts: 1,078
Received Thanks: 276
Du hast dir wirklich Mühe gegeben, allerdings finde ich das Tutorial einerseits überflüssig und oberflächlich.

Überflüssig, da jeder über die Zeit seinen eigenen Stil bei so etwas entwickelt und vorgaben nach denen man sich zu richten sucht einen meistens ehr behindern einen eigenen, richtigen Weg zu finden

Oberflächlich, da dein Musteraufbau sich nur auf Programme mit GUI bezieht und auch die unter dem Sichtpunkt der Performance beste Schleife für die Verdeutlichung des Aufbaues nicht immer die Beste ist.
Die Hauptsächlich Voraussetzung für einen guten Code ist, das er selbsterklärend ist, ob durch Verwendung besonderer Namen, besonderes Augenmerk auf die Verwendung bestimmter Schreibweisen gelegt hat oder Kommentare hinzufügt.

Also meine Verbesserungsvorschläge:

1.) Stell am besten deine Codeanordnung so um, dass du nach Wiederverwertbarkeit gehst: Includes - Code - Funktionen

Beim Code kann man eigentlich keine pauschale Angabe machen, da jedes Programm eine andere Funktionalität besitzt

2.) Könntest du noch hinzufügen, dass man viele eigene und bugfreie Funktionen in eigene Includes schreib, um fehlerhafte Funktionen sofort im Blick zu haben
.nAno is offline  
Thanks
1 User
Old 07/16/2010, 16:19   #5
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,876
Quote:
Originally Posted by pinguin94 View Post
So benutzt man:

- a für Arrays
- b für Binary
- c/id für Control-ID
- o für Object
- h für Handles
- t für DLLStructs
- i für Integer
- s für Strings
- n für Float
- f für Boolean (True/False)


Falls ihr noch Fragen dazu habt, welches Vorzeichen Datentyp xyz bekommen soll, dann einfach in dem Thread fragen.
Na dann habe ich da gleich mehrere Fragen :

1. Wie müsste ich die Variable hier bennenen :
PHP Code:
$var=
$var
=StringSplit("1,2,3,4",","
2. Wie sähe es hier aus ?
PHP Code:
$var="5*8+3/5"
$var=Execute($var
3. Und zu guter letzt , wie macht man es da ?
PHP Code:
$var=5.122313
$var
=Int($var
Schon einmal ein Dankeschön im vorraus

Edit :
Ist mir so im Nachinein aufgefallen :
Quote:
Bei C++ zum Beispiel ist es so, dass eine "int" Variable nur einen Integer Wert besitzen kann, es würde zu einem Runtime Error kommen, wenn diese Variable als "char" oder "string" benutzt werden würde.
Falsch !
Eine Int-Variable kann auch als Char benutzt werden , das mit dem String ist aber richtig (wenn man ganz penibel ist kann man daran auch meckern , will ich jetzt aber nicht ;P ) :
Code:
int main()
{
  int var=15;
  char var2='l';
  var=var2;
  var=155;
  var2=var ;
}
Shadow992 is offline  
Thanks
1 User
Old 07/16/2010, 16:47   #6
 
bladerofdarknes's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 1,524
Received Thanks: 285
shadow ich sag nichts dazu :>
bladerofdarknes is offline  
Thanks
1 User
Old 07/16/2010, 19:55   #7
 
PenGuin :O's Avatar
 
elite*gold: 2
Join Date: Mar 2008
Posts: 1,778
Received Thanks: 1,222
Quote:
Originally Posted by Shadow992 View Post
Na dann habe ich da gleich mehrere Fragen :

1. Wie müsste ich die Variable hier bennenen :
PHP Code:
$var=
$var
=StringSplit("1,2,3,4",","
2. Wie sähe es hier aus ?
PHP Code:
$var="5*8+3/5"
$var=Execute($var
3. Und zu guter letzt , wie macht man es da ?
PHP Code:
$var=5.122313
$var
=Int($var
Schon einmal ein Dankeschön im vorraus

Edit :
Ist mir so im Nachinein aufgefallen :

Falsch !
Eine Int-Variable kann auch als Char benutzt werden , das mit dem String ist aber richtig (wenn man ganz penibel ist kann man daran auch meckern , will ich jetzt aber nicht ;P ) :
Code:
int main()
{
  int var=15;
  char var2='l';
  var=var2;
  var=155;
  var2=var ;
}
1.
Das wäre z.B. $aSplit.

2.
$iExe <- Exe ist ein Beispiel, wäre aber i, da Execute in der Laufzeit dann einen Integerwert entzählt.

3.
Da müsstest du das erste $nNumber nennen und das danach dann $iNumber.


Wegen C++. JA gut, ich kann nur mit meinem halbes Jahr Wissen glänzen^^
Generell kann man aber doch sagen, dass dort eine Variable keinen anderen Datentyp annehmen kann?

@.nAno:

Das ist es ja eben, es solle einen einheitlichen Stil geben, weil man sosnt einfach nicht helfen kann. Wenn du z.B. auf gehst, du wirst da JEDEN guten sehen, der sich nach diesem Schema richtet.
Es zeichnet gewissermaßen einen guten Programmierer aus, und außerdem können andere deine Codes besser lesen. Prinzipiell gibts aber grundlegende Sachen, wie z.B. anständige Variablenbenennung und Funktionen ans Ende, denn nirgendswo anders bringen Funktionen was! Das hat nichts mit einem eigenen Stil zutun.

MfG
PenGuin :O is offline  
Old 07/17/2010, 00:09   #8
 
elite*gold: 1
Join Date: Oct 2008
Posts: 1,078
Received Thanks: 276
Quote:
Originally Posted by pinguin94 View Post
Das ist es ja eben, es solle einen einheitlichen Stil geben, weil man sosnt einfach nicht helfen kann. Wenn du z.B. auf gehst, du wirst da JEDEN guten sehen, der sich nach diesem Schema richtet.
Es zeichnet gewissermaßen einen guten Programmierer aus, und außerdem können andere deine Codes besser lesen.
Einen Programmierer und seine Fähigkeiten nach seinem Stil zu bewerten ist mehr als oberflächlich (um nicht zu sagen nooblike).
Ich kenne genug erfahrene Programmierer und jeder von ihnen hat seinen eigenen Stil, das macht keinen von ihnen schlechter als den anderen
Außerdem ist es mir bei keinem bisher schwer gefallen den Source zu lesen, solange auch nur die primitivste Form eines persönlichen Stils vorlag.

Quote:
Originally Posted by pinguin94 View Post
Prinzipiell gibts aber grundlegende Sachen, wie z.B. anständige Variablenbenennung und Funktionen ans Ende, denn nirgendwo anders bringen Funktionen was! Das hat nichts mit einem eigenen Stil zu tun.
Anständige Variablebennung ist natürlich wichtig, dagegen hab ich auch nichts gesagt, oder?
Und natürlich hat es was mit einem eigenen Stil zu tun.
Wenn du bei der Variablebennung die von der erwähnte ungarische Notation verwendest ist das ein anderer Stil, als wenn du das nicht tust...
.nAno is offline  
Old 07/17/2010, 00:27   #9
 
PenGuin :O's Avatar
 
elite*gold: 2
Join Date: Mar 2008
Posts: 1,778
Received Thanks: 1,222
@ .nAno:
Einigen wir uns darauf, dass es nur ein Leitfaden für Neulinge sein soll, um ihnen ein gewissen Gefühl von Struktur zu zeigen.
Klar gibt es immer Unterschiede, ich möchte es auch keinem aufzwängen, aber trotzdem ist alles andere besser, als was ich von manchen hier sehe, da kann so ein Tutorial nicht schaden.
PenGuin :O is offline  
Old 07/17/2010, 05:04   #10
 
HardCore.1337's Avatar
 
elite*gold: 1
Join Date: Feb 2009
Posts: 1,726
Received Thanks: 729
Ich finde auch, du hast dir Mühe gegeben.
Einen ähnlichen Plan oder auch Leitfaden habe auch ich bereits für unser Programmierteam (Coders United) entwickelt. Dieser stieß aber auf die gleichen Hindernisse wie dein Ablaufplan.

Sicher, für außenstehende ist eine einheitliche Programmstruktur leichter zu lesen, aber warum sollen

a) sich die Programmierer (die Leute, die das Programm verstehen müssen), sich nach denen Richten, die das Programm nur lesen wenn nicht sogar nur leechen wollen?

b) warum sollte man seinen persönlich angeigneten Stil für so etwas hergeben?

Also, sie es nicht als Anschuldigung sondern als Tatsache, das so ein Konzept mehr ärger im ende macht als es eigentlich Freude bringen sollte.
HardCore.1337 is offline  
Old 07/17/2010, 09:52   #11
 
bladerofdarknes's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 1,524
Received Thanks: 285
mal ganz dumm gesagt, wieso sollte man soetwas anordnen wie andere es wollen?
der source gehört dir und niemand anderst! hört sich an wie unterstützung für leecher
bladerofdarknes is offline  
Old 07/17/2010, 10:30   #12
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,876
Quote:
Originally Posted by pinguin94 View Post
1.
Das wäre z.B. $aSplit.

2.
$iExe <- Exe ist ein Beispiel, wäre aber i, da Execute in der Laufzeit dann einen Integerwert entzählt.

3.
Da müsstest du das erste $nNumber nennen und das danach dann $iNumber.


Wegen C++. JA gut, ich kann nur mit meinem halbes Jahr Wissen glänzen^^
Generell kann man aber doch sagen, dass dort eine Variable keinen anderen Datentyp annehmen kann?
Sorry , wollte gestern schon antworten , gab aber Probleme mit dem Inet

1. Was ist , wenn Split mir kein Array übergibt , sondern eben eine VAriable (sprich einen einzigen Wert) ? Wenn der Text , der zum splitten genommen wird bei der Compilierung unbekannt ist , dann wird es problematisch .

2. Wer sagt denn , dass exe nur einen Integer Wert erhält ?
Vielleicht sieht der Code ja folgendermaßen aus :
PHP Code:
$input=Inputbox("","Gib eine Rechnung ein")
$input=Execute($input
Bspw. könnte da jemand "1+1/3" eingeben oder aber "1+1" , es ist also nicht klar ersichtlich welchen Wert man hier bekommt . Es könnte auch ein Befehl eingegeben werden , z.b. MouseClick("left",122,122) , das wäre dann also ein String ...

3.
Da habe ich 2 Mankos :
1. Und das ist dann übersichtlicher , wenn du mal $iNumber , $aNumber ,$fNumber und mal $nNumber hast ?
2. Du willst also eine gute Source-Code-Struktur vermitteln , würdest dafür aber einen schlechten Programmier-Stil in Kauf nehmen ? Es ist einfach kein guter Stil eine neue Variable zu erzeugen , wenn nicht umbedingt eine neue gebraucht wird .

@C++
Wenn du eine Variable (nicht auf dem Stack) als Integer deklariert hast , dann gibt es , so viel ich weiß , keine Möglichkeit den Datentyp zu verändern .
Sprich die Integer-Variable zu einer Short-Variable zu machen .
Es ist aber möglich mit static_cast<...> die Variablenwerte ineinander umzuwandeln (zumindest meistens) und was damit nicht geht , ist schnell mit einer kleinen Funktion gemacht .
Quote:
Originally Posted by pinguin94 View Post
@.nAno:

Das ist es ja eben, es solle einen einheitlichen Stil geben, weil man sosnt einfach nicht helfen kann. Wenn du z.B. auf gehst, du wirst da JEDEN guten sehen, der sich nach diesem Schema richtet.
Es zeichnet gewissermaßen einen guten Programmierer aus, und außerdem können andere deine Codes besser lesen. Prinzipiell gibts aber grundlegende Sachen, wie z.B. anständige Variablenbenennung und Funktionen ans Ende, denn nirgendswo anders bringen Funktionen was! Das hat nichts mit einem eigenen Stil zutun.

MfG
Wenn alle von der Brücke springen und sagen : "Das zeichnet echte Mathematiker aus" .
Dann springst du auch hinterher ?
Btw. Hier im Forum gibt es genug "Ausnahmen" , die sehr gut sind (vllt. sogar besser als auf autoit.de) und die sich nicht nach diesem Schema richten .
Shadow992 is offline  
Old 07/17/2010, 14:49   #13
 
PenGuin :O's Avatar
 
elite*gold: 2
Join Date: Mar 2008
Posts: 1,778
Received Thanks: 1,222
StringSplit wird dir immer ein Array liefern, wenn es kein Error gibt.
Im 0 Index die Anzahl und dann im ersten Element halt das einzige gesplittete.

Bei der Inputbox wäre es immer String, da diese ja zur Laufzeit einen String als Rückgabewert hat.

Und das mit der Number Variable ist ein BEISPIEL. Number muss nicht gewählt werden, da passt auch jedes andere rein.


Aber nochmal für alle:
Dieses Tutorial kann doch neuen Leuten helfen, sich einen, in meinen Augen, einigermaßen guten Programmierstil anzueignen, wenn sie neu auf dem Gebiet sind. Ich zwinge keinen seinen Stil zu ändern, das kann ich auch nicht, ich kann nur hoffen, dass, wenigstens ein paar Ratschläge beherzigt werden, weil es Dinge gibt die selbstverständlich sind.
Ich meine, wo zeichnet das einen eigenen Stil aus, wenn man Funktionen mit Func...EndFunc in einer Schleife macht?
Es bringt einfach nichts. Funktionen sollten ans Ende und Variablen korrekt benannt werden, wenn das geschieht, bin ich persönlich recht zufrieden und kann sagen ,dass der Guide geholfen hat.

Aber vielleicht ist es auch ein bisschen zuviel verlangt, denn es ist hier immerhin eine Botcoder Section, wo jeder am besten alles hacken will mit seinen Autoit Kenntnissen <.<

Naja aber vielleicht sollte ich ihn auch wieder löschen, wenn soviele negative Resonanzen kommen...
PenGuin :O is offline  
Old 07/17/2010, 17:32   #14
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,876
Quote:
Originally Posted by pinguin94 View Post
StringSplit wird dir immer ein Array liefern, wenn es kein Error gibt.
Im 0 Index die Anzahl und dann im ersten Element halt das einzige gesplittete.

Bei der Inputbox wäre es immer String, da diese ja zur Laufzeit einen String als Rückgabewert hat.

Und das mit der Number Variable ist ein BEISPIEL. Number muss nicht gewählt werden, da passt auch jedes andere rein.


Aber nochmal für alle:
Dieses Tutorial kann doch neuen Leuten helfen, sich einen, in meinen Augen, einigermaßen guten Programmierstil anzueignen, wenn sie neu auf dem Gebiet sind. Ich zwinge keinen seinen Stil zu ändern, das kann ich auch nicht, ich kann nur hoffen, dass, wenigstens ein paar Ratschläge beherzigt werden, weil es Dinge gibt die selbstverständlich sind.
Ich meine, wo zeichnet das einen eigenen Stil aus, wenn man Funktionen mit Func...EndFunc in einer Schleife macht?
Es bringt einfach nichts. Funktionen sollten ans Ende und Variablen korrekt benannt werden, wenn das geschieht, bin ich persönlich recht zufrieden und kann sagen ,dass der Guide geholfen hat.

Aber vielleicht ist es auch ein bisschen zuviel verlangt, denn es ist hier immerhin eine Botcoder Section, wo jeder am besten alles hacken will mit seinen Autoit Kenntnissen <.<

Naja aber vielleicht sollte ich ihn auch wieder löschen, wenn soviele negative Resonanzen kommen...
Das ist lediglich Kritik.
Wenn du mit Krtitk nicht leben kannst, dann solltest du es wirklich löschen, ansonsten kannst du es lassen. Wir bzw. Ich habe auch nicht gesagt, dass das komplette Tutorial Schrott ist, Ich wollte dir nur klarmachen , dass das mit den Variablen in AutoIt so nicht geht .
Das höchste, was meiner Meinung nach geht, ist folgendes :
PHP Code:
l für lokale Variablen
g für globale Variablen 
Mehr macht in AutoIt keinen Sinn.

P.S.
Ich habe vielleicht bessere Kentnisse als du.
Ich wäre allgemein vorsichtig mit solchen Aussagen.
Shadow992 is offline  
Old 07/17/2010, 17:35   #15
 
bladerofdarknes's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 1,524
Received Thanks: 285
Shadow992 entspann mal
streitet glaub ich keiner ab das du mehr weisst, aber so nieder machen musste ihn nicht unbedingt :P
er ist halt ein besser wisser ;D
bladerofdarknes is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
[Release]Client-Patcher by EmX - mit Sourcecode (AutoIt)
03/26/2012 - Metin2 PServer Guides & Strategies - 42 Replies
N'abend, Ich hab mal einen Clientpatcher für euch gemacht. Ist verdammt einfach zu bedinen und der Sourcecode liegt bei :P Features: -Einfach zu bedienen -News Anzeige -Selbstpatchend -Mehrere Designs
NinjaSkid WoWBot AutoIt Sourcecode
06/07/2010 - WoW Bots - 23 Replies
Download Wer also eigene Schritte unternehmen will und nicht gleich einen ganzen Bot schreiben möchte, für den gibt es hier einen weiteren Sourcecode. Einfach die statischen Adressen ändern und loslegen. Hilfe dazu gibt es bei Google unter: WoW Memory Editing



All times are GMT +2. The time now is 20:27.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.