AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi speedanzeige funktioniert nicht richtig
Thema durchsuchen
Ansicht
Themen-Optionen

speedanzeige funktioniert nicht richtig

Ein Thema von Paul · begonnen am 22. Feb 2004 · letzter Beitrag vom 24. Feb 2004
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#11

Re: speedanzeige funktioniert nicht richtig

  Alt 23. Feb 2004, 00:14
Code:
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;
so richtig scheinst Du nicht zu wissen, was Du da mit copy und paste eingefügt hast, was ?
in Indy gibt es ein onworkBEGIN, .. das wo Du bist, ist onwork ! Du willst ja die Zeit DIFFERENZ haben. stime solltest Du in onwork in Ruhe lassen.
Alles klar ?
  Mit Zitat antworten Zitat
Markus K.

Registriert seit: 26. Jan 2004
Ort: Halle
346 Beiträge
 
Delphi 2005 Personal
 
#12

Re: speedanzeige funktioniert nicht richtig

  Alt 23. Feb 2004, 13:33
Hi Paul,
so sollte die Berechnung der Transfergeschwindigkeit richtig berechnet werden.

Delphi-Quellcode:
procedure TMainForm.IdFTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCountMax: Integer);
begin
  sTime:=Now;
end;

procedure TForm1.IdFTP1Work(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
Var
  S: String;
  TotalTime: TDateTime;
  H, M, Sec, MS: Word;
  DLTime: Double;
begin
  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: Ausgabe;
  end;
  ProgressBar1.Position := AWorkCount;
end;
Tschüß Markus
  Mit Zitat antworten Zitat
Paul

Registriert seit: 5. Feb 2004
22 Beiträge
 
#13

Re: speedanzeige funktioniert nicht richtig

  Alt 23. Feb 2004, 16:26
hi,

danke erstmal

wenn noch einer kurz zeit hat mir zu erklären warum in procedure TMainForm.IdFTP1WorkBegin der wert gesetzt werden muss, wäre ich sehr glücklich.

thx schon mal

mfg Paul
  Mit Zitat antworten Zitat
Markus K.

Registriert seit: 26. Jan 2004
Ort: Halle
346 Beiträge
 
Delphi 2005 Personal
 
#14

Re: speedanzeige funktioniert nicht richtig

  Alt 23. Feb 2004, 16:28
Na weil du ja die Startzeit brauchst, wann der Transfer begonnen hat. Das Ereignis onWorkBegin wird ausgelöst, sobald ein Transfer beginnt.
Wenn ich falsch liege bitte ich um Korrektur

Tschüß Markus
  Mit Zitat antworten Zitat
Paul

Registriert seit: 5. Feb 2004
22 Beiträge
 
#15

Re: speedanzeige funktioniert nicht richtig

  Alt 23. Feb 2004, 22:54
abend,

Delphi-Quellcode:
procedure TForm1.IdFTP1OnWorkBegin(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCountMax: Integer);
begin
  sTime:=Now;
end;

zeigt mir immer noch nicht den richtigen speed an

was kann ich noch falsch gemacht haben

mfg


Delphi-Quellcode:
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;

procedure TForm1.IdFTP1OnWorkBegin(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCountMax: Integer);
begin
  sTime:=Now;
end;

Delphi-Quellcode:
  private
    { Private declarations }
   STime:TDateTime;
  public
    { Public declarations }

  end;

var
  Form1: TForm1;
  MyIni : TIniFile;
  ListItem: TListItem;
  AverageSpeed:Double=0;

implementation
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#16

Re: speedanzeige funktioniert nicht richtig

  Alt 23. Feb 2004, 23:19
Du musst bei der TIdFTP Komponente im Objectinspektor das onworkbegin Eregnis zuweisen ...
  Mit Zitat antworten Zitat
Paul

Registriert seit: 5. Feb 2004
22 Beiträge
 
#17

Re: speedanzeige funktioniert nicht richtig

  Alt 24. Feb 2004, 16:48
ah shit das hab ich noch vergessen

big thx
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz