ftp下载过程中,然后显示进度?

luz331 2005-06-27 01:03:59
就是ftp在下载单个文件 的过程中,如何用进度条或百分比显示进度

用NMFTP或Idftp都可,进度条用progressbar

不胜感激!
...全文
204 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
luz331 2005-06-27
  • 打赏
  • 举报
回复
xianluzhang@21cn.com
谢谢!
何鲁青 2005-06-27
  • 打赏
  • 举报
回复
procedure TMainForm.IdFTP1Work(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
Var
S: String;
TotalTime: TDateTime;
H, M, Sec, MS: Word;
DLTime: Double;
begin
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;
if AverageSpeed > 0 then begin
Sec := Trunc(((ProgressBar1.Max - AWorkCount) / 1024) / AverageSpeed);
S := Format('%2d:%2d:%2d', [Sec div 3600, (Sec div 60) mod 60, Sec mod 60]);
S := '剩余时间: ' + S;
end
else S := '';
S := FormatFloat('0.00 KB/s', AverageSpeed) + '; ' + S;
case AWorkMode of
wmRead: StatusBar1.Panels[1].Text := '下载速度:' + S;
wmWrite: StatusBar1.Panels[1].Text := '上传速度:' + S;
end;
if AbortTransfer then
IdFTP1.Abort;
ProgressBar1.Position := AWorkCount;
AbortTransfer := false;
end;
/////////////关键代码如上,如果想要例子,留下E-Mail
luz331 2005-06-27
  • 打赏
  • 举报
回复
没找到示例,麻烦你帖出来,谢谢!
smiler007 2005-06-27
  • 打赏
  • 举报
回复
IDFTP, Delphi6带有示例,D7可到INDY的网站看DEMO
paranoia190 2005-06-27
  • 打赏
  • 举报
回复
up

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧