Updatefunktion^^

  • ok, jetzt gibt es zwar keine fehler mehr,
    aber: -> Er macht nichts xD
    Ich klicke auf JA und nichts passiert, ich klicke
    auf nein. der "bot" startet normal -.-'
    Was tun?

  • [autoit]

    InetGet("ftp://blodas.kilu.de/update.txt",@TempDir & "\update.txt", 1, 0) ; das programm lädt die update.txt, wo die datei version drin steht
    $file = FileOpen(@TempDir & "\update.txt", 0); öffen der datei
    $line = FileReadLine($file, 1);speicher zeile 1 in variable
    $line2= FileReadLine($file, 2);speicher zeile 2 in variable
    Dim $ver = "1.3.9"
    If $line = $ver Then ; wenn programm version gleich der txt dann
    MsgBox(64, "Kein Update", "Du hast die neuste Version: (" & $ver & ")")
    FileClose($file);txtdatei schließen
    FileDelete(@TempDir & "\update.txt");txt datei lösen
    Else ; sonst
    MsgBox(64, "Update!", "Es ist eine Neue Version verfügbar!");informiert das update vorhanden ist
    $fg = MsgBox(4, "Updaten?", "Möchtest du jetzt Updaten?"); fragt ob updaten will
    If $fg = 6 Then ; Wenn ja/YES geklickt worden ist dann
    InetGet("http://www.blodas.kilu.de/files/" & $line2, $line2, 1, 0) ;hole aktuelle datei (mit dem namen $line2)
    FileClose($file);schliest datei
    FileDelete(@TempDir & "\update.txt");löscht datei
    Exit 0
    EndIf
    EndIf

    [/autoit]


    Sonst addemich mal in icq pls:
    -> 331523253

  • ich kann dir sagen warum. dein ftp server braucht benutzername und passowrt, um da etwas runter zu laden.
    legt das doch auf irgendein webserver ist nicht so umständlich und ist genauso schnell wie ftp.

    apropo heut mittag bin ich aufen ts, du weist ja welcher das ist. komm doch so um 4 dadrauf, dann helf ich dir

  • ist das bei kilu nicht so, dass der ganze ftp aufs Web gestellt wird? Aufjeden fall ist da nichts: http://www.blodas.kilu.de/
    -> hier muss alles angezeigt werden, was du für den Updater hochlädst :) Sonst kommt der Updater nicht an deine Dateien.

  • Warum seit ihr alle bei kilu, der anbieter ist so Kac** ;)

    Wechselt zu Space² -> siehe Signatur *kann ich nur empfehlen* :rock:

  • Ok, finde das auch sehr hilfreich, aber kann man die Textdatei auf dem Server nicht schon vor dem herunterladen auslesen?

  • Ähhm, runtergeladen wird immer ;)
    Aber ohne speichern als Datei, das geht mit _InetGetSource.: ( Ein ganzer IE wär übertrieben :D )

    Spoiler anzeigen
    [autoit]

    #include <Inet.au3>
    $source = StringStripCR(_INetGetSource("http://www.blodas.kilu.de/Update.txt"))
    $lines = StringSplit($source,@LF,1)
    If $lines[0] > 1 Then
    MsgBox(0, '', $lines[1])
    MsgBox(0, '', $lines[2])
    EndIf

    [/autoit]

  • Genau danach habe ich gesucht, danke. Finde es so viel besser.

  • mhhh ich hab da immer noch Problme mit.
    mein Code sieht so aus

    Spoiler anzeigen
    [autoit]

    InetGet("ftp://192.168.1.101/FTP/update.txt",@TempDir & "\update.txt", 1, 0) ; das programm lädt die update.txt, wo die datei version drin steht
    $file = FileOpen(@TempDir & "\update.txt", 0); öffen der datei
    $line = FileReadLine($file, 1);speicher zeile 1 in variable
    $line2= FileReadLine($file, 2);speicher zeile 2 in variable
    Dim $ver = "0.0.1"
    If $line = $ver Then ; wenn programm version gleich der txt dann
    MsgBox(64, "Kein Update", "Du hast die neuste Version: (" & $ver & ")")
    FileClose($file);txtdatei schließen
    FileDelete(@TempDir & "\update.txt");txt datei lösen
    Else ; sonst
    MsgBox(64, "Update!", "Es ist eine Neue Version verfügbar!");informiert das update vorhanden ist
    $fg = MsgBox(4, "Updaten?", "Möchtest du jetzt Updaten?"); fragt ob updaten will
    If $fg = 6 Then ; Wenn ja/YES geklickt worden ist dann
    InetGet("http://192.168.1.101/FTP/" & $line2, $line2, 1, 0) ;hole aktuelle datei (mit dem namen $line2)
    FileClose($file);schliest datei
    FileDelete(@TempDir & "\update.txt");löscht datei
    Exit 0
    EndIf
    EndIf

    [/autoit]

    mein Problem ist, das die alte Datei sich nicht verändert.
    Dann hab ich mal in den Log von meinem FTP Server geguckt und es wurde nur die Textdatei runtergeladen. :thumbdown:
    Zur Info, der FTP läuft auf meinem PC (Cesar FTP).
    kann mir da einer helfen?

  • Dein Script würde glaub ich auch so nicht laufen, wenn es andere benutzen, da die IPs die mit 192.168. die IP des Routers ist oder die eines PCs. :P
    Und schreib mal in Zeile 14 das hin:

    [autoit]

    InetGet("http://192.168.1.101/FTP/" & $line2,@scriptDir&"\"&$line2, 1, 0) ;hole aktuelle datei (mit dem namen $line2)

    [/autoit]

    MfG
    Conan (Nur Mitlesend)
    Schon lange dabei

  • geht immer noch nicht ;(
    immer noch das selbe Problem das der ja nicht einmal auf die Datei aufm FTP zugreift.
    Und das mit der IP war schon richtig so^^

  • Kann sein das es einen Benutzernamen und Passwort braucht. Laut Hilfe so:

    Zitat


    Um einen Usernamen und Passwort zum Verbinden zu benutzen, schreibt man einfach "Username:Passwort@" vor den Servernamen, z.B. "http://myuser:mypassword@https://autoit.de/www.somesite.com"


    Kann aber auch sein das da ftp statt http stehen muss. Die Hilfe sagt dazu:

    Zitat


    Die Funktion "InetGet" funktioniert mit http:// https:// und ftp:// - Um den Übertragungstyp bei der Nutzung von "ftp" zu ändern, siehe die FtpBinaryMode Option.

    MfG
    Conan (Nur Mitlesend)
    Schon lange dabei