AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Mehrere Dateien per http herunterladen
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrere Dateien per http herunterladen

Ein Thema von Dragon27 · begonnen am 12. Nov 2006 · letzter Beitrag vom 12. Nov 2006
Antwort Antwort
Dragon27

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

Mehrere Dateien per http herunterladen

  Alt 12. Nov 2006, 17:32
hallo alle zusammen,

ich habe eine Frage, ich würde gerne mehrere Dateien von einem HTTP Ziel herunterladen. Also eine ganze Liste. Mit was mach ich das am besten?
Ich hab mir schon die Indy´s angeschaut aber da ich die 10er habe kenne ich mich gar nicht damit aus. Auch ein fortschrittsbalken sollte möglich sein.

Danke für die Hilfe!
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#2

Re: Mehrere Dateien per http herunterladen

  Alt 12. Nov 2006, 17:35
http://www.delphipraxis.net/internal_redirect.php?t=75
http://www.delphipraxis.net/internal...ct.php?t=61806

Die Forensuche bzw. ein Blick in die CodeLib hätte dir auch geholfen.
  Mit Zitat antworten Zitat
Dragon27

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

Re: Mehrere Dateien per http herunterladen

  Alt 12. Nov 2006, 17:42
Hallo,

danke für die schnelle Antwort! Meine Frage ist nur wenn ich diesen Tipp: http://www.delphipraxis.net/internal_redirect.php?t=75 anwende, kann ich dass dann ein einer Schleife mit mehreren Dateien machen?
Denn ich hab das mit der einfachen API versucht und da bekomme ich eine Zugriffsverletzung.


Danke!
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
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
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz