![]() |
Einfaches Online Update 2
Liste der Anhänge anzeigen (Anzahl: 1)
Nach dem ich sehr sehr lange nach einer Update Lösung für mein Programm gesucht habe und nichts vernünftiges gefunden hab, außer
![]() Und so funktioniert es: Vom Webserver wird eine Datei runtergeladen wo die Infos zu der neuen Version stehen, es wird verglichen, ob diese Version schon installiert ist und wenn nicht wird die neue zum Downloaden angeboten. Hier der Code:
Delphi-Quellcode:
Die Datei.txt muss so aussehen:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, URLMon, StdCtrls, ExtCtrls, ShellApi; type TForm1 = class(TForm) Timer1: TTimer; Timer2: TTimer; procedure Timer1Timer(Sender: TObject); procedure Timer2Timer(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; Version: Integer=200; implementation {$R *.dfm} procedure TForm1.Timer1Timer(Sender: TObject); var Datei, Ziel: PChar; begin Timer1.Enabled:=False; try Datei := 'http://www.meineseite/Datei.txt'; Ziel := 'C:\test\Datei.txt'; UrlDownloadToFile(nil, Datei, Ziel, 0, nil); except end; end; procedure TForm1.Timer2Timer(Sender: TObject); var List: TStrings; begin Timer2.Enabled:=False; if FileExists('C:\test\Datei.txt') then begin List := TStringList.Create; try List.LoadFromFile('C:\test\Datei.txt'); if List.Count>0 then if StrToInt(List[0]) > Version then if MessageDlg('Neue Version ' + List[1] + ' ist verfügbar!' + CHR(13) + CHR(13) + 'Neu in dieser Version: ' + CHR(13) + List[3] + CHR(13) + CHR(13) + 'Möchten Sie diese runterladen?', mtInformation, [mbYes, mbNo], 0) = mrYes then begin ShellExecute(Application.Handle, 'open', PChar(List[2]), nil, nil, SW_SHOWNORMAL); end else Timer2.Enabled:=False; finally List.Free; end; end; end; end. 1. Zeile := Die Version ohne einen Punkt in der Mitte damit man Sie mit < bzw. > dann später vergleichen kann 2. Zeile := Die Version so, wie Sie der User dann sehen wird um dann zu entscheiden ob er ein Update will oder nicht 3. Zeile := Die Datei, die gedownloadet werden soll 4. Zeile := Die Beschreibung warum ein Update gemacht werden soll bzw. die Update- Erneuerungen Ein Beispiel: Zitat:
|
Re: Einfaches Online Update 2
Wo genau liegt jetzt der Unterschied zu meinem bescheidenem Online Update?
|
Re: Einfaches Online Update 2
Zitat:
|
Re: Einfaches Online Update 2
Ich oder er?
|
Re: Einfaches Online Update 2
Wessen Quelltext steht denn da oben?
|
Re: Einfaches Online Update 2
von beiden etwas
|
Re: Einfaches Online Update 2
Dann sollten auch beide einmal nachsehen :zwinker:
|
Re: Einfaches Online Update 2
Außerdem speichert man nicht nach C:\Irgendwas hardgecodetes, für sowas nimmt man ein temporäres Verzeichnis.
Fehlerbehandlung fehlt auch |
Re: Einfaches Online Update 2
Zitat:
|
Re: Einfaches Online Update 2
hallo AlexII,
kannst du mir noch erklären, für was die zwei Timer benötigt werden? Ich blicke da nicht ganz durch :?: Das GreenHorn |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:11 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