|
You last visited: Today at 03:23
Advertisement
Progressbar in Update einbauen
Discussion on Progressbar in Update einbauen within the AutoIt forum part of the Coders Den category.
02/09/2011, 23:45
|
#1
|
elite*gold: 0
Join Date: Oct 2010
Posts: 24
Received Thanks: 0
|
Progressbar in Update einbauen
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 nicht.
Und zwar setze ich euch hier unseren Update Code in eine Code Box und möchte gerne wissen wie, wo und was ich an welche stelle setzen muss um vom Update start bis ende einen Ladebalken mitlaufen zu haben!
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!
Vielen dank!
Hier der Code:
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
Mfg Ghostleader
|
|
|
02/09/2011, 23:56
|
#2
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
|
InetGetInfo()
Wär evtl. gut wenn du alle zusammenhängende Funktionen vollständig posten würdest, mit dem Codefetzen kann man nichts anfangen.
|
|
|
02/10/2011, 05:46
|
#3
|
elite*gold: 0
Join Date: Oct 2010
Posts: 24
Received Thanks: 0
|
Hallo KillerDeluxe,
ich weiss leider nicht genau was noch fehlen soll, der Code des Programmes ist insgesammt 27500 Zeilen lang und den kann ich auch nicht im ganzen Posten! Das was ich hier gepostet habe ist die Update Funktion. Was fehlt denn noch?
Mfg
|
|
|
02/10/2011, 14:22
|
#4
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
|
Ich bin mir zu 100% sicher, dass man das Script kürzen kann.
Viele Wege führen nach Rom, hier ist einer:
PHP Code:
#include <GUIConstants.au3>
GUICreate("Download", 220, 65)
$Progress = GUICtrlCreateProgress(10, 10, 200, 15)
$Button = GUICtrlCreateButton("Download", 10, 35, 200, 25)
GUISetState()
Global $File, $Download = False
$URL = "http://www.autoitscript.com/files/autoit3/autoit-v3-setup.exe"
$FileName = @ScriptDir & "\AutoIt v3 Setup.exe"
While Sleep(10)
$nMsg = GUIGetMsg()
If $nMsg == $GUI_EVENT_CLOSE Then
Exit
ElseIf $nMsg == $Button Then
If InetGetSize($URL) > 0 Then ;wenn die Datei existiert
If $Download Then ;wenn die Datei gedownloaded wird
$Download = False
InetClose($File)
FileDelete($FileName)
GUICtrlSetData($Progress, 0)
GUICtrlSetData($Button, "Download")
Else ;wenn der Download noch nicht läuft
$Download = True
$File = InetGet($URL, $FileName, 1, 1)
GUICtrlSetData($Button, "Abbruch")
EndIf
EndIf
EndIf
If $Download Then ;wenn die Datei gedownloaded wird
$Info = InetGetInfo($File) ;Informationen über den momentanen Download ($File)
GUICtrlSetData($Progress, $Info[0] * 100 / $Info[1]);prozentualer Fortschritt des Downloads
If $Info[2] Then ;wenn die Datei vollständig herunter geladen wurde
GUICtrlSetData($Button, "Download")
InetClose($File)
$Download = False
EndIf
EndIf
WEnd
|
|
|
02/10/2011, 15:23
|
#5
|
elite*gold: 0
Join Date: Oct 2010
Posts: 24
Received Thanks: 0
|
Hallo KillerDeluxe,
danke erstmal für die Arbeit die du dir gemacht hast! Versteh mich bitte nicht falsch, das Scrippt soll sich eigendlich nicht ändern, da ich noch nicht soweit in AutoIt bin um den Rest des Codes dann an deine Variante an zu passen fals du diese jetzt überhaupt für mich so geschrieben hast und es nicht nur ein Beispiel ist was ich ja nun garnicht weiss Sorry!
Kann mann denn den Teil der Progressbar den ich in deinem Script sehe nicht in das von mir gezeigte eintragen?
Ich weiss das ich ein schwerer Fall in der Hinsicht bin, aber hoffe dennoch auf Nachsicht und weitere Hilfe!
Ich möchte ja unbedingt viel lernen aber Rom ist ja auch nicht an einem Tag erbaut und leider ist es ja mit der lernerei auch so
Mfg Ghostleader
Ps. was brauchst du/ihr denn noch was fehlt um mir da direkt helfen zu können?
|
|
|
02/10/2011, 15:41
|
#6
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
|
Das ist ein sehr kleines Script, zudem recht simpel. Mit dem geposteten Codefetzen von dir kann man nun mal nicht viel machen.
|
|
|
02/10/2011, 16:01
|
#7
|
elite*gold: 0
Join Date: Oct 2010
Posts: 24
Received Thanks: 0
|
Ich weiss ja nicht was du von wo noch brauchst. Wenn ich das wüsste dann wäre das ja einfacher die zu schicken!
Ist denn das nicht genau das was benötigt wird?
Code:
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])
mfg
|
|
|
02/10/2011, 17:31
|
#8
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
|
Ich würde mal meinen, dass deine "LOADFILE()" Funktion nichts anderes macht, als InetGet zu benutzen. Diese Funktion müsstest du einfach entsprechend meines Beispiels anpassen.
|
|
|
02/11/2011, 05:31
|
#9
|
elite*gold: 0
Join Date: Oct 2010
Posts: 24
Received Thanks: 0
|
Hallo KillerDeluxe,
danke für deine vielen Antworten. Nun noch eine frage. Und zwar was alles aus deinem gezeigten Code müsste ich für mich übernehmen und passt das da in meinen wie do es so schön nennst Code Schnippsel, oder muss ich noch nach etwas anderem im Quellcode suchen?
Mfg Ghostleader
|
|
|
02/11/2011, 14:32
|
#10
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
|
Wenn das Script trotz des Download weiter benutzbar sein sollte, müsstest du alles übernehmen. Andernfalls würde es auch so gehen:
PHP Code:
Func LOADFILE($URL, $Filename, $Progressbar)
If InetGetSize($URL) > 0 Then ;wenn die Datei existiert
$Download = InetGet($URL, $Filename, 1, 1)
Do
$Info = InetGetInfo($Download)
GUICtrlSetData($Progressbar, $Info[0] * 100 / $Info[1])
Until $Info[2]
Return SetError(0, "", True) ;Datei wurde erfolgreich herunter geladen
Else
Return SetError(1, "", False) ;Datei existiert nicht
EndIf
EndFunc
|
|
|
02/11/2011, 15:24
|
#11
|
elite*gold: 0
Join Date: Oct 2010
Posts: 24
Received Thanks: 0
|
Hallo KillerDeluxe,
danke wiedereinmal für deine Mühe, nur leider verstehe ich deinen Satz nicht so recht:
Quote:
|
Wenn das Script trotz des Download weiter benutzbar sein sollte, müsstest du alles übernehmen. Andernfalls würde es auch so gehen:
|
Was soll das bedeuten?
Wenn ich das von dir zuletzt erstellte benutze geht das ganze skript von mir nicht mehr, aber wenn ich den ganzen code von weider oben nehme geht es weiterhin oder wie soll ich das verstehen?
Ich weiss aber auch immernoch nicht wo ich bei mir dann egal welches deiner beiden diese einfügen muss!
Ogott, ich weiss das ich ein schwerer Fall bin!
Mfg Ghostleader
|
|
|
02/11/2011, 17:13
|
#12
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
|
Ich kann beim besten willen nicht verstehen, was an meinem kleinen Script nicht nachvollziehbar ist. Es lässt sich ohne Probleme in jedes Script einbinden.
PHP Code:
;/////////////
;Hier ist deine GUI
;/////////////
;/////////////////////////////////////////////////////////////////////
Global $File, $Download = False ;globale Variablen
;/////////////////////////////////////////////////////////////////////
While Sleep(10) ;deine Hauptschleife
$nMsg = GUIGetMsg()
Switch $nMsg
;....
Case $DeinButtonUmDenDownloadZuStarten
$Download = LOADFILE("http://www.autoitscript.com/files/autoit3/autoit-v3-setup.exe", @ScriptDir & "\AutoIt v3 Setup.exe")
;...
EndSwitch
;...
If $Download Then
$Info = InetGetInfo($File)
GUICtrlSetData($DeineProgressbarFuerDenAktuellenDownloadStatus, $Info[0] * 100 / $Info[1])
If $Info[2] Then
InetClose($File)
$Download = False
EndIf
EndIf
WEnd
Func LOADFILE($URL, $Filename)
If InetGetSize($URL) > 0 Then
$File = InetGet($URL, $Filename, 1, 1)
Return SetError(0, "", True)
Else
Return SetError(1, "", False)
EndIf
EndFunc
Wenn du nicht in der Lage bist, diese paar Zeilen in dein Script einzubinden, kann dir niemand helfen, dein Script steht ja niemanden zur Verfügung. Du solltest mal damit anfangen, das zu lernen, was du benutzen möchtest. Per C&P kommt man auf langem Wege nicht weit, das solltest du spätestens jetzt begriffen haben.
|
|
|
02/11/2011, 19:57
|
#13
|
elite*gold: 0
Join Date: Oct 2010
Posts: 24
Received Thanks: 0
|
Danke für die Mühe die du dir mit mir gegeben hast!
Mfg Ghostleader
|
|
|
 |
Similar Threads
|
progressbar
07/22/2010 - AutoIt - 10 Replies
hab mal wieder ne kleine frage, undzwar will ich, wenn ich ein button drücke die progressbar sich jedesmal um 20erhöht, aber bekomm das iwie nicht hin ...
in internet hab ich dazu nicht wirklich was gefunden....
mein bsp. code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
|
Progressbar
06/18/2010 - AutoIt - 2 Replies
$get1 = InetGet("...",$zgh & "\...")
$inf1 = InetGetInfo($get1,0)
Do
GUICtrlSetData($Progress1,$inf1)
Until InetGetInfo($get1,2) = True
Also, die Progressbar bleibt leer und die GUI ist scheintot, aber es lädt die Datei...
1. Progressbar soll konstant zum Download sein.
2. GUI soll aktiv bleiben.
|
VB-Webbrowser mit ProgressBar
05/09/2010 - .NET Languages - 2 Replies
Hey Leute
Ich bekomme es einfach nicht hin, das beim laden einer seite in meinem webbrowser der progressbar den ladefortschritt der seite zeigt die ich aufrufen möchte.
kann mir jemand konkret erklären wie das klappt was oben steht?
Danke
|
How to Make Progressbar
10/02/2009 - Coding Tutorials - 1 Replies
Visual Basics 6.0 - Progressbar Helloworld
YouTube - Visual Basics 6.0 - Progressbar Helloworld
How to Make a advanced progressbar in visual basic 2008
YouTube - How to Make a advanced progressbar in visual basic 2008
|
[PROGRESSBAR/MP3]HiLFE
08/25/2009 - AutoIt - 14 Replies
1.Also ich habe mit dem KODA form designer eine progress bar erstellt und jetzt weiss ich nicht wie ich sie zum laufen bringe des sollte dann gehen z.B. wenn button oder so gedrückt wird wie mache ich das und kann man dann auch irgendwie überprüfen ob die Progressbar fertig geladen ist?
2.Also ich wollte fragen ob ich eine mp3 oder wenns seien muss eine wav datei wärend einem skript abspielen kann wenn ja wie???
Wer mir hilft bekommt thanks ;)
MFG
|
All times are GMT +1. The time now is 03:25.
|
|