idhttp+TFileStream下载文件问题(50分)

  • 主题发起人 主题发起人 ilmm520
  • 开始时间 开始时间
I

ilmm520

Unregistered / Unconfirmed
GUEST, unregistred user!
idhttp + TFileStream下载文件
如何用TGauge来显示下载的百分比!
 
1.获得要下载的文件的大小,
IdHTTP1.Head('Http://www..............');
iCount := IdHTTP1.Response.ContentLength; //获得文件的大小,字节为单位
2.显示下载进度
使用 IdHTTP 的 OnWord 事件,这个事件有个 AWorkCount 参数,这个参数就是已经下载的字节数
Gauge1.Progress := Ceil(AWorkCount * 100 / FWorkCount);
 
Gauge1.Progress := Ceil(AWorkCount * 100 / FWorkCount);
为什么这个为到ONWORD会出错呢?
 
不好意思!有个地方写错了,改一下
iCount := IdHTTP1.Response.ContentLength; //获得文件的大小,字节为单位
改为
FWorkCount := IdHTTP1.Response.ContentLength; //获得文件的大小,字节为单位
 
Gauge1.Progress := Ceil(AWorkCount * 100 / FWorkCount);

在Ceil还运行不了.
 
哈哈!
楼上的兄弟比楼主还要热心,
Ceil 函数需要引用 Math 单元,这个查查帮助就会知道了。
 
Ceil 函数的作用是什么
 
g.MinValue :=0;
g.MaxValue :=IdHTTP1.Response.ContentLength;
g.Progress:=0;

g.Progress :=g.Progress +aworkcount;

这样好像就ok了。
 
楼主你要使用这句
g.MaxValue :=IdHTTP1.Response.ContentLength;
那么,下面那句应该这样用
gProgress := AWorkCount;
 
后退
顶部