Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
Delphi XE6 Enterprise
|
Re: Mehrere Dateien per http herunterladen
12. Nov 2006, 18:42
Hallo nochmal,
also hier der Code den ich jetzt habe:
Delphi-Quellcode:
var
Form1: TForm1;
Dateien:tstringlist;
implementation
{$R *.dfm}
function Tform1.Aktuell(Current:integer):Boolean;
var
Datei,Ziel:PChar;
ini:Tinifile;
stat:Integer;
begin
Label2.Caption := 'Verifiziere...';
try
Datei := 'http://www.xyz.de/Updates/Update.ini';
Ziel := 'C:\Windows\temp\Update.ini';
UrlDownloadToFile(nil, Datei, Ziel, 0, nil);
except
end;
ini:=Tinifile.Create('C:\Windows\temp\Update.ini');
stat:=ini.Readinteger('Version','Number',0);
ini.free;
if stat>current then Result:=false else Result:=true;
end;
Procedure Updatehandler(FDatei:String);
var Dat:Tstringlist;
i:integer;
Datei,Ziel:PChar;
begin
dat:=Tstringlist.Create;
dat.LoadFromFile(FDatei);
I:=0;
while dat.count>=i+1 do begin
if uppercase(dat[i])=uppercase('Script') then begin
inc(i);
Datei := PAnsiChar('http://www.xyz.de/Updates/'+dat[i]);
Ziel := PAnsiChar(ExtractFilePath(ParamStr(0))+'\Scripte\'+dat[i]);
end;
if uppercase(dat[i])=uppercase('EXE') then begin
inc(i);
Datei := PAnsiChar('http://www.xyz.de/Updates/'+dat[i]);
Ziel := PAnsiChar(ExtractFilePath(ParamStr(0))+'\'+dat[i]);
end;
inc(i);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var ini:Tinifile;
aktuelleVersion,i,jetzt:integer;
Datei,Ziel:PChar;
begin
ini:=Tinifile.Create(ExtractFilePath(ParamStr(0))+'\Update\Version.ini');
jetzt:=ini.ReadInteger('Data','Version',1);
if aktuell(jetzt)=false then begin
ini.free;
ini:=Tinifile.Create('C:\Windows\temp\Update.ini');
aktuelleversion:=ini.Readinteger('Version','Number',0);
ini.free;
for i:=Jetzt+1 to aktuelleversion do begin
try
Datei := PAnsiChar('http://www.xyz.de/Updates/'+inttostr(i)+'.upd');
Ziel := PAnsiChar(ExtractFilePath(ParamStr(0))+'\Update\'+inttostr(i)+'.upd');
UrlDownloadToFile(nil, Datei, Ziel, 0, nil);
except
Listbox1.Items.Add('Fehler beim Downloaden der Updates!');
end;
end;
for i:=Jetzt+1 to aktuelleversion do begin
Updatehandler(ExtractFilePath(ParamStr(0))+'\Update\'+inttostr(i)+'.upd');
end;
end;
ini.Free;
end;
end.
Bei diesem Code bekomme ich eine Zugriffsverletzung! Ich weiß nicht mehr weiter
Delphi is ......... DELPHI!!
|
|
Zitat
|