Welches Koda hast du denn?
Ist doch komisch wenn tausende von sinnlosen Funcs rauskommen
Padmak
Welches Koda hast du denn?
Ist doch komisch wenn tausende von sinnlosen Funcs rauskommen
Padmak
Du musst die ganzen unnötigen (aber nur die unnötigen! :D) GUICtrlSetOnEvent löschen.
Aber mal noch ne Frage. Guggst du auch, ob dein Quelltext funktioniert bevor du ihn ins Forum stellst? :P.
Es fehlt z.B. die _LOG.au3 und es sind einige Syntaxfehler drin. Ich bin jetzt soweit, dass ich es theoretisch ausführen könnte, wenn ich den Dateinamen wissen würde :).
Test3.rar wäre die datei.
Ein syntax fehler wo den?
Aber in der sekunden rechung ist ein fehler da sitze ich auch gerade noch daran
Ok fehler behoben.
[autoit]#cs ----------------------------------------------------------------------------
AutoIt Version: 3.2.10.0
Author: Matthias Reisenauer TG 11/3 (2009)
Script Function:
Battlefront II Updater
#ce ----------------------------------------------------------------------------
#include <GUIConstants.au3>
#include <file.au3>
#include <_LOG.au3>
#include <Inet.au3>
#include <Array.au3>
$IP = _GetIP()
_LOG("Log.txt","==================== Start des Battlefront II Updaters mit der IP: " & $IP & " ====================")
Opt("GUIOnEventMode", 1)
#Region START GUI
$Form1 = GUICreate("Battlefront II Updater", 412, 595, 273, 128)
GUISetBkColor(0x000000)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "Form1Minimize")
GUISetOnEvent($GUI_EVENT_MAXIMIZE, "Form1Maximize")
GUISetOnEvent($GUI_EVENT_RESTORE, "Form1Restore")
$Passwort = GUICtrlCreateInput("Passwort", 96, 144, 229, 20, -1)
$PSC = ("Dark_2009")
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetOnEvent(-1, "PasswortChange")
GUICtrlSetCursor (-1, 5)
$Dateiname = GUICtrlCreateInput("Dateiname", 96, 207, 229, 20, -1)
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetOnEvent(-1, "DateinameChange")
GUICtrlSetCursor (-1, 5)
$Speicher_Pfad = GUICtrlCreateInput("C:\Battlefront_II_Update\", 16, 264, 373, 21, -1)
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetOnEvent(-1, "Speicher_PfadChange")
GUICtrlSetCursor (-1, 5)
$Install_Passwort = GUICtrlCreateInput("Installations Passwort", 98, 359, 229, 21, -1)
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetOnEvent(-1, "Install_PasswortChange")
GUICtrlSetCursor (-1, 5)
$Install_Pfad = GUICtrlCreateInput("C:\Programme\LucasArts\Star Wars Battlefront II\GameData\", 18, 416, 373, 21, -1)
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetOnEvent(-1, "Install_PfadChange")
GUICtrlSetCursor (-1, 5)
$Button1 = GUICtrlCreateButton("Starten", 112, 560, 75, 25, 0)
GUICtrlSetBkColor(-1, 0x00FF00)
GUICtrlSetOnEvent(-1, "Button1Click")
$Button2 = GUICtrlCreateButton("Ausschalten", 248, 560, 75, 25, 0)
GUICtrlSetBkColor(-1, 0xFF0000)
GUICtrlSetOnEvent(-1, "Button2Click")
$Text8 = GUICtrlCreateLabel("Nichts", 200, 480, 41, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetOnEvent(-1, "Text8Click")
$Text9 = GUICtrlCreateLabel("Schließen", 200, 504, 92, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetOnEvent(-1, "Text9Click")
$Text10 = GUICtrlCreateLabel("Herunterfahren", 200, 528, 92, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetOnEvent(-1, "Text10Click")
$Text7 = GUICtrlCreateLabel("Was soll passieren wenn der Prozess abgeschlossen ist?", 40, 456, 347, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetOnEvent(-1, "Text7Click")
$Headder = GUICtrlCreatePic("DATA\Bilder\Head_Bild.jpg", 16, 0, 380, 108)
GUICtrlSetOnEvent(-1, "HeadderClick")
$Text1 = GUICtrlCreateLabel("Passwort für die Programm Benutzung", 96, 120, 229, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetOnEvent(-1, "Text1Click")
$Text2 = GUICtrlCreateLabel("Datei Name des Updates", 96, 184, 229, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetOnEvent(-1, "Text2Click")
$Text3 = GUICtrlCreateLabel("Speicherpfad des Updates", 96, 241, 229, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetOnEvent(-1, "Text3Click")
$Text4 = GUICtrlCreateLabel("Automatische Installation?", 146, 311, 158, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetOnEvent(-1, "Text4Click")
$Text5 = GUICtrlCreateLabel("Passwort der Installer Datei", 98, 336, 166, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetOnEvent(-1, "Text5Click")
$Text6 = GUICtrlCreateLabel("Installations Pfad des Updates", 98, 393, 186, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetOnEvent(-1, "Text6Click")
$Radio1 = GUICtrlCreateRadio("Radio1", 184, 480, 17, 17)
GUICtrlSetOnEvent(-1, "Radio1Click")
GUICtrlSetCursor (-1, 0)
$Radio2 = GUICtrlCreateRadio("Radio2", 184, 504, 17, 17)
GUICtrlSetOnEvent(-1, "Radio2Click")
GUICtrlSetCursor (-1, 0)
$Radio3 = GUICtrlCreateRadio("Radio3", 184, 528, 17, 17)
GUICtrlSetOnEvent(-1, "Radio3Click")
GUICtrlSetCursor (-1, 0)
$Checkbox1 = GUICtrlCreateCheckbox("", 128, 312, 13, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetOnEvent(-1, "Checkbox1Click")
GUICtrlSetCursor (-1, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1 ;Nichts zu bearbeiten
Sleep(100)
WEnd
Func Button1Click() ;Halb Fertig
If GUICtrlRead($Passwort) = $PSC Then
$Programmpruefung = MsgBox(64, "Passwort Check", "Das Passwort ist Richtig! Drücke OK oder es geht in 5 Sekunden automatisch weiter ",5)
_LOG("Log.txt","Passwort wurde richtig eingegeben")
If $Programmpruefung = 1 or -1 Then
_LOG("Log.txt","Die Verbindung zum Server wird überprüft")
MsgBox(64, "Verbindungs Ceck", "Es wird überprüft ob eine verbindung zum Update Server besteht. Drücke OK oder es geht in 5 Sekunden automatisch weiter ",5)
$ping1 = Ping("dark.bellerophontes.eu",1000) ;Verbindungstest zum Update Server
_LOG("Log.txt","Ping 1 mit "& $ping1 & "ms")
Sleep(500)
$ping2 = Ping("dark.bellerophontes.eu",1000) ;Verbindungstest zum Update Server
_LOG("Log.txt","Ping 2 mit "& $ping2 & "ms")
Sleep(500)
$ping3 = Ping("dark.bellerophontes.eu",1000) ;Verbindungstest zum Update Server
_LOG("Log.txt","Ping 3 mit "& $ping3 & "ms")
Sleep(500)
$ping4 = Ping("dark.bellerophontes.eu",1000) ;Verbindungstest zum Update Server
_LOG("Log.txt","Ping 4 mit "& $ping4 & "ms")
If $ping1 And $ping2 And $ping3 And $ping4 > 0 Then
$Ping_all_1 = (($ping1 + $ping2 + $ping3 + $ping4)/4)
$Ping_all_2= Round($Ping_all_1, 0)
Msgbox(64,"Verbindung Hergestellt","Eine Verbindung zum Update Server konnte hergestellt werden, beginne mit dem Download. PING: " & $Ping_all_2,5)
_LOG("Log.txt","Verbindung Hergestellt. Druschschnitlicher Ping "& $Ping_all_2 & "ms")
$FileURL = "http://dark.bellerophontes.eu/homepage/Map_Updates/" & GUICtrlRead($Dateiname)
Global $FileSize = InetGetSize($FileURL)
DirCreate(GUICtrlRead($Speicher_Pfad)) ;Erstellt den Pfad der eingegeben wurde
InetGet($FileURL,GUICtrlRead($Speicher_Pfad) & GUICtrlRead($Dateiname),0,1)
$P = $FileSize
If $P = 0 Then
_LOG("Log.txt","==================== Die Datei konnte nicht gefunden werden ====================")
Msgbox(0,"Download Fehler","Die Datei: """&GUICtrlRead($Dateiname)&""" Konnte nicht gefunden werden. Überprüfe den Dateinamen", 10)
Else
Global $averagearr[1], $buffer = 0
$R3 = $FileSize/1048576
$File = Round($R3, 2)
_LOG("Log.txt","Datei gefunden. Beginne Download von """ &GUICtrlRead($Dateiname)& """ mit der Größe von "&$File& " MB")
ProgressOn("","")
$time = TimerInit()
While @InetGetActive
$Percentage = @InetGetBytesRead * 100 / $FileSize
$Prozent = Round($Percentage, 0); Umrechnung der datei von bytes in MB
$R = $FileSize /1048576;
$Grose= Round($R, 2);
$R2 = @InetGetBytesRead /1048576
$Down= Round($R2, 2)
$iLastKbits = ((@InetGetBytesRead)/1024)
Sleep (100)
$iNewKbits = ((@InetGetBytesRead)/1024)
$KB =($iNewKbits - $iLastKbits)*10
Global $ZEIT = _average($KB)
$Unspilt_Stunden = ($Zeit/3600)
$Stunden = StringSplit( $Unspilt_Stunden ,".")
$STD1 = $Stunden[1]
$0 = ("0.")
$Unspilt_Minuten = ($Zeit/60)
$Minuten = StringSplit( $Unspilt_Minuten ,".")
$MIN1 = $Minuten[1]
$Berechnung_Sekunden = ($Zeit - ($MIN1*60))
$SEK1 = $Berechnung_Sekunden
ProgressSet($Percentage, & $Prozent "% (" & $Down & " MB" & " von " & $Grose & " MB Gedwonloaded)" & @CRLF & "Download Speed: "& $KB & "KB\s" &@CRLF& "Geschätzte Downloadzeit: "&$STD1&" Std. "&$MIN1&" Min. " &$SEK1& " Sek.","Download von " & GUICtrlRead($Dateiname) & " zu " & $Prozent & "% Fertig")
Wend
ProgressOff()
MsgBox(64, "Download Fertig","Download ist vollständig und fertig",5)
_LOG("Log.txt","Der Battlefront II Updater hat das Update runtergeladen in das Verzeichnis: "&GUICtrlRead($Speicher_Pfad))
If GUICtrlRead($Checkbox1) = 1 Then ; Entpacken
_LOG("Log.txt","Der Battlefront II Updater beginnt nun mit dem entpacken des Updates, mit dem Passwort: "&GUICtrlRead($Install_Passwort))
Msgbox(64,"Entpacken...","Entpacken wird nun gestartet",5)
$DPfad = StringFormat("%s%s ",GUICtrlRead($Speicher_Pfad) ,GUICtrlRead($Dateiname))
$EPasswort = GUICtrlRead($Install_Passwort)
$EPfad = GUICtrlRead($Install_Pfad)
DirCreate ($EPfad)
$Befehl = StringFormat("x -o+ -p%s %s %s %s ",$EPasswort ,$DPfad ,$EPfad)
RunWait("Data\Unrar\Unrar.exe " & $Befehl)
Msgbox(64,"Entpacken...","Entpacken abgeschlossen",5)
_LOG("Log.txt","Der Battlefront II Updater hat das entpacken abgeschlossen. Das Verzeichnis lautet: "&GUICtrlRead($Install_Pfad))
If GUICtrlRead($Radio1) = 1 Then
EndIf
If GUICtrlRead($Radio2) = 1 Then
_LOG("Log.txt","==================== Das Programm beendet sich ====================")
Msgbox(64,"Programm Beenden","Der PC wird das Programm beenden",5)
Exit
EndIf
If GUICtrlRead($Radio3) = 1 Then
_LOG("Log.txt","Das Programm beendet sich und fährt den PC runter")
Msgbox(64,"Herunterfahren","==================== Der PC wird Heruntergefahren ====================",5)
RunWait(@ComSpec & " /c " & "shutdown -s -t 10 ")
Exit
EndIf
Else
If GUICtrlRead($Radio1) = 1 Then
EndIf
If GUICtrlRead($Radio2) = 1 Then
_LOG("Log.txt","==================== Das Programm beendet sich ====================")
Msgbox(64,"Programm Beenden","Der PC wird das Programm beenden",5)
Exit
EndIf
If GUICtrlRead($Radio3) = 1 Then
Msgbox(64,"Herunterfahren","Der PC wird Heruntergefahren",5)
_LOG("Log.txt","==================== Das Programm beendet sich und fährt den PC runter ====================")
RunWait(@ComSpec & " /c " & "shutdown -s -t 10 ")
Exit
EndIf
EndIf
EndIf
Else
_LOG("Log.txt","==================== Der Battlefront II Updater konnte keine Verbindung mit dem Update Server herstellen, probier es später noch einmal ====================")
Msgbox(0,"Keine Verbindung","Es konnte keine Verbindung Hergestellt werden. Probiere es später", 10)
EndIf
Else ;!!!Fertig!!! Programm Fehler
_LOG("==================== Log.txt","Kritischer Programm Fehler. Das Programm beendet sich ====================")
Msgbox(0,"Programm Fehler","Programm Fehler. Beende Programm sofort",5)
Exit
Endif
Else ;!!!Fertig!!! Falsches Passwort
_LOG("Log.txt","Das Passwort wurde Falsch eingegeben")
MsgBox(16, "Passwort Check", "Das Passwort ist Flasch! Überprüfe das Passwort für die Programm Benutzung",5)
EndIf
EndFunc
Func _average($a)
If $a <> 0 Then
_ArrayAdd($averagearr, $a)
For $i = 1 To UBound($averagearr) - 1
$buffer += $averagearr[$i]
Next
$buffer /= UBound($averagearr) - 1
$buffer2 = $buffer
Return Round((($FileSize - @InetGetBytesRead) / 1024) / $buffer2)
EndIf
EndFunc
Func Button2Click() ;!!!Fertig!!! Programm Abschalten
MsgBox(64, "Programm Abschaltung", "Das Programm schaltet sich in 5 Sekunden ab", 5)
_LOG("Log.txt","==================== Der Battlefront II Updater wurde über den Ausschaltknopf beendet ==================== ")
Exit
EndFunc
Func Checkbox1Click() ;Nichts zu bearbeiten
EndFunc
Func DateinameChange() ;Nichts zu bearbeiten
EndFunc
Func Form1Close() ;Fertig
_LOG("Log.txt","==================== Der Battlefront II Updater wurde über die Close Funktion beendet ==================== ")
Exit
EndFunc
Func Form1Maximize() ;Nichts zu bearbeiten
LOG("Log.txt","Der Battlefront II Updater wurde Maximiert")
EndFunc
Func Form1Minimize() ;Nichts zu bearbeiten
_LOG("Log.txt","Der Battlefront II Updater wurde Minimiert")
EndFunc
Func Form1Restore() ;Nichts zu bearbeiten
_LOG("Log.txt","Der Battlefront II Updater wurde Maximiert")
EndFunc
Func HeadderClick() ;Nichts zu bearbeiten
EndFunc
Func Install_PasswortChange() ;Nichts zu bearbeiten
EndFunc
Func Install_PfadChange() ;Nichts zu bearbeiten
EndFunc
Func PasswortChange() ;Nichts zu bearbeiten
EndFunc
Func Radio1Click() ;Nichts zu bearbeiten
EndFunc
Func Radio2Click() ;Nichts zu bearbeiten
EndFunc
Func Radio3Click() ;Nichts zu bearbeiten
EndFunc
Func Speicher_PfadChange() ;Nichts zu bearbeiten
EndFunc
Func Text10Click() ;Nichts zu bearbeiten
EndFunc
Func Text1Click() ;Nichts zu bearbeiten
EndFunc
Func Text2Click() ;Nichts zu bearbeiten
EndFunc
Func Text3Click() ;Nichts zu bearbeiten
EndFunc
Func Text4Click() ;Nichts zu bearbeiten
EndFunc
Func Text5Click() ;Nichts zu bearbeiten
EndFunc
Func Text6Click() ;Nichts zu bearbeiten
EndFunc
Func Text7Click() ;Nichts zu bearbeiten
EndFunc
Func Text8Click() ;Nichts zu bearbeiten
EndFunc
Func Text9Click() ;Nichts zu bearbeiten
EndFunc
#cs-----------------------------------TOOLS---------------------------------------
Test für den String: Msgbox(0,"Stringtester","Der String ist: " & GUICtrlRead($Variable))
#ce-------------------------------------------------------------------------------
Aber ich verliere dabei die 30 sekunden das ist der einzige nachteil daran
EDIT: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Neuer Quelltext ist drinnen!!!!!!!!!!!!!!
OK problem gefunden.
Er zeigt nun die zeit richtig an.
Was ich fragen wollte gibt es Grobe anfänger fehler die im script sind?
wie form der Programierung oder benutzung von Global und solche geschichten.
Hätte ich mehr mit einbindenden func arbeiten soll und nicht das gesammte hauptscript in eine func setzen?
ist das so grotten schelcht das es dazu nix zu sagen gibt oder????
so perfeckt???