giebt es so eine Fuktion auch bei PureBasic?
Hier mal der Code von AutoIT, vieleicht hat ja jemand eine Idee wie man das in Purebasic umsetzen könnte.
dieser Code stand im Programm selbst:
Code: Alles auswählen
#cs
; <-- Beginn Update Block
#include <updateftp.au3>
$b4it_ftp_Server = "blog4it.bplaced.net";<-- Ftp Server eintragen
$b4it_ftp_User = "blog4it_autoit" ;<-- Ftp Server Benutzer eintragen
$b4it_ftp_Password = "autoit" ;<-- Ftp Server Passwort eintragen
$b4it_ftp_Path = "/update" ;<-- Ftp Server Pfad zu dem Ortner mit den Updates eintragen
$b4it_local_Version = "1.0.0" ;<-- Die lokale Version des Skriptes eintragen
; <-- NICHT ÄNDERN
$b4it_local_ScriptName = @ScriptName
$b4it_local_ScriptDir = @ScriptDir & '\'
; -->
b4it_checkforupdate()
; --> Ende Udate Block
#ce
Code: Alles auswählen
#include <FTPEx.au3>
#include <array.au3>
Global $b4it_ftp_Server = ""
Global $b4it_ftp_User = ""
Global $b4it_ftp_Password = ""
Global $b4it_ftp_Path = ""
Global $b4it_ftp_Open = ""
Global $b4it_ftp_Conn = ""
Global $b4it_ftp_Version = ""
Global $b4it_local_Version = ""
Global $b4it_local_ScriptName = ""
Global $b4it_local_ScriptDir = ""
Global $b4it_local_UpdateFileName = ""
; Hauptfunktion
Func b4it_checkforupdate()
b4it_deloldupdatefile()
If Not b4it_ftpInit() Then Return
If Not b4it_checkFiles() Then Return
b4it_update()
EndFunc
; Prüfen ob noch eine alte Update lokal vorhanden
; ist und löschen
Func b4it_deloldupdatefile()
$b4it_local_UpdateFileName = StringFormat("%s_update%s",$b4it_local_ScriptDir,$b4it_local_ScriptName)
If FileExists($b4it_local_UpdateFileName) Then FileDelete($b4it_local_UpdateFileName)
EndFunc
; Verbindung zum Server aufbauen und das Verzeichnis
; auf den Ordner setzen, wo die Updates liegen
Func b4it_ftpInit()
$b4it_ftp_Open = _FTP_Open('MyFTP Control')
$b4it_ftp_Conn = _FTP_Connect($b4it_ftp_Open, $b4it_ftp_Server, $b4it_ftp_User, $b4it_ftp_Password)
If @error Then Return 99
_FTP_DirSetCurrent($b4it_ftp_Conn,$b4it_ftp_Path)
If @error Then Return False
Return True
EndFunc
; Dateiliste holen und die Version vom Server speichern
Func b4it_checkFiles()
$filelist = _Ftp_ListToArray($b4it_ftp_Conn,2)
If Not IsArray($filelist) Then Return False
_ArraySort($filelist,1)
$strlen = StringLen($b4it_local_ScriptName)
For $int = 0 To UBound($filelist) -1
If StringLeft($filelist[$int],$strlen) = $b4it_local_ScriptName Then
$strsplit = StringSplit($filelist[$int],"_")
$b4it_ftp_Version = $strsplit[2]
If $b4it_ftp_Version = $b4it_local_Version Then Return False
Return True
EndIf
Next
Return False
EndFunc
; Abfrage und ggf. Download der neuen Datei
Func b4it_update()
$str = StringFormat("New Update found - Version: %s" & @LF & "Do you want a update?",$b4it_ftp_Version)
$res = MsgBox(32,"Update - " & $b4it_ftp_Version,$str)
If $res = 1 Then
$remotFile = $b4it_local_ScriptName & "_" & $b4it_ftp_Version
$localFile = $b4it_local_ScriptDir & "_" & $b4it_local_ScriptName
_FTP_FileGet($b4it_ftp_Conn,$remotFile,$localFile)
If @error Then Return False
FileMove($b4it_local_ScriptDir & $b4it_local_ScriptName, $b4it_local_ScriptDir & '_update' & $b4it_local_ScriptName)
FileMove($localFile,$b4it_local_ScriptDir & $b4it_local_ScriptName)
Run($b4it_local_ScriptDir & $b4it_local_ScriptName)
Exit
EndIf
EndFunc
Gruß Rene
Edit by NicTheQuick: Titel korrigiert