Autor Beitrag
kaschte
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Do 25.05.06 14:30 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 25.05.06 23:15 
Moin und :welcome: im Forum!

user profile iconkaschte 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 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:
ausblenden Delphi-Quelltext
1:
TimeStamp := GetTickCount; // liefert die Systemzeit in Millisekunden					

Wenn der Download beendet ist, kannst du dmit:
ausblenden Delphi-Quelltext
1:
TimeStamp := GetTickCount -TimeStamp; // Zeit in Millisekunden, die der Download gebraucht hat					

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

_________________
There are 10 types of people - those who understand binary and those who don´t.
kaschte Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Fr 26.05.06 08:50 
Ok, werd ich mir mal anschauen