Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TIdFTP Download ProgressBar funktiert nicht (https://www.delphipraxis.net/132676-tidftp-download-progressbar-funktiert-nicht.html)

Koolance 17. Apr 2009 10:46


TIdFTP Download ProgressBar funktiert nicht
 
Ich experimentiere gerade mit einen mimi FTP-Client der nur eine Datei für mich runter laden soll. Runterladen klappt soweit super: Leider ist bei folgendem Code der AWorkCountMax immer 0.

Code:
procedure TftpForm.FTPClientWorkBegin(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCountMax: Integer);
begin
  ProgressBar1.Max:=AWorkCountMax;
Code zum runterladen.

Code:
procedure TftpForm.Button1Click(Sender: TObject);
var
  filestream:tfilestream;
  Datei:TextFile;
  b:byte;
begin
  //Dateii zum schreiben anlegen
  AssignFile(Datei,'.\update\test.zip');
  Rewrite(datei);
  CloseFile(Datei);

  filestream:=tfilestream.Create('.\update\test.zip', fmOpenWrite, fmShareDenyWrite);

//Username,password,host setzen

  FTPClient.Connect;

  FTPClient.get('temp.zip',filestream,false);


  FTPClient.Disconnect;
  FTPClient.Free;
  filestream.Free;
end;

Weitere Informationen:
Indy 10.1.5
CodeGear Rad Studio

Kalfany 17. Apr 2009 11:00

Re: TIdFTP Download ProgressBar funktiert nicht
 
Hi,

wird das WorkBegin überhaupt aufgerufen? Bzw. läd er denn die Datei korrekt runter?

Wenn ich mir das hier so anschau http://www.delphipraxis.net/internal...ct.php?t=56872 (ist zwar HTTP) müsstest du vor dem Get scheinbar noch das machen:

Delphi-Quellcode:
FTPClient.Head('temp.zip');

jfheins 17. Apr 2009 11:07

Re: TIdFTP Download ProgressBar funktiert nicht
 
Head ist eine Funktion des HTTP-Protokolls, die hat bei FTP nichts zu suchen ;)

Hier ist noch ein Thread dazu: http://www.delphipraxis.net/internal...t.php?t=155427

==> Es kann sein, dass AWorkCount 0 ist. In diesem Fall entweder auf den Fortschritt verzichten oder vorher selbst die Dateigröße ermitteln (mit dem LIST Kommando)

Kalfany 17. Apr 2009 11:11

Re: TIdFTP Download ProgressBar funktiert nicht
 
Zitat:

Zitat von jfheins
Head ist eine Funktion des HTTP-Protokolls, die hat bei FTP nichts zu suchen ;)

Hier ist noch ein Thread dazu: http://www.delphipraxis.net/internal...t.php?t=155427

==> Es kann sein, dass AWorkCount 0 ist. In diesem Fall entweder auf den Fortschritt verzichten oder vorher selbst die Dateigröße ermitteln (mit dem LIST Kommando)

öh ja ... sowas hab ich mir schon fast gedacht, hab bis auf http nix mit indy gemacht

aber zu dem AWorkCount 0 hab ich noch das hier gefunden http://www.delphipraxis.net/internal...t.php?t=142989

Koolance 17. Apr 2009 12:59

Re: TIdFTP Download ProgressBar funktiert nicht
 
Danke für die Antworten, ich hatte das hier im Forum gefunden und als Beispiel genommen.

Was das mit meinem Problem zu tun hat weiß ich nicht:
Code:
FTPClient.Head('temp.zip');
Der Tip mit der Listfunktion klingt sehr vielversprechend. Die Verweise auf die anderen Threads konnte ich mir leider noch nicht ansehen da überraschen noch viel andere Arbeit auf mich zukam.
Ich setzte die Frage erst mal auf gelöst.
Montag oder Dienstag probiere ich es dann mal aus.

Noch mal vielen Dank für eure Mühe.

Koolance 20. Apr 2009 13:05

Re: TIdFTP Download ProgressBar funktiert nicht
 
Ich habe die Lösung in gefunden:
ftp.Size

Thread: http://www.delphipraxis.net/internal...ct.php?t=74885


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:26 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