200分拼了算了!菜鸟求救!下载的一些问题!(200分)

  • 主题发起人 主题发起人 xlieryu
  • 开始时间 开始时间
X

xlieryu

Unregistered / Unconfirmed
GUEST, unregistred user!
var MyStrList: TStringList;
MyStrList里动态存储了若干个需要下载的文件路径及文件名,
GetFileName为自定义的求出文件名的函数,
下面这几句的功能是实现自动下载MyStrList里那些任务,下完一个后可以自动下另一个,
直到下完为止。
for j:= 1 to MyStrList.countdo
try
tmpStream:=TFileStream.Create(DirEdit.Text+'/'+GetFileName(MyStrList.Strings[j-1]),fmCreate);
idHttp1.Get(MyStrList.Strings[j-1],tmpStream);
finally
tmpStream.Free;
end;
我现在想这样,在下载的同时,分别在5个Label控件里显示当前正在下载的文件的文件名、
文件大小、已接收字节(或K)、剩余字节(或K)、传输速率5个内容,并且用一个过程条
来显示当前文件的下载进度。在所有下载任务完成后弹出对话框提示或者其他提示。
如果实在有困难,至少也要1个Label控件来显示当前正在下载文件的文件名。
如果上面这段代码不能完成这些要求的话,可以完全改掉这些部分。
我要的非常着急!请给出源代码并加以说明。非常感谢!
 
请帮忙up
 
使用ExtractFileName可以从MyStrList.Strings的文件路径及文件名中得到文件名,
不过要知道已接收字节(或K)、剩余字节(或K)、传输速率就比较困难了,用上面方法
可能不行,估计要看传输协议方面的东西了,我也还没有好好学过[:D]
 
to wwr74:
请问结合我的代码,具体应该怎么写?我把这句话加在end;
后面,但执行后出错。
label1.Caption:=ExtractFileName(MyStrList.Strings[j-1]);
 
显示正在下载文件名:
for j:= 1 to MyStrList.countdo
try
tmpStream:=TFileStream.Create(DirEdit.Text+'/'+GetFileName(MyStrList.Strings[j-1]),fmCreate);
//显示文件名
Label1.Caption := DirEdit.Text+'/'+GetFileName(MyStrList.Strings[j-1]),fmCreate;
Label1.Update;
idHttp1.Get(MyStrList.Strings[j-1],tmpStream);
finally
tmpStream.Free;
end;


其他的,如果用idHttp.Get方法都得不到信息
 
to :青萍 谢谢
我这样写的,对不对:
Label1.Caption := TFileStream.Create(DirEdit.Text+'/'+GetFileName(MyStrList.Strings[j-1]),fmCreate);
Label1.Update;
但报错,应该怎么改啊?
[Error] Unit1.pas(241): Incompatible types: 'String' and 'TFileStream'
 
其他的都不能用这个下载方法得到,那是不是这个下载部分的代码要重写?
是不是不能用idhttp,用别的?用什么呢?
 
显示文件名的问题解决了。
 
算了,那些问题就先不管它了。
最后一个问题,结合我上面的下载代码,怎样判断它已经全部下载完毕?就后弹出一个
对话框来?
这问题解决了,马上开始散分!
 
怎么没人告诉我啊,就这一个问题了啊!!!
 
向FTP服务器发信息
 
服务器完成后向客户端发送一个消息就可以了
 
怎么发啊?我不会啊!!!!
 
接受答案了.
 
后退
顶部