Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Download mit Geschwindigkeitsanzeige und Dateigröße (https://www.delphipraxis.net/133887-download-mit-geschwindigkeitsanzeige-und-dateigroesse.html)

Tim-94 11. Mai 2009 17:24


Download mit Geschwindigkeitsanzeige und Dateigröße
 
Hi! :)
Gibt es eine Möglichkeit mit Turbo Delphi einen Download mit Geschwindigkeitsanzeige,
Dateigröße und verbleibender Zeit zu programmieren?

Bisher ist mir nur der normale Dateidownload bekannt.(Läuft im Hintergrund ab!)


Delphi-Quellcode:
procedure TForm1.OKBtnClick(Sender: TObject);
var
  Datei,Ziel:PChar;
begin
Caption:='Download startet...';
Datei := 'http://google.de/test.txt';
Ziel := '.\test.txt';
UrlDownloadToFile(nil, Datei, Ziel, 0, nil);
end;

PS: Ich habe extra den Hinweis "mit Turbo Delphi" oben hingeschrieben, da ich mithilfe
der Suche nur Downloads mit der Komponente "TIdhttp" gefunden habe.
(Die Angabe zur Zieldatei im Delphi-Quellcode ist nicht original!)

lbccaleb 11. Mai 2009 17:46

Re: Download mit Geschwindigkeitsanzeige und Dateigröße
 
Ja gibt es, am besten suchst mal nach dem hier:

Hier im Forum suchenBINDSTATUSCALLBACK

Bei Google suchenBINDSTATUSCALLBACK

Tim-94 11. Mai 2009 17:49

Re: Download mit Geschwindigkeitsanzeige und Dateigröße
 
Danke, aber hier in der DP-Suche gibt es dazu nur meinen Thread und bei Google kommt nur Mist.

DeddyH 11. Mai 2009 17:50

Re: Download mit Geschwindigkeitsanzeige und Dateigröße
 
Schau Dir mal hier die 2. Möglichkeit an, die sollte noch erweiterbar sein.

Tim-94 11. Mai 2009 17:54

Re: Download mit Geschwindigkeitsanzeige und Dateigröße
 
Ebenfalls danke, aber auch dies hat mich nicht weitergebracht, da ich dort
noch den gesamten Code für Downloadgeschwindigkeit, etc. hinzufügen muss und wenn ich
es alleine könnte, hätte ich keinen Thred reingestellt.

DeddyH 11. Mai 2009 17:57

Re: Download mit Geschwindigkeitsanzeige und Dateigröße
 
Und was spricht gegen die Indys? Das hat doch mit TDE nichts zu tun, AFAIK sind die doch auch dort enthalten.

shmia 11. Mai 2009 17:59

Re: Download mit Geschwindigkeitsanzeige und Dateigröße
 
Downloaden mit Fortschrittsanzeige

Tim-94 11. Mai 2009 18:00

Re: Download mit Geschwindigkeitsanzeige und Dateigröße
 
Stimmt du hast recht. :-D

Tim-94 11. Mai 2009 18:03

Re: Download mit Geschwindigkeitsanzeige und Dateigröße
 
Danke shmia, ich werde es gleich einmal ausprobieren. :-D

Tim-94 11. Mai 2009 18:12

Re: Download mit Geschwindigkeitsanzeige und Dateigröße
 
Wenn mir jetzt noch jemand sagen kann, wie ich die Dateigröße und die ungefähr noch verbleibende
Zeit bis zum Abschluss des Downloads ermitteln kann, bin ich sehr glücklich. :-D

lbccaleb 11. Mai 2009 18:17

Re: Download mit Geschwindigkeitsanzeige und Dateigröße
 
Die Dateigröße wird doch in dem Code der von Shmia gepostet wurde mit übergeben, das muss man sich natürlich nur "ordentlich" anschauen!

Und die Zeit kannst du errechnen! Das ist natürlich event. sehr ungenau, aber das liegt ja auch an der Verbindung...

Tim-94 11. Mai 2009 18:21

Re: Download mit Geschwindigkeitsanzeige und Dateigröße
 
Wo soll den der Codeteil sein, der für die Größe da ist?

shmia 11. Mai 2009 18:21

Re: Download mit Geschwindigkeitsanzeige und Dateigröße
 
Zitat:

Zitat von Tim-94
Dateigröße und die ungefähr noch verbleibende Zeit bis zum Abschluss des Downloads

Die Restzeitberechnung ist eine ziemlich knifflige Sache.
Man braucht einen gleitenden Durchschnitt oder ähnliche Verfahren damit die Restzeitanzeige nicht wilde Werte anzeigt.
Aber hier gibt es eine Klasse dazu: http://www.delphipraxis.net/internal...ct.php?t=93395

Tim-94 11. Mai 2009 18:23

Re: Download mit Geschwindigkeitsanzeige und Dateigröße
 
Und wie kann ich das jetzt in die andere Schleife mit einbinden?
Woher bekomme ich die "MinValue" und die "MaxValue"?

lbccaleb 11. Mai 2009 18:25

Re: Download mit Geschwindigkeitsanzeige und Dateigröße
 
Zitat:

Zitat von Tim-94
Wo soll den der Codeteil sein, der für die Größe da ist?

Schau dir den Bereich im Code mal an:
Delphi-Quellcode:
    BINDSTATUS_DOWNLOADINGDATA:
    begin
      Form1.Gauge1.Progress := [b]MulDiv(ulProgress,100,ulProgressMax);[/b]
      Form1.Label1.Caption := 'Datei wird heruntergeladen...';
      if (UserCancel) then
      begin
        Result := E_ABORT; exit;
      end;
    end;
Fällt dir nichts auf?

Tim-94 11. Mai 2009 18:30

Re: Download mit Geschwindigkeitsanzeige und Dateigröße
 
Doch:

Delphi-Quellcode:
MulDiv(ulProgress,100,ulProgressMax);


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:24 Uhr.

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