Entwickler-Ecke
Internet / Netzwerk - update checken
bonanza - Sa 03.12.05 13:29
Titel: update checken
Hi,
ich wollte in mein prog eine funktion einbauen, die kontrolliert, ob es auf dem Server eine neue verison von diesem Programm gibt...
nun ist meine Frage, wie mache ich das am besten...?
wäre es sinnvoll auf dem server sozusagen eine Datei namen "version.txt" anzulegen in der dann die Version steht, und wenn diese Zahl grösser ist als eine Konstante in dem Programm gibt es eine neuere version ?
wenn das eine einfache möglichkeit ist, ist meine frage, wie ich mit delphi dies realsieren könnte...
danke schonmal im voraus
bonanza
reepo2k - Sa 03.12.05 14:54
Mach dir erstmal eine Konstante im Programm, in der die Versionsnummer deines Programmes steht:
Delphi-Quelltext
1:
| const version = '1.0.0'; |
Danach legst du eine Datei namens version.txt an, in der deine aktuelle Version steht und lädtst diese hoch.
Danach klatscht du die idHTTP Komponente von Indy auf deine Form.
Um jetzt zu checken ob eine neue Version vorhanden ist machst du folgendes:
Delphi-Quelltext
1: 2: 3: 4:
| If IdHTTP1.Get('http://www.url.de/version.txt') <> version then begin ShowMessage('Neue Version verfügbar...'): end; |
Das kannst du natürlich bei onActivate doer onCrete reinhauen, oder bei nem Button bei onClick.
Natürlich kannst du das ShowMessage auch durch das ersetzten, was passieren soll, wenn eine neue Version vorhanden ist.
MfG: reepo2k
matze - Sa 03.12.05 17:39
zu dieser Thematik gibt es mittlerweile schon viele Beiträge hier in der EE. Benutze doch einfach mal die Suche.
Da findest du mitunter schon sehr ausgereifte und vor allem auch schon fertige Lösungen !
r4rox - So 12.09.10 22:06
Hallo Community ,
habe das ebend mal ausgetestet weil es ziehmlich einfach aussah (bin blutiger Anfänger).
Ich habe alles gemacht wie in Reepo2k`s beitrag.
Allerdings kriege ich beim compilen einen error :
Authentication: TIdAuthentication; var Handled: Boolean); <-- rot mackiert !
([Fehler] Unit1.pas(14): Undefinierter Bezeichner: 'TIdAuthentication' )
Woran kann das liegen .. die version.txt liegt auf dem angegebenem server .
MFG
raphael
Narses - So 12.09.10 22:54
Moin und :welcome: im Forum!
r4rox hat folgendes geschrieben : |
Allerdings kriege ich beim compilen einen error :
Authentication: TIdAuthentication; var Handled: Boolean); <-- rot mackiert !
([Fehler] Unit1.pas(14): Undefinierter Bezeichner: 'TIdAuthentication' )
Woran kann das liegen .. die version.txt liegt auf dem angegebenem server . |
Du hast bestimmt eine http-Authentication verwendet (.htaccess gesetzt), oder? ;) Wenn du die URL im Browser eingibst, wirst du nach Benutzername und Kennwort gefragt?
In diesem Fall kann natürlich die http-Kompo nicht wissen, welche Zugangsdaten zu verwenden sind. Probier das mal so: :idea:
Delphi-Quelltext
1: 2: 3: 4: 5:
| IdHTTP1.Request.BasicAuthentication := TRUE; IdHTTP1.Request.Username := 'user'; IdHTTP1.Request.Password := 'pass'; if (IdHTTP1.Get('http://www.url.de/version.txt') <> version) then |
Am besten packst du aber die Versionsdatei in ein frei zugängliches Verzeichnis, sonst musst du ja die Authentifizierungsdaten in deinem Programm mitliefern! :nixweiss:
cu
Narses
r4rox - Mo 13.09.10 01:04
Danke für deine Antwort.
Aber wenn ich die Textdatei via Url im Browser aufrufe wird sie mir Ohne pw und usernamen angezeigt sprich die datei ist "frei zugänglich" .
Habe die idhttp komponente von indy verwendet aber egal was ich mache er zeigt mir die rote makierung an der oben genannten stelle an.
gruß
raphael
jaenicke - Mo 13.09.10 01:24
r4rox hat folgendes geschrieben : |
Ich habe alles gemacht wie in Reepo2k`s beitrag.
[..]
Authentication: TIdAuthentication; var Handled: Boolean); <-- rot mackiert !
([Fehler] Unit1.pas(14): Undefinierter Bezeichner: 'TIdAuthentication' ) |
Äh, dieser Quelltext kam aber gar nicht vor...
Da hast du wohl noch selber etwas anderes geschrieben / kopiert, vermutlich irgendein Event. Das brauchst du aber eigentlich nicht. :gruebel:
TIdAuthentication wird jedenfalls in IdAuthentication deklariert sein vermute ich, schreib das mal einfach in die uses.
Nebenbei gibt es von mir auch noch was für Updates:
[url]
http://www.delphi-forum.de/viewtopic.php?t=94339[/url]
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!