AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Fortschrittsanzeige bei FTP-download
Thema durchsuchen
Ansicht
Themen-Optionen

Fortschrittsanzeige bei FTP-download

Ein Thema von Gambit · begonnen am 7. Mär 2005 · letzter Beitrag vom 7. Mär 2005
Antwort Antwort
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#1

Fortschrittsanzeige bei FTP-download

  Alt 7. Mär 2005, 16:58
Hi,

es gibt von Luckie so ein schönes Beispiel, wo beim FTP-upload der Status und der Uploadfortschritt angezeigt wird:
Die Fortschrittsanzeige der Progressbar wird durch Properties von IdFTP realisiert und zwar mit folgenden Methoden:

Delphi-Quellcode:
procedure TFormFTPTransfer.IdFTPWork(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
  ProgressBar.Position := AWorkCount;
  Application.ProcessMessages;
end;

procedure TFormFTPTransfer.IdFTPWorkEnd(Sender: TObject;
  AWorkMode: TWorkMode);
begin
  ProgressBar.Position := 0;
end;

procedure TFormFTPTransfer.IdFTPWorkBegin(Sender: TObject;
  AWorkMode: TWorkMode; const AWorkCountMax: Integer);
begin
  ProgressBar.Max :=AWorkCountMax;
end;
Meines Erachtens müsste das Ganze doch beim Download ebenso funzen, tut es aber nicht, die Fortschrittsanzeige bewegt sich nicht.
Die Frage ist jetzt, warum wohl nicht...

Gruß

Wolle
  Mit Zitat antworten Zitat
Benutzerbild von Unrealer
Unrealer

Registriert seit: 13. Feb 2005
Ort: Dettenhausen
32 Beiträge
 
Delphi 7 Personal
 
#2

Re: Fortschrittsanzeige bei FTP-download

  Alt 7. Mär 2005, 17:17
Ich sehe nirgends in dem Quellcode wie weit der Fortschrittsbalken gehen soll. Vielleicht liegts ja daran.
Marcel
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#3

Re: Fortschrittsanzeige bei FTP-download

  Alt 7. Mär 2005, 17:41
Zitat von Unrealer:
Ich sehe nirgends in dem Quellcode wie weit der Fortschrittsbalken gehen soll. Vielleicht liegts ja daran.
Ne? Das steht in der letzten Methode:

Delphi-Quellcode:
procedure TFormFTPTransfer.IdFTPWorkBegin(Sender: TObject;
  AWorkMode: TWorkMode; const AWorkCountMax: Integer);
begin
  ProgressBar.Max :=AWorkCountMax;
end;
Und da scheint der Hund auch begraben zu sein, der Wert wird nämlich im OnWorkBegin-Ereigniss nicht ermittelt, steht somit auf Null. Beim Upload wird der Wert im Gegensatz dazu richtig ermittelt...
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#4

Re: Fortschrittsanzeige bei FTP-download

  Alt 7. Mär 2005, 18:26
So, es liegt, wie gesagt an AWorkCountMax, wo bei einem FTP-download immer der Wert Null drin steht. Die Progressbar kann somit nichts anzeigen.

ersetzt man in

Delphi-Quellcode:
procedure TFormFTPTransfer.IdFTPWorkBegin(Sender: TObject;
  AWorkMode: TWorkMode; const AWorkCountMax: Integer);
begin
  ProgressBar.Max :=AWorkCountMax;
end;
ProgressBar.Max :=AWorkCountMax; durch

Delphi-Quellcode:
if AWorkCountMax > 0 then ProgressBar.Max := AWorkCountMax
    else ProgressBar.Max := BytesToTransfer;
wobei BytesToTransfer vom Typ LongWord ist und nach dem Connect mit

BytesToTransfer:= IdFTP.Size(Datei); ermittelt wird, funzt die Progressbar auch beim FTP-Download...
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: Fortschrittsanzeige bei FTP-download

  Alt 7. Mär 2005, 18:26
Zitat von Gambit:
Und da scheint der Hund auch begraben zu sein, der Wert wird nämlich im OnWorkBegin-Ereigniss nicht ermittelt, steht somit auf Null. Beim Upload wird der Wert im Gegensatz dazu richtig ermittelt...
Ja und das Problem mit Indy taucht in diesem Forum immer wieder auf:
Hier im Forum suchenAWorkCountMax
die Lösung scheint zu sein, vor dem Download die Methode Size aufzurufen:
Delphi-Quellcode:
  progress1.Max := IdFTP1.Size(dateiname);
  IdFTP1.Get(dateiname, localfilename);
Andreas
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#6

Re: Fortschrittsanzeige bei FTP-download

  Alt 7. Mär 2005, 18:26
Ooops, da war einer schneller...wobei das alleinige Aufrufen vorm Download wohl nicht reicht bzw. vielleicht doch besser in OnWorkBegin gesetzt wird...
  Mit Zitat antworten Zitat
Antwort Antwort


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:33 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