AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fortschrittsanzeige in ProgressBar

Ein Thema von Delphi_Atze · begonnen am 13. Mai 2009 · letzter Beitrag vom 3. Mai 2010
 
Delphi_Atze
(Gast)

n/a Beiträge
 
#1

Fortschrittsanzeige in ProgressBar

  Alt 13. Mai 2009, 21:01
Hallo

Ich habe folgendes Problem:

Ich lade eine txt Datei mit Hilfe der Indy Komponente (in Delphi 2009) herunter. Jetzt will ich diesen Fortschritt des Herunderladens in einer ProgressBar anzeigen lassen, Ich habe eine schöne Anleitung gefunden:

-> http://www.delphi-treff.de/tutorials...t/indy/page/4/

Habe soweit alles gemacht wie beschrieben:

Varibalen (Global)

Delphi-Quellcode:
var
  Form1: TForm1;
  IdFTP1:TidFTP;
  STime:TDateTime;
  AverageSpeed:Extended;

Das ist das Ereignis der OnWork (der IdFTP1)

Delphi-Quellcode:
procedure TForm1.IdFTP1Work(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCount: Int64);
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: StatusBar1.Panels[1].Text := 'Download speed ' + S;
    wmWrite: StatusBar1.Panels[1].Text := 'Uploade speed ' + S;
  end;

  //Aktualisieren der Fortschrittsanzeige:
  ProgressBar1.Position := AWorkCount;
end;
Das ist die OnWorkBegin (der IdFTP1)

Delphi-Quellcode:
procedure TForm1.IdFTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode;
 AWorkCountMax: Int64);
begin
  ProgressBar1.Max := AWorkCountMax;
  ProgressBar1.Position := 0;
  STime:=now;
end;

Ich hatte Probleme das "AverageSpeed" einen Typ zuzuweisen. habe es schließlich auf Extended gesetzt (hatte ich gelesen gehabt war mir aber auch nicht sicher ob das geht). Wenn ich jetzt den Button klicke, der die txt dei runterladen soll, passiert nichts

der Button macht folgendes:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin

  IdFTP1:=TIdftp.Create(Self);
  IdFTP1.Username := 'XXX';
  IdFTP1.Password := 'XXX';
  IdFTP1.Port := 21;
  IdFTP1.Host := 'XXX';
  IdFTP1.Connect;
  IdFTP1.Get('marsas.txt', 'C:\WINDOWS\marsas.txt' , true, false);
  IdFTP1.Quit;

end;

Jetzt will ich den Button drücken und die ProgressBar soll halt abhängig von der Dateigröße den Fortschritt anzeigen.

Wäre über jede Hilfe sehr Dankbar
  Mit Zitat antworten Zitat
 


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 20:31 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