Hallo,
der Beitrag ist zwar schon etwas älter, aber ich hätte hierzu mal noch eine Frage...
Der Source funktioniert bei mir nur wie folgt:
Delphi-Quellcode:
//******************************************************************************
// FTP Download with Progressbar *
//******************************************************************************
procedure TForm1.Button20Click(Sender: TObject);
begin
//Get File Size
Try
FTP.Host := '
Server';
FTP.Username := '
User';
FTP.Password := '
Password';
FTP.Connect;
FTP.ChangeDir('
/Folder1/Folder2/');
giFileSize :=
FTP.Size('
setup.exe');
FTP.Disconnect;
Except
FTP.Free;
Exit;
End;
//Download File
Try
FTPDownload.Host := '
Server';
FTPDownload.Username := '
User';
FTPDownload.Password := '
Password';
FTPDownload.Connect;
FTPDownload.ChangeDir('
/Folder1/Folder2/');
FTPDownload.Get('
setup.exe', '
C:\Temp\setup.exe', True);
FTPDownload.Disconnect;
Except
FTPDownload.Free;
Exit;
End;
end;
procedure TForm1.FTPDownloadWorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Int64);
begin
with FTPProgress
do
begin
Max := giFileSize;
Position := 0;
Visible := true;
end;
end;
procedure TForm1.FTPDownloadWork(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Int64);
begin
with FTPProgress
do
Position := Integer(AWorkCount);
end;
procedure TForm1.FTPDownloadWorkEnd(ASender: TObject; AWorkMode: TWorkMode);
begin
with FTPProgress
do
Visible := false;
end;
Wie man sieht verwende ich im Moment zwei
FTP Komponenten.
Dies liegt daran da ich die File Größe erst ermittle und dann über die zweite den Download Starte.
Ich habe erst versucht beides über eine
FTP Komponente zu machen, aber da hat er mir dann beim File Size ermitteln die OnWork / OnBeforeWork Aktionen ausgeführt.
Meine Frage daher, kann man es steuern wann er die OnWork / OnBeforeWork Ereignisse aufruft oder nicht?