Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 17:33

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

Advertisement



[AutoIT] Tipps und Tricks

Discussion on [AutoIT] Tipps und Tricks within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old   #1
 
Xereon's Avatar
 
elite*gold: 0
Join Date: Apr 2009
Posts: 793
Received Thanks: 366
[AutoIT] Tipps und Tricks

So noch ein TuT von mir.^^
Diesmal geht es um allsamt interesantes was AutoIT angeht.


Übersicht
  1. Dynamische GUI Erzeugung mit Arrays und For Schleifen
  2. Kommunikation zwischen zwei Programmen
  3. Decryption mit MC4
  4. Alles was mit dem Internet zu tuen hat
    1. Downloader mit Fortschrittsbalken
  5. File Management




1. Dynamische GUI Erzeugung mit Arrays und For Schleifen

So klingt jetz etwas kompliziert, da ich mehrere Dinge aufeinmal erklären werde, ist aber eigentlich ganz simpel.
Es geht darum sein Script etwas dynamischer zu erstellen. Es mag nicht umbedingt überall angepasst seien, aber dort wo man viel mit sich "wiederholenden" (Gui)Formen zu tuen hat, ist es immer praktisch.

Also fangen wir mal an. Zunächst definieren wir mal den Array:
PHP Code:
Dim $Test[6]
      
$Test[0] = "Hallo Welt"  ;~ Deutsch
    $Test
[1] = "Hello World" ;~ Englisch
    $Test
[2] = "Bonjour tout le monde" ;~ Französich
    $Test
[3] = "Ciao a tutti!" ;~ Italienisch
    $Test
[4] = "Hola Mundo" ;~ Spanisch
    $Test
[5] = "Merhaba Dünya" ;~ Türkisch 
So und jetz setzten wir uns mal an unser GUI:
PHP Code:
#Region GUI SECTION
$GUI GUICreate("TEST: Hello World",300,30*UBound($Test))

Dim $Button[UBound($Test)]
     For 
$i 0 To (UBound($Test) -1Step 1
        $Button
[$i] = GUICtrlCreateButton($Test[$i],0,30*$i,300,30)
    
Next
    
GUISetState
(@SW_SHOW,$GUI)    
#EndRegion

While 1
WEnd 
Ok dann verusch ich es mal zu erklären:
UBound gibt uns den Index eines Arrays zurück, also "6". Die Größe des GUI`s wird von dem Index des Arrays bestimmt: 30*UBound($Test)
Das entspricht: 30*6
Das nächste müsste auch verständlich seien: Zuerst initialisieren wir den Array. Dann definieren wir die Elemente durch die For Scheife. hier solltet ihr auf das (UBound($Test) -1) achten. Da wir nun die elemente des Arrays definieren müssen wir 1 abziehen, da ja das größte Element nur 5 beträgt. Die einzelnen Buttons haben je die ID $Button[1-5].

Ok jetz fehlt aber immer noch was. Wir müssen natürlich noch die Message While dynamisch schreiben:
PHP Code:
While 1
    $msg 
GUIGetMsg();
    For 
$i 0 To (UBound($Test) -1Step 1
        
If ($msg == $Button[$i]) Then
            
Exit
        EndIf
    
Next
WEnd 
Jetzt bleibt aber immernoch eine Frage offen. Jeder Button hat ja jetz die selbe Funktion(exit), was soll mir das bringen. Die Antwort ist simpel: So bringt euch das überhaupt nicht, habt ihr jedoch eine Funktion die Parameter benutzt kann das ziemlich praktisch ist. Simples Beispiel:
PHP Code:
    For $i 0 To (UBound($Test) -1Step 1
        
If ($msg == $Button[$i]) Then
            Eure_komische_Funktion
($i*400)
        EndIf
    
Next 
wenn ihr lust habt könnt ihr eine Funktion erstellen die $Test[x] ausgibt und diese in die Loop einbauen.



2. Kommunikation zwischen zwei Programmen

Ein Problem das vorkommen kann wenn programmiert ist das man gerne einen anderen Programm einen bestimmten Wert mitteilen möchte. Ich werde euch heute zeigen wie man es mit einem INI File macht. wir benutzen dazu unseren File aus den obrigen Tutorial:
PHP Code:
Dim $Test[6]
      
$Test[0] = "Hallo Welt"  ;~ Deutsch
    $Test
[1] = "Hello World" ;~ Englisch
    $Test
[2] = "Bonjour tout le monde" ;~ Französich
    $Test
[3] = "Ciao a tutti!" ;~ Italienisch
    $Test
[4] = "Hola Mundo" ;~ Spanisch
    $Test
[5] = "Merhaba Dünya" ;~ Türkisch

#Region GUI SECTION
$GUI GUICreate("TEST: Hello World",300,30*UBound($Test))

Dim $Button[UBound($Test)]
     For 
$i 0 To (UBound($Test) -1Step 1
        $Button
[$i] = GUICtrlCreateButton($Test[$i],0,30*$i,300,30)
    
Next
    
GUISetState
(@SW_SHOW,$GUI)    
#EndRegion

While 1
    $msg 
GUIGetMsg();
    For 
$i 0 To (UBound($Test) -1Step 1
        
If ($msg == $Button[$i]) Then
            
;~ SendReponse($i)
        EndIf
    
Next
WEnd 
Wie ihr seht habe ich die Funktion innerhalb der IF ein bischen abgewandt, aber dazu werden wir später kommen. Zuerst müssen wir ersteinmal ein INI File erstellen:
PHP Code:
#include <file.au3>
$ini "inifile.ini"

Dim $Test[6]
      
$Test[0] = "Hallo Welt"  ;~ Deutsch
        
...
    
$Test[5] = "Merhaba Dünya" ;~ Türkisch
    
_FileCreate 
($ini
Ok und jetz werden wird den INI File "schreiben":
PHP Code:
$file FileOpen($ini,2)

FileWriteLine($file,"[Arrays]")
FileWriteLine($file,"Index = " & (UBound($test) -1))
For 
$i 0 To (UBound($Test) -1Step 1
    FileWriteLine
($file,"Test" $i " = " $test[$i])
Next
FileWriteLine
($file,"[Answere]")
FileWriteLine($file,"Code = -1")

FileClose($file
Wie ihr seht kommt das Neugelernte von oben zu Einsatz. Wenn ihr jetz alles richtig gemacht habt und das Script ausgeführt habt, sollte sich jetz in euren Verzeichniss eine Datei mit dem Namen inifile.ini befinden und folgenden Inhalt habe:
Code:
[Arrays]
Count = 5
Test0 = Hallo Welt
Test1 = Hello World
Test2 = Bonjour tout le monde
Test3 = Ciao a tutti!
Test4 = Hola Mundo
Test5 = Merhaba Dünya
[Answere]
Code = -1
Das ist etwas was ich persöhnlich total cool finde, wir können einen INI file dynamisch schreiben lassen. Ok jetz gehen wir zu der Funktion die in dem IF stand. Den folgenden Code könnt ihr über oder unter den GUI Bereich schreiben:
PHP Code:
func SendReponse($Code)
    
IniWrite($ini,"Answere","Code",$Code)
EndFunc 
Wars auch schon; Noch das Kommentar wegmachen, dann könnt den File speichern und compilen.

Ok jetz machen wir uns auf unseres zweites Programm zu schreiben:
PHP Code:
$ini "inifile.ini"

$ArrayIndex IniRead($ini,"Arrays","Index","0")

Dim $Test[$ArrayIndex +1]
    For 
$i 0 To $ArrayIndex Step 1
        $Test
[$i] = IniRead($ini,"Arrays","Test" $i,"N/A")
    
Next
    
While 1
WEnd 
Ok was machen wir? Zuerst besorgen wir den Index(-1) von unserem Test Array. Dann kopieren wir diesen sozusagen indem wir ihn selber neu definieren und die Werte dafür aus dem IniFile beziehen. am Schluß steht noch eine Schleife, die in unseren Fall eine GUI Loop darstellen soll. Und genau diese Schleife bearbeiten wir jetz *hehe*:
PHP Code:
While 1
    $code 
IniRead($ini,"Answere","Code",-1)
    For 
$i 0 To $ArrayIndex Step 1
        
If ($code == $iThen
            MsgBox
(-1,"Hello World",$Test[$i])
            
IniWrite($ini,"Answere","Code",-1)
        EndIf
    
Next
WEnd 
So jetz nur noch beide scripts compilen, öffnen und Spaß haben.
Hier noch einige Aufgaben für euch, um ein bischen zu üben, falls ihr daran Spaß habt:
  1. Macht noch ein paar Sprachen hinzu indem ihr den GoogleTranslator verwendet
  2. Macht den X button im ersten Script funktionstüchtig und lasst das zweite Script automatisch beenden sobald durch den Button das erste beendet hat
  3. Versucht diese Techniken in euren Programmen anzuwenden, falls sie dort sinn ergeben

3. Decryption mit MC4

So was auch noch ganz praktisch seien kann ist die Verschlüßelung von Strings mithilfe von MC4. Hierfür benötigen wir die Funktion _StringEncrypt :
PHP Code:
#include <string.au3>

$string_1 "cRy^Pt`iON"
$password "Cryption can be so hard..."
$crypted _StringEncrypt (1,$string_1,$password,1)
$decrypted _StringEncrypt (0,$crypted,$password,1)
MsgBox(-1,"Cryption",$crypted)
MsgBox(-1,"Decryption",$decrypted

Mit _StringEncrypt können wir Decrypten und Crypten. Der erste Parameter gibt dies an: 1 wenn wir crypten wollen, 0 wenn wir decrypten wollen. Der nächste Parameter gibt den Text an den wir verschlüsseln wollen und der nächste das Passwort dazu. Das Passwort dient dazu das wir das Verschlüsselte wieder entschlüsseln können, da ihr das selbe Passwort bei der Entschlüsselung nehmen müsst wie bei der Verschlüsselung. Der letzte Wert gibt an wie gut die Verschlüsselung ist. Sollte er zu hoch seien, kann das Verschlüsseln sehr lange dauern.


4. Alles was mit dem Internet zu tuen hat

Hach das schöne Internet. Damit lassen sich sehr viele Dinge anstellen und einige Sachen können wir mit AutoIT auch. Als erstes werden wir mal sehen wie wir den ein Patcher für unser Programm schreiben können:
Mit InetGet holen wir uns ein File aus dem Internet. Probieren wir das doch einfach mal indem wir uns ein Programm schreiben das uns immer die aktuellste version von diesen Tutorial holt:
PHP Code:
InetGet("http://www.elitepvpers.com/forum/epvp-coders-tutorials/286071-autoit-tipps-und-tricks.html","Tutorial.html",1,0)
exit 
Zunächst holen wir uns das Tutorial(erster Parameter), danach speicher wir sie als "Tutorial.html"(zweiter Parameter). Der dritte Parameter gibt an ob wir sie aus den Cache holen(0) oder sie aufjedenfall neuladen(1). Der vierte Parameter gibt an ober wir warten bis die Datei gedownlaodet ist(0) oder ob wir gleich weitermachen(1). Wenn ihr im Background downloadet könnt ihr folgenen Makro benutzen um die aktuell heruntergeladenen Bytes zu ermitteln(zB für ein Fortschritts Balken) : @InetGetBytesRead. Wenn ihr einen Download abrechen wollt dann get "abort" als ersten Parameter mit. Wenn euer Server Passwort geschützt ist müsst ihr eure Adresse folgendermaßen eintragen:
PHP Code:
InetGet("http://EureUsername:"
Bevor wir jedoch die Datei runterladen wollen wir doch vieleicht vorher unseren User wissen lassen wie groß diese ist. Dazu benutzen wir InetGetSize. Hier fallen alles zusätzlichen Parameter(also ob BG download usw.) weg und man muss jeglich die URL als Parameter angeben. Der Rückgabe Wert ist die größe in Bytes.

Auch wollen wir vieleicht erst checken, ob wir den Host überhaupt erreichen.
Dazu benutzen wir Ping:
PHP Code:
Ping("www.elitepvpers.com")
If @
error Then
    MsgBox
(-1,"ERROR","Cant connect to server")
    Exit
Else
    
InetGet("http://www.elitepvpers.com/forum/epvp-coders-tutorials/286071-autoit-tipps-und-tricks.html","Tutorial2.html",1,1)
EndIf 

4.1. Downloader mit Fortschrittsbalken

In der vorherigen Section haben wir gesehen, wie man einen file downloaden kann. In dieser Section werden wir lernen, wie man anhand dieses Beispiel Fortschrittsbalken erstellt. Wir beginnen damit indem wir erstmal das Script so umformen, dass der Download im hintergrund läuft
PHP Code:
Ping("www.elitepvpers.com")
If @
error Then
    MsgBox
(-1,"ERROR","Cant connect to server")
    Exit
Else
    
InetGet("http://www.elitepvpers.com/forum/epvp-coders-tutorials/286071-autoit-tipps-und-tricks.html","Tutorial2.html",1,1)
EndIf
$Size InetGetSize("http://www.elitepvpers.com/forum/epvp-coders-tutorials/286071-autoit-tipps-und-tricks.html")
$Percent $Size 100

While 1
WEnd 
Wie ihr seht habe ich noch 2 Variablen und die Schleife am Ende hinzugefügt, die als Platzhalter dient. $Size ist die Größe des Files während $Percent 1% dieser Größe darstellt. Mit ProgressOn werden wir jetz ein Fortschritts Balken erstellen:
PHP Code:
ProgressOn("Downloader","Size = " $Size " Bytes","0%")
While 
1
WEnd 
ProgressOn kreirt ein Fenster mit einem Fortschrittsbalken. Der erste Parameter ist der Fenstertitel, der zweite eine Art Überschrift über den Balken und der dritte eine Angabe unter dem Balken. So und jetz werden wir mal unseren Balken zu Leben erwecken indem wir die While Schleife druch folgendes ersetzen:
PHP Code:
For $i 0 To 100 Step 1
    
While 1
        
If @InetGetBytesRead >= $Percent*$i Then
            ProgressSet
($i,$i "%")
            
Sleep(100)
            If 
$i == 100 Then
                ProgressOff
()
            EndIf
            
ExitLoop
        
ElseIf @InetGetBytesRead == -1 Then
            ProgressSet
(100,"ERROR","An Error Occured!!!")
            
ProgressOff()
            
MsgBox(-1,"ERROR","An Error Occured!!!")
            Exit
        EndIf
    
WEnd    
Next
MsgBox
(-1,"Succes","Download Complete!!!"
Ok eins nach den anderen. Zuerst erstellen wir eine For Schleife die von 0 bis 100 durchläuft, vergleichbar mit 0%-100%. In dieser wird jetz eine While erzeugt, welche nur beendet wird, wenn 1% des downloads fertig sind. Denn mit @InetGetBytesRead bekommen wir die bereits heruntergeladenen Bytes raus. Sollte also 1% fertig geladen seien kommt ProgressSet($i,$i & "%") zum Einsatzt. Der erste Parameter ändert den Fortschrittsbalken in Prozent. Der zweite ändert den Text unter dem Balken. Jetz kommt nocheinmal eine IF zum Einsatz: Wenn wir bei 100% angelangt sind soll sich der Balken mithilfe von ProgressOff() schließen. Sollte sich ein error während diesem ganzen Prozess ereignen wird @InetGetBytesRead auf -1 gesetzt. Das überprüfen wir mit dem ElseIf. Aber jetz ist da noch eine Unklarheit: Wofür ist das Sleep? Das Sleep brauchen wir damit wir den Balken überhaupt sehen(wenn ihr ein richtigen Dwonloader macht, macht das sleep bitte raus), da eine HTML Datei so klein ist, ist sie in null komma nichts gedownloadet und von unseren Balken sehen wir überhaupt nichts. Daher haben wir einen kleinen Sleep der den Balken etwas verzögert.

5. File Management

Ok hierfür werden wir ein größeres Projekt ähnlich denen wie in Section 1 und 2 schreiben. Wir beginnen indem wir erstmal das GUI schreiben:
PHP Code:
#include <file.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$path "C:\"

#Region ### START Koda GUI section ### Form=
$Window = GUICreate("Texteditor Tutorial", 668, 525, 230, 209)
GUISetBkColor(0xFFFFE1)
$Box = GUICtrlCreateEdit("", 10, 10, 536, 501)
GUICtrlSetData(-1, "
Open a file please")
$Open = GUICtrlCreateButton("Open File", 560, 10, 101, 41, 0)
$Save = GUICtrlCreateButton("Save File", 560, 65, 101, 41, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    
$nMsg = GUIGetMsg()
    Switch 
$nMsg
        Case 
$GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd 
Wie ihr seht habe ich den Code von Koda generieren lassen(außer ein paar Sachen wie zB die Variable $path und dne Include). Wir beginnen damit indem wir einfach mal ein File öffnen:
PHP Code:
        Case $Open
            $path 
FileOpenDialog("Datei öffnen",$path,"Textdateien (*.txt)")
            
GUICtrlSetData($Box,"")
            For 
$i 0 To _FileCountLines($pathStep 1
                Local $line 
FileReadLine($path,$i)
                
Local $data GUICtrlRead($Box)
                 
GUICtrlSetData($Box,$data & @CRLF $line)
            
Next 
Ok zur Erläuterung: Zunächst ienmal holen wir uns den Pfad der datei mit den OpDialog.Die Parameter bauen sich wiefolgt auf: 1. Name des dialoges 2. Voreingestellter Pfad wo sich der Dialog befindet(dardurch das wir $patch neu schreiben, kommen wir immer an die Stelle zurück wo wir zuletzt etwas ausgewählt haben). 3. Filtergruppen: Zunächst einmal geben wir der Gruppe einen Namen(Textdateien), dann bestimmen wir welche Dateien in diesen Filter fallen(.txt Datein). Wir können mehrere Dateitypen so eintragen: "Filter1 (*.bla;*.bla2)"
Die nächsten Zeilen dürften klar seien. Wir holen uns die Zeilenanzahl des Files und holen uns dann immer Zeile um Zeile(mit FileReadLine) und tragen diese in unsere Box ein.
So das war auch schon alles zu unseren ausles, jetz kommen wir zum schreiben was sich als einfacher erweisen sollte:
PHP Code:
        Case $Save
            $path 
FileSaveDialog("Datei speichern",$path,"Textdatein (*.txt)")
            If 
StringRight($path,4) <> ".txt" Then
                $path 
$path ".txt"
            
EndIf
            
Local $data GUICtrlRead($Box)
            
FileWrite($path,$data)
    EndSwitch 
Ok FileSaveDialog verhält sich genauso von den Parametern wie FileOpenDialog. Jedoch müssen wir aufpassen, da uns der SaveDialog das ".txt" hinten dran hängt. Daher das IF, welches einfach noch ".txt" an den Pfad dranhängt falls nichts anderes angeben. FileOpen im Modus 2 benötigen wir damit der vorherige Inhalt gelöscht wird.





So das wars erstmal mit meinem Tutorial. Schickt mir eure Vorschläge was man noch rein machen könnte, ich freue mich drauf. Sollte etwas nicht funktionieren: mir Bescheid sagen. Ich habe teilweiße manche Stellen nachträglich geändert und da ich keine Lust hatte alles neu einzufügen habe ich die Sachen von Hand nachgebessert.


MfG

Xereon
Xereon is offline  
Thanks
21 Users
Old 07/21/2009, 15:53   #2
 
Xereon's Avatar
 
elite*gold: 0
Join Date: Apr 2009
Posts: 793
Received Thanks: 366
Edit:
3 neue Sections hinzugefügt:
-Verschlüsselung mit MC4
-Internet Section
-Daten Management mit OpenDialogs und SaveDialogs
Xereon is offline  
Thanks
1 User
Old 12/03/2009, 10:22   #3
 
maikel maikel's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 245
Received Thanks: 19
thx hat mir wirklich sehr weitergeholfen =) boa was man mit deinem wissen alles nur anstellen könte. du must mir mal nachhilfe in autoit geben^^
maikel maikel is offline  
Old 12/13/2009, 00:00   #4


 
Ende!'s Avatar
 
elite*gold: 1
Join Date: Feb 2009
Posts: 6,379
Received Thanks: 7,998
Nice ^^ Das mit dem ProgressSet usw. wusste ich noch gar nicht, hab mir da immer extra ne GUI für gemacht Thx ^^
Ende! is offline  
Old 12/16/2009, 14:52   #5
 
elite*gold: 0
Join Date: Apr 2006
Posts: 103
Received Thanks: 5
Hi,

Warum FileWriteLine, und nicht eine der IniWrite* Functionen ?
Busti is offline  
Old 12/16/2009, 15:12   #6
 
Xereon's Avatar
 
elite*gold: 0
Join Date: Apr 2009
Posts: 793
Received Thanks: 366
Quote:
Originally Posted by Busti View Post
Hi,

Warum FileWriteLine, und nicht eine der IniWrite* Functionen ?
Schau dir nochmal die Inifunktionen an, ich glaube du hast deren Sinn noch nicht ganz so verstanden
Xereon is offline  
Old 12/16/2009, 16:21   #7
 
elite*gold: 0
Join Date: Apr 2006
Posts: 103
Received Thanks: 5
Ich Frage mich was ich nach Jahre langer anwendung mit Autoit, an den "noch nie" angewendeten "iniWrite"- Functionen, (von den ich nebenbei keine ahnung habe) nicht verstehen könnte.

btw ..
willst du mir jetzt sagen, das du diesen code, bzw diesen "text", :
Code:
[Arrays]
Count = 5
Test0 = Hallo Welt
Test1 = Hello World
Test2 = Bonjour tout le monde
Test3 = Ciao a tutti!
Test4 = Hola Mundo
Test5 = Merhaba Dünya
[Answere]
Code = -1
Mit der Iniwrite Function nicht machen kannst?

Ich glaube du solltest dir nochmal die inifunctionen anschauen...

Ich benutze sie in (fast) jeden programm..

Denkst du ernsthaft, dieser weg ist besser als gleich Iniwrite zu benutzen ?
Code:
$file = FileOpen($ini,2)

FileWriteLine($file,"[Arrays]")
FileWriteLine($file,"Index = " & (UBound($test) -1))
For $i = 0 To (UBound($Test) -1) Step 1
    FileWriteLine($file,"Test" & $i & " = " & $test[$i])
Next
FileWriteLine($file,"[Answere]")
FileWriteLine($file,"Code = -1")

FileClose($file)
somal die datei schon existiert er einfach alles drunter schreibt,
wobei er wiederum bei der ini einfach den wert nach dem = ergänzen würde ?

...
Busti is offline  
Old 12/16/2009, 17:32   #8
 
Xereon's Avatar
 
elite*gold: 0
Join Date: Apr 2009
Posts: 793
Received Thanks: 366
Quote:
Originally Posted by Busti View Post
Ich Frage mich was ich nach Jahre langer anwendung mit Autoit, an den "noch nie" angewendeten "iniWrite"- Functionen, (von den ich nebenbei keine ahnung habe) nicht verstehen könnte.

btw ..
willst du mir jetzt sagen, das du diesen code, bzw diesen "text", :
Code:
[Arrays]
Count = 5
Test0 = Hallo Welt
Test1 = Hello World
Test2 = Bonjour tout le monde
Test3 = Ciao a tutti!
Test4 = Hola Mundo
Test5 = Merhaba Dünya
[Answere]
Code = -1
Mit der Iniwrite Function nicht machen kannst?

Ich glaube du solltest dir nochmal die inifunctionen anschauen...

Ich benutze sie in (fast) jeden programm..

Denkst du ernsthaft, dieser weg ist besser als gleich Iniwrite zu benutzen ?
Code:
$file = FileOpen($ini,2)

FileWriteLine($file,"[Arrays]")
FileWriteLine($file,"Index = " & (UBound($test) -1))
For $i = 0 To (UBound($Test) -1) Step 1
    FileWriteLine($file,"Test" & $i & " = " & $test[$i])
Next
FileWriteLine($file,"[Answere]")
FileWriteLine($file,"Code = -1")

FileClose($file)
somal die datei schon existiert er einfach alles drunter schreibt,
wobei er wiederum bei der ini einfach den wert nach dem = ergänzen würde ?

...
Oh tut mir leid, habe gedacht du meintest den Texteditor -.-

Also um dir deine Frage ein weiteres Mal zu beantworten:
Genau kann ich dir nicht sagen warum ich FileWriteLIne verwendet habe(ist ja immerschon ne Weile her), aber ich nehme einfach mal an, dass ich, während ich das Tutorial geschrieben habe, nicht daran gedacht habe.
Xereon is offline  
Old 12/17/2009, 05:22   #9
 
elite*gold: 0
Join Date: Apr 2006
Posts: 103
Received Thanks: 5
Kay, mehr wollt ich doch garnicht beantwortet haben :P

Ich rate dir es upzudaten mit Iniwrite, da er sonst dein Text immer an die Datei dranhängt.

Grüße.
Busti is offline  
Old 02/15/2010, 22:35   #10
 
elite*gold: 0
Join Date: Jan 2010
Posts: 7
Received Thanks: 0
können wir, das ins Englische für Ihre englischen Leser übersetzen lassen
scrizo is offline  
Old 02/16/2010, 14:04   #11
 
ax5's Avatar
 
elite*gold: 0
Join Date: May 2009
Posts: 1,050
Received Thanks: 472
Good job
ax5 is offline  
Old 05/21/2010, 16:22   #12



 
Spegeli's Avatar
 
elite*gold: 18
The Black Market: 1599/1/0
Join Date: May 2009
Posts: 7,614
Received Thanks: 1,599
Also ich bin ein kompletter Anfänger auf dem gebiet AutoIt und hab nun versucht einen Fortschrittsbalken zu machen:

Code:
Ping("www.elitepvpers.com")
If @error Then
    MsgBox(-1,"ERROR","Cant connect to server")
    Exit
Else
    InetGet("http://downloads.makro-master.de/Pirox%20Profil%20Pack%20%5bNEW%5d/Profiles%20v.3.2.rar","Profile.rar",1,1)
EndIf

$Size = InetGetSize("http://downloads.makro-master.de/Pirox%20Profil%20Pack%20%5bNEW%5d/Profiles%20v.3.2.rar")
$Percent = $Size / 100

ProgressOn("Downloader","Size = " & $Size & " Bytes", "0%")

For $i = 0 To 100 Step 1
    While 1
        If @InetGetBytesRead >= $Percent*$i Then
            ProgressSet($i,$i & "%")
            Sleep(100)
            If $i == 100 Then
                ProgressOff()
            EndIf
            ExitLoop
        ElseIf @InetGetBytesRead == -1 Then
            ProgressSet(100,"ERROR","An Error Occured!!!")
            ProgressOff()
            MsgBox(-1,"ERROR","An Error Occured!!!")
            Exit
        EndIf
    WEnd    
Next
MsgBox(-1,"Succes","Download Complete!!!")
Aber irgendwie verändert sich da nix bei mir :-(
Spegeli is offline  
Old 06/01/2010, 13:34   #13
 
Jay Niize's Avatar
 
elite*gold: 0
Join Date: Oct 2009
Posts: 4,851
Received Thanks: 3,417
gute Arbeit gefällt mir, deshalb hab ichs mal zur Liste getan, auch wenn es schon Sticky is!
Jay Niize is offline  
Old 03/16/2011, 15:01   #14
 
crossfireXfreak's Avatar
 
elite*gold: 0
Join Date: Jan 2011
Posts: 182
Received Thanks: 14
hab mal ne frage kann man autoit kostenlos runterladen?
crossfireXfreak is offline  
Old 03/16/2011, 16:35   #15

 
elite*gold: 177
Join Date: Apr 2008
Posts: 283
Received Thanks: 143
eine sekunde googlen hätte es auch gebracht hier der link
lolerrr is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
Tipps + Tricks
10/17/2012 - Combat Arms - 33 Replies
Hey Leute, ich möchte hier mal ein Thema eröffnen für die anfänger unter uns oder für die die gerne ohne Hacks spielen wollen aber noch nicht soo erfolgreich sind(wie ich;)) Also ihr seit Pro´s in CA? Dann helft uns besser zuwerden und den spaß am Spiel nicht zu verlieren;) Schreibt einfach nützliche Tipps hier rein (ein Thanks von mir ist immer drinn:)) MfG _Flo_GER :handsdown:
Ps3 Tricks und Tipps ??
12/12/2010 - Consoles - 12 Replies
Hey leute hab ne Ps3 und wollte mal in den genuss versteckter aktivitäten oder soetwas kommen :) und ausserdem will ich noch von euch wissen was für euch euer bestes game ist ^^
Tipps und Tricks
05/02/2010 - Combat Arms - 13 Replies
Hey Leute, Vll. wisst ihr noch ich hatte ein Thema aufgemacht wo ich mal eure Meinung zu Tipps und Trick für Combat Arms wollte. Danke nochmal an alle Beteiligten. Also hier die Tipps und Tricks für Combat Arms : ~Wenn eure KD unter 0,90 ist auf jeden fall auf Dealt ~Wenn ihr rusht am besten mit diesen Waffen: P90& UMP ~Kauft euch am Anfang die M4A1 ~Kauft euch die 200gp Magazine ~Wenn ihr Rusht springt um euren Gegner ~Macht am Anfang keinen Schalldämpfer an die Waffe da ihr kaum...



All times are GMT +2. The time now is 17:33.


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.