Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IdFTP + progressbar wie ?! (https://www.delphipraxis.net/62731-idftp-progressbar-wie.html)

ghost007 8. Feb 2006 17:49


IdFTP + progressbar wie ?!
 
Hallo,
ich weiß das es hier schon mehrere posts zu diesem thema gibt, aber ich werde aus keinem von ihnen schlau. :( :wall:
Also, ich habe folgendes problem:

Ich habe einen IdFTP und will das der downloadvortschritt in einer progressbar dargestellt wird.
1.Wo finde ich die progressbarkomponente in delphi?
2.Wie stelle ich den fortschnitt dar?

-=wWw=- AK23 8. Feb 2006 17:53

Re: IdFTP + progressbar wie ?!
 
Ich weiß ja nu nicht obs wirklich weiterhilft, aber guck mal hier.

Da geht es um idHTTP Downloads mit fortschrittsanzeige, aber ich denke mal das lässt sich umschreiben.

ghost007 8. Feb 2006 18:03

Re: IdFTP + progressbar wie ?!
 
Zitat:

Zitat von -=wWw=- AK23
Ich weiß ja nu nicht obs wirklich weiterhilft, aber guck mal hier.

Da geht es um idHTTP Downloads mit fortschrittsanzeige, aber ich denke mal das lässt sich umschreiben.

hm... is ein bischen komisch :gruebel:
Gibt es denn keinen hier, der sowas schon selber programmiert hat?

marabu 8. Feb 2006 19:17

Re: IdFTP + progressbar wie ?!
 
Hallo,

die ProgressBar-Komponente findest du z.B. wenn du den Menüeintrag "Komponente | Palette konfigurieren..." aktivierst. Wähle die Gesamtansicht und sortiere die Liste der Komponenten nach Namen. Neben dem Namen der Komponente (TProgressBar) liest du dann die Palettenseite, auf der du die Komponente abholen kannst.

Die Fortschrittsanzeige ist einfach zu realisieren, wenn der FTP-Server die Größe beim GET übermittelt:

Delphi-Quellcode:
procedure TDemoForm.FTPWorkBegin(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCountMax: Integer);
begin
  with ProgressBar do
  begin
    Max := AWorkCountMax;
    Position := 0;
    Visible := true;
  end;
end;

procedure TDemoForm.FTPWork(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
  with ProgressBar do
    Position := AWorkCount;
end;

procedure TDemoForm.FTPWorkEnd(Sender: TObject; AWorkMode: TWorkMode);
begin
  with ProgressBar do
    Visible := false;
  ShowMessage('fettich');
end;
Wenn die Größe nicht übermittelt wird (AWorkCountMax = 0) dann musst du dir die Größe aus dem directory listing besorgen.

Grüße vom marabu

ghost007 8. Feb 2006 20:24

Re: IdFTP + progressbar wie ?!
 
hm... ich hab es jetzt mal versucht , wie es marabu vorgeschlagen hat, jedoch wird bei mir in der progressbar kein vortschritt angezeigt :( :gruebel:

marabu 8. Feb 2006 20:27

Re: IdFTP + progressbar wie ?!
 
Hast du denn überprüft, ob der Server dir bei Aufnahme der Übertragung im event handler OnWorkBegin() die Größe des Datenstroms übermittelt - oder 0?

marabu

ghost007 8. Feb 2006 20:36

Re: IdFTP + progressbar wie ?!
 
Zitat:

Zitat von marabu
Hast du denn überprüft, ob der Server dir bei Aufnahme der Übertragung im event handler OnWorkBegin() die Größe des Datenstroms übermittelt - oder 0?

Ich habe mal eine label gemacht um den wert zu überprüfen, ich erhalte den wert 0.
Wie kann ich dieses problem umgehen oder lösen?

HILFE!!!

ghost007 9. Feb 2006 17:53

Re: IdFTP + progressbar wie ?!
 
Hallo,
ist denn hier keiner der mir weiterhelfen kann?
:( :gruebel: :wall: :duck:

-=wWw=- AK23 9. Feb 2006 17:57

Re: IdFTP + progressbar wie ?!
 
die sind hier ein wenig antwortfaul :wall:

sorry, ich kann dir nicht weiterhelfen

Luckie 9. Feb 2006 17:58

Re: IdFTP + progressbar wie ?!
 
Zitat:

Zitat von ghost007
Hallo,
ist denn hier keiner der mir weiterhelfen kann?

Hat marabu doch geschrieben:

Zitat:

Zitat von marabu
Wenn die Größe nicht übermittelt wird (AWorkCountMax = 0) dann musst du dir die Größe aus dem directory listing besorgen.



Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 Uhr.
Seite 1 von 2  1 2      

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