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?
Updatefunktion^^
-
- [ offen ]
-
Blodas -
1. November 2008 um 17:43 -
Geschlossen -
Erledigt
-
-
öhm hast du die files richtig auf den ftp? gib mal den script wie du ihn verändert hast
-
[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
[/autoit]
$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
EndIfSonst 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. -
Bin auch bei Kilu:
Du musst das erste Protokoll von ftp:// in http:// ändern.
Du lädst die update.txt über HTTP. -
Warum seit ihr alle bei kilu, der anbieter ist so Kac**
Wechselt zu Space² -> siehe Signatur *kann ich nur empfehlen*
-
Kilu hat auch keine Werbung, und hat PHP!
-
Space² hat auch PHP, habens aber nicht dazugeschrieben.. naja macht was ihr wollt
-
Ok, finde das auch sehr hilfreich, aber kann man die Textdatei auf dem Server nicht schon vor dem herunterladen auslesen?
-
NoName wie ist die frage gemeint?
Wie willst du daten lesen die garnicht vorhanden sind?
Man muss irgendwo her die daten schon bekommen.Das wäre wie: Der Kuchen ist noch nicht da, aber trotzdem isst du ihn. irgendwie unlogisch ne?
-
http://www.blodas.kilu.de/Update.txt
So, wenn man sich die anguckt, dann sind im ganzen Browserfeld nur diese 2 Zeilen zu sehen. Irgendwie müsste man die doch mithilfe einer IE Funktion oder so schon so direkt auslesen können. Ohne runterladen.
-
- Offizieller Beitrag
Dein Browser wird es soundso herunterladen. Effizienter als INetGet wird es hier nicht gehen. DIe Datei ist ja auch winzig :).
peethebee
-
[autoit]
[/autoit]
#include <IE.au3>
_IEBodyReadHTML ( ByRef $o_object ) -
Ähhm, runtergeladen wird immer
Aber ohne speichern als Datei, das geht mit _InetGetSource.: ( Ein ganzer IE wär übertrieben )Spoiler anzeigen
[autoit]#include <Inet.au3>
[/autoit]
$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 -
Ähhm, runtergeladen wird immer
Aber ohne speichern als Datei, das geht mit _InetGetSource.: ( Ein ganzer IE wär übertrieben )Spoiler anzeigen
[autoit]#include <Inet.au3>
[/autoit]
$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
Genau danach habe ich gesucht, danke. Finde es so viel besser. -
mhhh ich hab da immer noch Problme mit.
mein Code sieht so ausSpoiler 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
[/autoit]
$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
EndIfmein 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.
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.
[autoit]
Und schreib mal in Zeile 14 das hin:InetGet("http://192.168.1.101/FTP/" & $line2,@scriptDir&"\"&$line2, 1, 0) ;hole aktuelle datei (mit dem namen $line2)
[/autoit] -
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. -