Hallo AutoIt´ler,
ich wende mich an euch mit einer Frage die für die meisten von euch
sicherlich einfach zu beantworten ist, aber für mich leider noch nicht.
Um was für ein Programm handelt es sich fragt ihr euch?
Wir haben ein schon vorhandenes Projekt zur weiterführung übernommen, da der Erfinder aus Zeitlichen und privaten Gründen nicht weiter machen kann und es daher an uns abgetreten hat! Der Quellcode zu dem Programm ist kommplett in Autoit geschrieben und umfasst insgesammt 27283 Zeilen!
Es handelt sich hier um ein art Datenbank Programm, was den Usern kostenlos von uns zur Verfügung gestellt wird!
In diesem Programm sammeln wir (Das Team rund um das Programm) alles was es in dem Spiel so gibt und (von Quests über Schiffen bis hin zu Kleidung usw.) speichern das in .Data Datein ab. Diese rufen wir dann über den Quellcode auf!
Nun ist es zwar so, das wir einen AutoIt Programmierer in unserem Team haben, aber dieser leider momentan aus privaten und technischen Gründen nicht zur Verfügung steht!
Viele User beschweren sich (schon vor übernahme durch uns) das wenn ein Update geladen wird keine Anzeige vorhanden ist die ihnen Aufschluss darüber gibt wie lange dieses noch zum herunterladen braucht! Nun dachte ich mir das man doch so eine schöne Progressbar einbauen könnte um eben dieses Problem zu beheben, aber leider blicke ich (trotz Video´s und Beispielen) nicht so recht durch wo, wie und was nun hin muss! Ich hatte vor sehr langer Zeit zwar mal was mit AutoIt zu tun, was mir aber im moment nichts nützt.
Ich stelle euch mal die Updatefunktion in eine Code Box und hoffe das Ihr mir da weiterhelfen könnt!
Code:
Func UPDATECHECK()
DATENBANKENPRUEFEN()
If $M <> 700 Then
$TEMP[1] = GUICtrlCreateLabel(TRANSLATION("Es wird geprüft, ob neue Updates vorliegen. Bitte warten..."), 180, 320, 520, 25, $SS_CENTER)
GUICtrlSetFont(-1, 14, 400)
EndIf
FileSetAttrib("*.*", "-r", 1)
$VAR = 1
If $VAR Then
If IniRead($SCRIPTPATH & "data\config.ini", "TestUpdate", "Server", $ALTERNATIVEUPDATESERVER) = "http://www.test-test.eu" Then
IniWrite($SCRIPTPATH & "data\config.ini", "TestUpdate", "Server", $ALTERNATIVEUPDATESERVER)
EndIf
$TZ = LOADFILE(IniRead($SCRIPTPATH & "data\config.ini", "TestUpdate", "Server", $ALTERNATIVEUPDATESERVER) & "/Updateinfo.data", $SCRIPTPATH & "data\Updateinfo.data")
If $TZ = 1 Then
$UNR = Number(IniRead($SCRIPTPATH & "data\Updateinfo.data", "Serverversion", "Versionnr", ""))
$UPFAD = IniRead($SCRIPTPATH & "data\Updateinfo.data", "Serverversion", "Versionname", "")
$FMIN = IniRead($SCRIPTPATH & "data\Updateinfo.data", "Serverversion", "Fullversionnr", "")
$UMINPFAD = IniRead($SCRIPTPATH & "data\Updateinfo.data", "Serverversion", "Fullversionname", "")
If $M <> 700 Then GUICtrlDelete($TEMP[1])
If $LUPDATE = 0 Then
If $UNR = 0 Then
MsgBox(16, TRANSLATION("Updatecheck Fehler"), TRANSLATION("Die Updatedatei wurde vom Server fehlerhaft geladen!"), 0)
ElseIf $UNR > $VNR Then
If $VNR > $FMIN Then
$JANEIN = MsgBox(68, "Update Information", TRANSLATION("Neues Update") & " '" & $UPFAD & "' " & TRANSLATION("verfügbar. Laden?"), 0)
If $JANEIN = 6 Then
If $M <> 700 Then
$TEMP[1] = GUICtrlCreateLabel(TRANSLATION("Neues Update wird geladen. Bitte warten..."), 180, 320, 520, 25, $SS_CENTER)
GUICtrlSetFont(-1, 14, 400)
EndIf
$FILE = IniRead($SCRIPTPATH & "data\config.ini", "TestUpdate", "Server", $ALTERNATIVEUPDATESERVER) & "/" & $UPFAD & ".exe"
FileDelete($SCRIPTPATH & "Updates\Test Test Update*.*")
LOADFILE($FILE, $SCRIPTPATH & "Updates\" & $UPFAD & ".exe")
GUICtrlDelete($TEMP[1])
MsgBox(64, "Update Information", TRANSLATION("Update wurde geladen und wird nun installiert. Der Test wird dazu geschlossen."), 0)
If WinExists("Test-Counter") Then
WinKill("Test-Counter")
EndIf
If WinExists("Test-Tray") Then
WinKill("Test-Tray")
EndIf
Run($SCRIPTPATH & "Updates\" & $UPFAD & ".exe")
Exit
EndIf
Else
Schön wäre es wenn ihr mir beim einsetzen in den Code vielleicht kurz was dazu schreiben könntet warum gerade das und warum es dort hin kommt,
damit ich es nachvollziehen und dadurch verstehen und lernen kann!
Ich hoffe das mir nun jemand dabei helfen kann, mir antwortet und sage schonmal vielen Dank!
Mfg Ghostleader