Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Download process bei Indy Component ? (https://www.delphipraxis.net/130191-download-process-bei-indy-component.html)

thomas2009 5. Mär 2009 13:44

Re: Download process bei Indy Component ?
 
Zitat:

Zitat von hoika
Hallo,

< Das könnte das Download beschleunigen. Aber wie kann das einbauen ? >
mit mod, wie es oben steht

Delphi-Quellcode:
if (iCurPercent mod 5) =0 then
begin
  ProgressBar.
  App.ProcMess.
end;

Heiko

was ist das ! Das gehört dem Code nicht
anyway ich habe folgendes gemacht aber ich sah keine Beschleunigung :
Delphi-Quellcode:
      if (BytesKopiert mod 5) =0 then
begin
  Progressbar1.Position := BytesKopiert;
 Application.ProcessMessages;
end;

DeddyH 5. Mär 2009 13:48

Re: Download process bei Indy Component ?
 
5 Bytes entsprechen ja auch nur bei genau 100 Bytes Downloadgröße den angesprochenen 5 Prozent.

SirThornberry 5. Mär 2009 13:54

Re: Download process bei Indy Component ?
 
andere Frage - läuft das ganze schneller wenn du das OnWork lässt aber darin alles auskommentierst?

thomas2009 5. Mär 2009 14:18

Re: Download process bei Indy Component ?
 
Zitat:

Zitat von SirThornberry
andere Frage - läuft das ganze schneller wenn du das OnWork lässt aber darin alles auskommentierst?

Das geht um diesen Code : http://www.delphipraxis.net/internal...ct.php?t=81071

Die Events:
OnBegin
Onwrk
OnEnd
von IdHTTP1 sind sowieso leer

SirThornberry 5. Mär 2009 14:41

Re: Download process bei Indy Component ?
 
Wenn ich den Link anklicke sehe ich ein Beispiel mit Verwendung von TIdHttp und Code in den Events onWorkBegin, onWork etc.
Also hast du entweder den Code verwendet und somit doch was drin stehen oder anderen Code.

thomas2009 5. Mär 2009 15:21

Re: Download process bei Indy Component ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hier ist das Demo als Delphi Project (Source ohne exe)
Das Demo funktioniert wunderbar aber wie gesagt zu zu langsam
Wer was vorgeschlagen hat, kann selber die Idee in das Projekt einbauen und vorher testen

Luckie 5. Mär 2009 15:41

Re: Download process bei Indy Component ?
 
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  fs: TFileStream;
begin
  fs := TFileStream.Create('c:\test.zip', fmCreate   );
  try
    IdHTTP1.Get('http://melander.dk/download/DragDrop0401rc3.zip', fs);
  finally
    fs.Free;
  end;
end;

procedure TForm1.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
  Progressbar1.Position := AWorkCount;
end;

procedure TForm1.IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCountMax: Integer);
begin
  TickStart := GetTickCount;
  ProgressBar1.Max := AWorkCountMax;
end;

procedure TForm1.IdHTTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
begin
  ShowMessage(IntToStr(GetTickCount - TickStart)+ ' ms');
end;
Ca. 2 Sekunden für die 999 kB. Es liegt also nicht am Download.

thomas2009 5. Mär 2009 16:44

Re: Download process bei Indy Component ?
 
Dein Vorschlag Michael ist zwar Simple aber sehr schnell :thumb:
Wenn es bei dem Code Oben nicht gut klappt werde ich deinen Vorschlag mit Sicherheit verwenden

Danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:05 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz