Mega Code Archive

 
Categories / Delphi / LAN Web TCP
 

Program update

uses {...,}IniFiles, UrlMon, type TForm1 = class(TForm) {...} private winsc: TiniFile; old: Integer; vernfo: TIniFile; end; implementation {$R *.dfm} function DownloadFile(Source, Dest: string): Boolean; { Function for Downloading the file found on the net } begin try Result := UrlDownloadToFile(nil, PChar(Source), PChar(Dest), 0, nil) = 0; except Result := False; end; end; function GetPathPath: string; { Retrive app path } begin Result := ExtractFilePath(Application.ExeName); end; procedure TForm1.DownLoadNewVersion1Click(Sender: TObject); var apath: string; new: Integer; begin // This is the exact code from my application apath := GetPathPath; Gauge1.Progress := 0; StatusBar1.SimplePanel := True; StatusBar1.SimpleText := 'Bağlantı http://www.xxx.com'; Gauge1.Progress := 20; if DownloadFile('http://www.xxx.com/update.ini', PChar(apath) + '/update.ini') then begin Gauge1.Progress := 50; StatusBAr1.SimplePanel := True; StatusBar1.SimpleText := 'Versiyon Kontrol Ediliyor...'; vernfo := TiniFile.Create(GetPathPath + '/update.ini'); new := vernfo.ReadInteger('version', 'wsc', 7); vernfo.Free; if (old = new) then begin StatusBar1.SimplePanel := True; StatusBar1.SimpleText := 'Yeni Versiyon Bulunamadı.'; Gauge1.Progress := 100; end else if DownloadFile('http://www.xxx.com/xxx.exe', PChar(apath) + '/xxx.exe') then begin ShowMessage('Yenileme Tamamlandı'); Gauge1.Progress := 100; winsc := TIniFile.Create(ChangeFileExt(Application.ExeName, '.ini')); winsc.WriteInteger('wsc', 'vernfo', new); winsc.Free; end else MessageDlg('Tekrar Deneyin', mtInformation, [mbOK], 0); end else begin StatusBar1.SimplePanel := True; StatusBar1.SimpleText := 'Internet Bağlantı Problemi; Gauge1.Progress := 0; end; end; procedure TForm1.FormCreate(Sender: TObject); begin //App version winsc := TIniFile.Create(ChangeFileExt(Application.ExeName, '.ini')); try old := winsc.ReadInteger('wsc', 'vernfo', 1); finally winsc.Free; end; end; end.