![]() |
"Updater" , mit Memo...
Hi,
ich bin an einem Updater am bauen. Jetzt wollte ich das der Updater auf einem FTP checkt, ob eine neuere Datei vorhanden ist, wenn ja soll er sie runterladen, in das verzeichnis wo der andere Updater ist. ( Die andere Version ) Wie mache ich das? MfG Alexander :wall: :gruebel: :dp: |
Re: "Updater" , mit Memo...
Hallo, schon im Forum nach
![]() |
Re: "Updater" , mit Memo...
nö :-/
|
Re: "Updater" , mit Memo...
Ich würde eine .txt auf dem Server anlegen und in die die Versionsnummer reinschreiben. Die Datei dann per IdFTP.Get() den Inhalt der Datei in einen Integer laden. Und von da aus kann man die Version bequem anzeigen oder vergleichen lassen.
|
Re: "Updater" , mit Memo...
Hast du auch den Code dafür? :P
|
Re: "Updater" , mit Memo...
Wie wäre es mit ein bisschen mehr Eigeninitiative? :P
IdFTP ist eine Komponente der Indy-Sammlung. Hier würde sich auch für den HTTP-Download die Komponente IdHTTP anbieten. |
Re: "Updater" , mit Memo...
Ja also ich weiß das mit dem IdHttp.get :D
Nur wie lade ich es zum Integer ins Programm? Desweiteren immer wenn ich if ( boolean ) benutze , sagt der compiler immer ein fehler. |
Re: "Updater" , mit Memo...
Hi,
welcher Fehler? Vielleicht noch den Code posten. Wenn Du die IdHTTP-Komponente nimmst, ist es ein bisschen einfacher. Dort kannst Du direkt per Get das Ergebnis in einen String lesen, diesen in Integer umwandeln und dann vergleichen. |
Re: "Updater" , mit Memo...
Delphi-Quellcode:
Desweiteren hab ich es (sorry :-( ) Immer noch nicht verstanden :wiejetzt:
Type of expression must be Boolean.
|
Re: "Updater" , mit Memo...
Wäre von Vorteil, wenn Du noch dazu schreibst, was Du nicht verstehst... :glaskugel:
Zeig doch mal noch den Code. |
Re: "Updater" , mit Memo...
Naja wie ich das auslesen soll usw.
Das Boolean Problem hab ich gelöst :) |
Re: "Updater" , mit Memo...
mit MyString := MyIdHTTP.Get('adresse') bekommst du den inhalt der txt-datei in einen String, mit MyInt := StrToInt(MyString) bekommst du den Strin in einen Integer
|
Re: "Updater" , mit Memo...
Ok, ein bisschen Pseudo-Code:
Delphi-Quellcode:
Setzt voraus, dass Du für URL eine URL zu Deiner Textdatei auf dem Server hinterlegst, in der nur eine Zahl steht. Zum Zweiten brauchst Du im Programm eine Integer-Variable, in der die ProgrammVersion steht. Wenn nun die ausgelesen Version kleiner der Programmversion ist, ist eine neue Version verfügbar.
aStringvar = HTTP.Get('URL');
if (StrToInt(aStringvar) < ProgrammVersion then Meldung -> Neue Version verfügbar else Meldung -> Keine neue Version verfügbar Beispiel: In der Textdatei auf dem Server steht drin: 111 (Wäre z.B. Programmversion 1.1.1) und ein Deinem Programm ist die Version 121 hinterlegt, dann würde die Meldung "Neue Version verfügbar" kommen. |
Re: "Updater" , mit Memo...
Hi :D Danke dir!
Nur ich bin wirklicher Anfänger , und bekomme jetzt diese Fehlermeldung: Undeclared identifier ProgrammVersion. wer kann mir da wetierhelfen? xD |
Re: "Updater" , mit Memo...
Naja du musst Programmversion schon als Variable deklarieren... :roll:
|
Re: "Updater" , mit Memo...
Ich sagte doch, es ist Pseudo-Code. Das ProgrammVersion steht für eine von Dir im Programm hinterlegte Variable in dem die Version des Programmes als Integer steht ;)
|
Re: "Updater" , mit Memo...
Jo hab ich alles :D Bekomme nur noch einen Fehler " Moved Permanently ".
Naja könnte man das auch mit einer INI Datei verbinden ? Das der Updater beim Start die Ini Datei überschreibt ( VERSION = 1 )? Und wenn der die Neue Version heruntergeladen hat das er die dann wieder überschreibt? ( VERSION = VERSIONSNUMMER ). Wäre echt toll :D |
Re: "Updater" , mit Memo...
Klar geht das. Die Komponente gibt Dir auch die Möglichkeit, Dateien runterzuladen. Du musst nur Get mit einem Stream füttern. :zwinker:
|
Re: "Updater" , mit Memo...
:wiejetzt: xD Ich glaub ich sollte mir mal ein Einsteiger Tutorial durchlesen :duck:
|
Re: "Updater" , mit Memo...
Zitat:
Und als Zweites solltest du die Suchfunktion bemühen, was dir ja auch schon gesagt wurde. Und dann landest du z.B. ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz