Ich habs.
Zuerst
den Code hier wiefolgt angepasst:
Delphi-Quellcode:
...
BINDSTATUS_FINDINGRESOURCE:
begin
form1.StatusBar2.Panels[1].Text := 'Datei wurde gefunden...';
if (usercancel) then
begin
Result := E_ABORT;
exit;
end;
end;
BINDSTATUS_CONNECTING:
begin
form1.StatusBar2.Panels[1].Text := 'Es wird verbunden...';
if (usercancel) then
begin
Result := E_ABORT;
exit;
end;
end;
BINDSTATUS_BEGINDOWNLOADDATA:
begin
Form1.progressbar1.Position := 0;
form1.StatusBar2.Panels[1].Text := 'Der Download wurde gestartet...';
if (UserCancel) then
begin
Result := E_ABORT;
exit;
end;
end;
BINDSTATUS_DOWNLOADINGDATA:
begin
Form1.progressbar1.Position := MulDiv(ulProgress,100,ulProgressMax);
form1.StatusBar2.Panels[1].Text := 'Datei wird heruntergeladen...';
if (UserCancel) then
begin
Result := E_ABORT; exit;
end;
end;
BINDSTATUS_ENDDOWNLOADDATA:
begin
form1.StatusBar2.Panels[1].Text := 'Download wurd beendet...';
end;
...
Somit brauche ich auch keine Gauge mehr.
Hier ist mein Aufruf:
Delphi-Quellcode:
procedure TForm1.DownloadClick(Sender: TObject);
begin
dl;
end;
procedure tform1.DL;
var
d:
String;
url,ziehl: pchar;
cDownStatus : cDownloadStatusCallback;
begin
cDownStatus := cDownloadStatusCallBack.Create;
d:=getcurrentwb.LocationName;
createdir('
c:/'+d);
for i := 0
to Listbox2.items.Count - 1
do
begin
Application.ProcessMessages;
url:=pchar(listbox2.Items.Strings[i]);
ziehl:=pchar('
c:/'+d+'
/'+inttostr(i+1)+'
.jpg');
URLDownloadToFile(
nil,
url, ziehl, 0 , CDownStatus);
end;
end;
Jetzt nur noch den Gesammtbalken.
Zitat:
einfach die gesamtanzahl bytes ermitteln und dann gucken wie viel du schon geladen hast
. Hmm... Wie war das noch mal