[UDF] FTP - Update leicht gemacht

  • Habe gerade kurz meine Standart-Update-Stellen in einem kleinem Skript für jedermann zusammengefasst.

    Was die Funktion kann:

    Code
    Sie verbindet sich mit dem FTP-Speicher.
    Sie lädt die Update-Datei herunter.
    Sie vergleicht die Versionen.
    Wenn Update nötig ist,kommt eine anpassbare msgbox.

    Die Vorteile sind:

    - Log-Datei
    - viele Parameter
    - schnelle @error flag - Übersicht, zusätzlich bekommt die variable $err den @error wert (kenne mich mit @error nicht wirklich aus)
    - es ist von mir und meine erste UDF
    - schneller Support (pn an mich)

    Die Variablen und Flags:

    Spoiler anzeigen


    Von Dankeschön,www.autoit.de

    $_da_server = beispielsserver.kilu.de / ftp.extra.hu / etc.
    $_da_usr = FTP-Loginname
    $_da_pass = FTP-Loginpasswort
    $_da_ftpdir = FTP-Verzeichnis,in der die Datei mit der Version liegt (root/update/etc.)
    $_da_ftpdata = Name der Datei auf dem Server,welches die Version enthält
    $_da_log = Pfad zur Log-Datei (default @DesktopCommonDir & "\update.log")
    $_da_line = Zeile, in der die Versionsnummer steht (in der FTP-Datei)
    $_da_oldversion = Version des aktuellen Skriptes
    $_da_msg = Nachricht, die bei nötigem Update ausgegeben wird (default "Sie benötigen ein Update !")
    $_da_msgflag = Flag der Msgbox (default 64)

    @error = 1 - FTP-Server nicht erreichbar / Keine Internetverbidnung
    @error = 2 - Versionsdatei nicht in @temp gefunden !
    @error = 3 - Kein Update nötig

    Das Skript:

    Spoiler anzeigen
    [autoit]


    #include <Process.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Func _updateftp(local $_da_server,local $_da_usr,local $_da_pass,local $_da_ftpdir,local $_da_ftpdata,local $_da_logpath = @DesktopCommonDir & "\update.log",local $_da_line,local $_da_oldversion,local $_da_msg = "Sie benötigen ein Update !",local $_da_msgflag = "64")
    local $ping = Ping($server)
    If $ping = 0 Then
    SetError(1)
    Return
    EndIf
    FileDelete(@tempdir & "\update.ftp")
    Local $_da_FTPskript = @tempdir & "\update.ftp"
    FileChangeDir(@tempdir)
    FileWriteLine($_da_FTPskript,"open " & $_da_server)
    FileWriteLine($_da_FTPskript,"USER " & $_da_usr & " " & $_da_pass)
    FileWriteLine($_da_FTPskript,"cd " & $_da_ftpdir)
    FileWriteLine($_da_FTPskript,"mget " & $_da_ftpdata )
    FileWriteLine($_da_FTPskript,"bye")
    _RunDOS("ftp.exe -n -i -s:" & $_da_FTPskript & " >" & $_da_logpath)

    If not FileExists($_da_ftpdata) Then
    FileDelete($_da_ftpskript)
    SetError(2)
    Return
    EndIf
    local $_da_read = FileReadLine($_da_ftpdata,$_da_line)
    If $_da_read <> $_da_oldversion Then
    MsgBox($_da_msgflag,"Update",$_da_msg)
    Else
    SetError(3)
    EndIf
    FileDelete($_da_ftpskript)

    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]

    Verbesserungsvorschläge und Fehlermeldungen werden gerne entgegengenommen !
    Habt bitte drauaf Rücksicht,dass dies meine erste UDF ist und ich mich mit der Marterie nicht wirklich auskenne (besonders was das aufrufen und die errors betrifft)

    //Skript editiert

    Zitat

    Programmieren ist so lange lustig bis ein Fehler auftritt!


    ~ Dankeschön

    6 Mal editiert, zuletzt von Dankeschön (2. November 2008 um 16:12)

  • Ich habe es gelesen.

    Alina

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • Ich finde es sehr interessant, und werde mir das mal anschauen, genau das was ich gebraucht hab! :) Darf ich das Skrit verwenden?


    Das mit den Aufrufen von Fehlern mach ich auch nie ;) wenn ein Skript nicht funktioniert, muss sich der Anwender damit rumschlagen :rofl:

  • Natürlich kannst du es benutzen,dafür ist es doch da.

    Und, weiß Gott warum, ist das Thema Updates gerade ein Thema,dass dauernd neu aufgegriffen wird.

    Mit dieser UDF hoffe ich,updates um einiges leichter zu gestalten !

    Zitat

    Programmieren ist so lange lustig bis ein Fehler auftritt!


    ~ Dankeschön