Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi verbleibende Zeit eines Downloads? (https://www.delphipraxis.net/86116-verbleibende-zeit-eines-downloads.html)

mlspider 9. Feb 2007 10:16


verbleibende Zeit eines Downloads?
 
Wie könnte man die Dauer eines Downloads feststellen und während eines Downloads stänig aktualisieren?

Tormentor32 9. Feb 2007 10:20

Re: verbleibende Zeit eines Downloads?
 
Du musst nur wissen, wie groß die Datei ist, die du runterlädst, und die aktuelle Geschwindigkeit.

NormanNG 9. Feb 2007 10:22

Re: verbleibende Zeit eines Downloads?
 
hi,

schau mal hier

mlspider 9. Feb 2007 10:24

Re: verbleibende Zeit eines Downloads?
 
So etwas in dieser Richtung habe ich mir schon fast gedacht. Die Dateigrösse und die aktuelle Geschwindigkeit ist mir bekannt. Ich lasse diese Werte auf Labels ausgeben.

mlspider 9. Feb 2007 11:37

Re: verbleibende Zeit eines Downloads?
 
Irgendwie wil garnichts klappen. Ich poste mal kurz die entscheidenen Stellen:

Delphi-Quellcode:
private
    { Private-Deklarationen }
    FTime: Longword;
   FBytes: Longword;



...

procedure TLizenz.IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCountMax: Integer);
begin
 FTime := GetTickCount;
 FBytes := 0;
end;

procedure TLizenz.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
 if (GetTickCount - FTime) >= 1000 then
 begin
   //Downloadgeschwindigkeit
   label8.caption := Format('%.2f KB/s', [(AWorkCount - FBytes) / (GetTickCount - FTime)]);
   FTime := GetTickCount;
   FBytes := AWorkCount;
 //bereits geladen von Gesamtgrösse
 Label6.Caption := 'Download läuft !   '+' ('+inttostr(AWorkCount div 1024)+' kB von '+inttostr(IdHTTP1.Response.ContentStream.Size div 1024)+' kB)';
 Gauge1.Progress := AWorkCount*100 div IdHTTP1.Response.ContentStream.Size;
 application.ProcessMessages;
end;
end;

MrKnogge 9. Feb 2007 11:52

Re: verbleibende Zeit eines Downloads?
 
Zitat:

Delphi-Quellcode:
Gauge1.Progress := AWorkCount*100 div IdHTTP1.Response.ContentStream.Size;

Probier mal:
Delphi-Quellcode:
Gauge1.Max := IdHTTP1.Response.ContentStream.Size;
Gauge1.Progress := AWorkCount;
Gruß

mlspider 9. Feb 2007 11:58

Re: verbleibende Zeit eines Downloads?
 
Und wie übergebe ich dies zb. an ein Label?

MrKnogge 9. Feb 2007 12:04

Re: verbleibende Zeit eines Downloads?
 
Ich dachte das hast du bereits ?
Delphi-Quellcode:
Label6.Caption := 'Download läuft !   '+' ('+inttostr(AWorkCount div 1024)+' kB von '+inttostr(IdHTTP1.Response.ContentStream.Size div 1024)+' kB)';

mlspider 9. Feb 2007 12:17

Re: verbleibende Zeit eines Downloads?
 
Dies gibt mir doch die bereits geladenen Bytes aus. Jedoch nicht die restlich verbleibene Zeit.

MrKnogge 9. Feb 2007 12:26

Re: verbleibende Zeit eines Downloads?
 
Delphi-Quellcode:
(IdHTTP1.Response.ContentStream.Size - AWorkCount) div iAktelleDownloadGeschwindigkeit
Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:00 Uhr.
Seite 1 von 2  1 2      

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