Thema: Delphi Online Update

Einzelnen Beitrag anzeigen

Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#11

Re: Online Update

  Alt 20. Jan 2008, 16:40
also ich kann dir das ganz ja nochmal erklären:

Zuerst downloadest du ja die Textdatei:
Delphi-Quellcode:
uses
  URLMon;

procedure TForm1.Button1Click(Sender: TObject);
var
  Datei,Ziel:PChar;
begin
  Label1.Caption := 'Download gestartet';
  try
    Datei := 'http://www.DieSeite/DieDatei.zip';
    Ziel := 'C:\Windows\Desktop\DieDatei.zip';
    UrlDownloadToFile(nil, Datei, Ziel, 0, nil);
    Label1.Caption := 'Download beendet';
  except
    showmessage('Download abgebrochen');
  end;
end;
end;
(entweder so oder über die Indys)
Bei "Datei" die Textdatei auf deinem FTP- Server eintragen, bei "Ziel" das Ziel^^
Ich würde dir empfehlen, die Datei im Ordner deiner Anwendung zu downloaden. Und vergiss nicht ,sie am Schluss wieder zu löschen, den sonst entsteht Datenmüll.
Die Textdatei würde ich wiefolgt aufbauen:
1. Zeile = Die Version würde ich hier so ausgeben(Version 2.0 = 20, weil 20 ne Integer Zahl ist bei der du mit einer Abfrage ja ganz leicht gucken kannst welche größer oder kleiner ist!
2. Zeile = Die Version mit Punkt in der Mitte
3. Zeile = Downloadlink
4. Zeile = Beschreibung oder eventuelle Hinweise

Beispiel (Inhalt der Textdatei):
Delphi-Quellcode:
20
2.0
[url]http://deinFTPServer/UpdateDatei.txt[/url]
Tolles Programm was in dieser Version auch noch funktioniert oder so^^
Dann noch in deinem Programm die Textdatei öffnen:
Delphi-Quellcode:
var
List: TStrings;
begin
List := TStringList.Create;
try
  List.LoadFromFile('C:\UpdateDatei.txt');
  if List.Count>0 then
    Edit1.Text:=List[0];
finally
  List.Free;
end;
end;
das Edit1.text := List[0] list die erste Zeile aus wenn du da [1] reinschreibst halt die 2. Zeile und immer so weiter.

Wenn du das so für alle vier Zeilen gemacht hast, steht im ersten Edit die Version im 2. Edit die Version mi nem Punkt in der Mitte zur Übersicht und so weiter...
Dann kannst du ja ein Label auf dein Form ziehen in dem z.B.: 31(für Version 3.1) drinnen steht und das vergleichst du dann mit Edit1.text:

Delphi-Quellcode:
if StrToInt(Edit1.text) > StrToInt(Label1.caption) then
ShowMessage('Es ist ein Update möglich!')
else
ShowMessage('Es ist kein Update nötig! Die Software ist auf dem neusten Stand'!);
wenn ein Update möglich ist dann machst du wieder die Download Procedur mit dem Link aus deiner gedownloadeten Textdatei!

Was ich dir noch empfehlen kann ist ein Vorschau- Fenster wo noch Beschreibung und so drinnen steht.
Außerdem sollte die alte Version deines Programmes dann selbst gelöscht werden nach Nachfrage!

Solltest du noch Fragen haben, frag Sie einfach^^

Hoffe ich konnte dir und vielleicht auch noch ein paar Anderen damit helfen

MFG Lars Wiltfang

2.2
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat