![]() |
speedanzeige funktioniert nicht richtig
hi,
die INDY-speedanzeige funktioniert nicht richtig???? wird alles wunderbar angezeigt nur der speed wird etwas langsam angezeigt??? angezeigt wird 0.20kb/s aber mit 70kb/s läd er in wirklichkeit runter
Delphi-Quellcode:
bin über jede hilfe dankbar
procedure TForm1.IdFTP1Work(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer); Var S: String; TotalTime: TDateTime; H, M, Sec, MS: Word; DLTime: Double; begin //Errechnen der Transfergeschwindigkeit: TotalTime := Now - STime; DecodeTime(TotalTime, H, M, Sec, MS); Sec := Sec + M * 60 + H * 3600; DLTime := Sec + MS / 1000; if DLTime > 0 then AverageSpeed := (AWorkCount / 1024) / DLTime; S := FormatFloat('0.00 KB/s', AverageSpeed); case AWorkMode of wmRead: GroupBox3.Caption :=' DownloadSpeed - ' + S; // hier würd ich es gern in der ProgressBar1 anzeigen lassen end; //Aktualisieren der Fortschrittsanzeige: ProgressBar1.Position := AWorkCount; end; mfg |
Re: speedanzeige funktioniert nicht richtig
Hi Paul,
müsste bei der Downloadzeitberechnung die Addition(DLTime := Sec + MS / 1000;) der Sekunden und Millisekunden nicht in Klammern stehen :gruebel:? Oder weshalb teilst du nur die Millisekunden durch 1000? Tschüß Markus |
Re: speedanzeige funktioniert nicht richtig
hi,
ich kann dir jetzt nicht ganz folgen was du meinst :? mfg |
Re: speedanzeige funktioniert nicht richtig
Hi Paul,
ich meinte damit, dass Punkt vor Strichrechnung geht. Es werden erst die Millisekunden durch 1000 dividiert und danach erst mit den Sekunden addiert. Oder ist es beabsichtigt das sie Millisekunden zuerst durch 1000 geteilt werden? Wenn ja, warum? Tschüß Markus |
Re: speedanzeige funktioniert nicht richtig
Er meint:
Delphi-Quellcode:
DLTime := (Sec + MS) / 1000;
|
Re: speedanzeige funktioniert nicht richtig
besten dank.
der speed wird in angezeigt in einer steigernden form. wird nicht gleich komplett angezeigt sondern fängt bei null an und steigert sich. der wahre speed wird immer noch nicht angezeigt. :( besten dank, das hilft mir schon mal weiter. mfg paul |
Re: speedanzeige funktioniert nicht richtig
Sorry, aber ich habe mich geirrt :wall:
Es stehen deshalb keine Klammern, weil die Millisekunden erst noch in Sekunden umgerechnet werden müssen(die Umrechnung hätte man auch in einer Zeile vereinbaren können). Meiner Ansicht nach scheint es entweder einen Fehler bei STime oder AWorkCount zugeben. Welchem Wert hast du denn der TDateTime-Variablen zugewiesen? Es müsste doch eigentlich die Startzeit sein, oder? Hast du auch bei Start des Download/Uploads der Variablen die Startzeit zugewiesen? Denn wenn die Variable den Wert 0 hat, wird die Zeit zu groß, daraus folgt wiederum, dass der Speed zu klein angezeigt wird. Das die Konstante AWorkCount falsch ist, halte ich für ausgeschlossen, da die Indy-Komponente den Wert übergibt. Tschüß Markus PS: Sorry nochmal für den Fehler(ich sollte erst richtig überlegen und dann schreiben :oops: ). |
Re: speedanzeige funktioniert nicht richtig
hi,
Zitat:
Delphi-Quellcode:
mfg Paul
private
{ Private declarations } STime:TDateTime; public { Public declarations } end; |
Re: speedanzeige funktioniert nicht richtig
Zitat:
|
Re: speedanzeige funktioniert nicht richtig
hi,
das hab ich gemacht jetzt hab ich ein speed von 6400kb/s :)
Delphi-Quellcode:
ich schau mal was ich machen kann :)
begin
//Errechnen der Transfergeschwindigkeit: stime := now; TotalTime := Now - STime; DecodeTime(TotalTime, H, M, Sec, MS); Sec := Sec + M * 60 + H * 3600; DLTime := Sec + MS / 1000; n8 all mfg Paul |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 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