Einzelnen Beitrag anzeigen

Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#4

Re: Mehrere Dateien per http herunterladen

  Alt 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!!
  Mit Zitat antworten Zitat