Entwickler-Ecke
Internet / Netzwerk - Downloadzeit ermitteln und in Label anzeigen
kaschte - Do 25.05.06 14:30
Titel: Downloadzeit ermitteln und in Label anzeigen
Also ich habe n kleines Programm geschrieben das nach Eingabe der Downloadurl und des Zielpfades auf Knopfdruck eine Datei herunterlädt. Jetzt möchte ich aber, dass in einem Label die Downloadzeit + die Prozentangabe angezeigt wird (Sollte auf die Sekunde genau sein). Leider habe ich keine Ahnung wie ich dies anstellen soll.
Narses - Do 25.05.06 23:15
Moin und :welcome: im Forum!
kaschte hat folgendes geschrieben: |
| Jetzt möchte ich aber, dass in einem Label die Downloadzeit + die Prozentangabe angezeigt wird (Sollte auf die Sekunde genau sein). |
Ganz einfach: du ziehst eine Kompo vom Typ
TWahrsagen (download von
http://www.zigeuner.ru) auf das Formular und weist der Eigenschaft
Wahrsagen1.DownloadURL den Link zu, dann kannst du in
Wahrsagen1.ExaktesDownloadende Datum und Uhrzeit abfragen, wann der Download fertig ist. ;) (sorry, aber der mußte jetzt mal raus)
Nein, im ernst, wie willst du das denn genau vorhersagen? Du kannst doch gar nicht wissen, ob der Server, der ISP oder dein eigener PC nicht irgendwelche Probleme hat und Verzögerungen verursacht... :roll: ;)
Ansatz: Im ButtonClick-Handler machst du:
Delphi-Quelltext
1:
| TimeStamp := GetTickCount; |
Wenn der Download beendet ist, kannst du dmit:
Delphi-Quelltext
1:
| TimeStamp := GetTickCount -TimeStamp; |
bestimmen, wie lange dieser Download gedauert hat. Daraus und aus der Dateigröße kannst du nun die Downloadrate berechnen.
Wenn du nun ein weiteres Files runterladen willst, kannst du mit der Downloadrate und der Dateigröße des neuen Files auch etwa die voraussichtliche Downloadzeit berechnen.
Wie du damit dein Problem löst, ist jetzt wiederum dein Problem. ;)
cu
Narses
kaschte - Fr 26.05.06 08:23
Natürlich soll die Anzeige laufend aktualisiert werden. Also quasi so wie bei einem Browser. Ich schau mir aber mal dein Zeugs an, vielleicht komm ich ja dann selber drauf (irgendwie die Grösse und dann immer die Downloadgeschwindigkeit abziehen?)
jasocul - Fr 26.05.06 08:46
Einmal zusammengefasst:
- Dateigröße ermitteln, falls möglich (wenn nicht kannst du das sowieso vergessen)
- Startzeit festhalten
- Starten
- Ermitteln, wieviel Zeit vergangen ist
- Ermitteln, wieviel schon runtergeladen ist
- Aus diesen Werten kannst du berechnen, wieviel Zeit noch für benötigt wird (Dreisatz)
kaschte - Fr 26.05.06 08:50
Ok, werd ich mir mal anschauen
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!