Hallo,
wie ich im Thread Titel geschrieben habe bräuchte ich einen Erfahrenen Coder der mir meinen kleinen Updaterwunsch erfüllt.
Nun aber zu meinen Wünschen:
Ich habe 2 Projekte am laufen im Moment das eine besteht aus 1 Datei das andere aus mehreren Dateien (die Anzahl kann wachsen).
Ich würde diese gerne per Updater immer auf dem aktuellen Stand halten, da es auf mehreren Rechnern installiert ist.
Das heißt der Updater sollte überprüfen ob es eine neuere Verion gibt und diese dann herunterladen. Der Updater sollte alles benötigte im Quellcode haben und auch den Updatepfad Lokal und Online einfach editierbar sein. Es kann auch eine .txt Datei auf dem Server leigen wo die Verion angegeben wird das ist kein Problem.
Hier habe ich mal ein Beispiel für den Ladevorgang gepostet was mir gefallen würde (also Balken und %-Angabe).
Spoiler anzeigen
#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <array.au3>
$Form1 = GUICreate("Update ziehen", 295, 133, 193, 125)
$Progress1 = GUICtrlCreateProgress(20, 56, 260, 17)
$Label1 = GUICtrlCreateLabel("Update ...", 20, 37, 260, 17)
GUISetState(@SW_SHOW)
;aus Hilfedatei-Beispielen zusammenkopiert Dateinamen also anpassen
$Source = "http://sigpool.suetterlin-gmbh.de/Updates/SmE.jsx"
$aFile = StringSplit($Source, "/")
Local $dest = @TempDir & "\" & $aFile[$aFile[0]]
ConsoleWrite($dest & @CRLF)
Local $nBytes, $nSize = InetGetSize($Source)
; Advanced example - downloading in the background
Local $hDownload = InetGet($Source, $dest, 1, 1)
Do
Sleep(1000)
$nBytes = InetGetInfo($hDownload, 0)
$ipercent = Floor($nBytes / $nSize * 100)
GUICtrlSetData($Progress1, $ipercent)
GUICtrlSetData($Label1, $nBytes & " von " & $nSize & " Bytes = " & $ipercent & "% gelesen")
Until InetGetInfo($hDownload, 2) ; Check if the download is complete.
Local $aData = InetGetInfo($hDownload) ; Get all information.
InetClose($hDownload) ; Close the handle to release resourcs.
MsgBox(0, "", "Bytes read: " & $aData[0] & @CRLF & _
"Size: " & $aData[1] & @CRLF & _
"Complete?: " & $aData[2] & @CRLF & _
"Successful?: " & $aData[3] & @CRLF & _
"@error: " & $aData[4] & @CRLF & _
"@extended: " & $aData[5] & @CRLF)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Alles anzeigen
Auf dem Server würden die Daten dann z. B. wie folgt liegen:
Programm 1:
http://www.domain.net/updates/prog1/datei.xxx
http://www.domain.net/updates/prog1/datei2.xxx
http://www.domain.net/updates/prog1/datei3.xxx
Programm 2:
http://www.domain.net/updates/prog2/datei.xxx
Man sollte aber leicht und ohne große Umprogrammierung z. B. bei Programm 1 auch noch einen Datei 4, 5 oder so einfügen können.
Denke das dieses Programm für einen etwas versierten Coder kein Problem sein sollte.
Hoffe das es im Rahmen einer Paysafecard von 10 - 20 € machbar wäre.
Wäre super wenn sich da kurzfristig jemand finden würde.
P.S.: Ich möchte dann natürlich die offene Codedatei haben.