Hey,
das ist mein erstes TUT, also seid nicht so streng mit mir!
1. Voraussetzungen
- Webspace
- Zip.au3
2. GUI
So nun brauchen wir eine Gui für die Abfrage, ob geupdated werden soll, und eine Gui, um den Changelog anzuzeigen.
Hier mal meine:
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
3. Dateien erstellen
Als erstes müsst ihr eine Datei erstellen, die die Versionnummer enthält. Bei mir: version.txt
Beispiel:
Danach noch eine HTML Datei, die den Changelog enthält. Bei mir: log.html
Beispiel:
4. AutoIt :D
Als erstes müssen wir die Versionsnummer auslesen und den Source der HTML Datei verarbeiten. Dafür ersetzen wir <p> und </p>!
Nun will der User natürlich auch wissen, auf welche Version geupdated werden soll.
Wenn das geschafft ist setzen wir dem Editfeld Eigentschaften, dass man Scrollen kann, aber den Inhalt nicht editieren kann.
Zum Schluss müssen wir noch unseren Buttons eine Funktion geben.
Das wars dein eigentlich schon :) Der Updater ist fertig! Ich hoffe es ist gut verständlich.
das ist mein erstes TUT, also seid nicht so streng mit mir!
1. Voraussetzungen
- Webspace
- Zip.au3
2. GUI
So nun brauchen wir eine Gui für die Abfrage, ob geupdated werden soll, und eine Gui, um den Changelog anzuzeigen.
Hier mal meine:
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
3. Dateien erstellen
Als erstes müsst ihr eine Datei erstellen, die die Versionnummer enthält. Bei mir: version.txt
Beispiel:
HTML Code:
2.5
Beispiel:
HTML Code:
<p>added: GUI</p> <p>*Bug fixes</p>
Als erstes müssen wir die Versionsnummer auslesen und den Source der HTML Datei verarbeiten. Dafür ersetzen wir <p> und </p>!
Code:
$version = _INetGetSource("http://tim-lange.org/tut/version.txt") ;Version
$read = _INetGetSource("http://tim-lange.org/tut/log.html") ;Source einlesen
$umbruch = StringReplace($read, "</p>", @CRLF) ;</p> durch Zeilenumbruch ersetzen
$logedit = StringReplace($umbruch, "<p>", "") ;<p> rauslöschen
Code:
#region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Updater", 250, 71, -1, -1)
$updatelabel = GUICtrlCreateLabel("Update to " & $version & "?", 64, 8, 124, 28) ;Nur diese Zeile ist wichtig!
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
$y = GUICtrlCreateButton("Yes", 8, 40, 75, 25)
$n = GUICtrlCreateButton("No", 88, 40, 75, 25)
$log = GUICtrlCreateButton("Changelog", 168, 40, 75, 25)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
Code:
#region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Changelog", 261, 174, -1, -1)
$Edit1 = GUICtrlCreateEdit($logedit, 8, 8, 241, 129, $ES_READONLY + $WS_VSCROLL + $WS_HSCROLL) ;Nur die Zeile ist wichtig!
$close = GUICtrlCreateButton("Close", 8, 144, 243, 25)
#endregion ### END Koda GUI section ###
Code:
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $log ;Wenn unser Changelog Button gedrückt wird, soll die 2. GUI mit dem Changelog angezeigt werden. Dafür setzen wir die Form2 auf SHOW!
GUISetState(@SW_SHOW, $Form2)
Case $close;Wenn die GUI wieder geschlossen werden soll, ohne das sich das Programm schließt, müssen wird die Form2 einfach wieder auf HIDE setzen!
GUISetState(@SW_HIDE, $Form2)
Case $n ;Wenn der User nicht updaten will kann er auf nein drücken und das Programm schließt sich einfach. Ist aber kein Muss!
Exit
Case $y ;Wenn er nun das Update bestätigt, wird per InetGet die neuste Version heruntergeladen, Unzipped und gesagt, dass alles Erfolgreich war.
InetGet("http://tim-lange.org/tut/prefix-" & $version & ".zip", "C:\update.zip") ;Prefix kann nach belieben geändert werden!
_Zip_UnzipAll("C:\update.zip", @ScriptDir, 1)
MsgBox(64, "Updater", "Succesfuly updated to " & $version & "!")
Exit
EndSwitch
WEnd