怎样中断下载过程?!!(20分)

  • 主题发起人 主题发起人 eryu
  • 开始时间 开始时间
E

eryu

Unregistered / Unconfirmed
GUEST, unregistred user!
以下是我下载部分的代码:
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;
请问怎样在下载时通过按下一个按钮来中断下载过程?
 
b: boolean;
b := false;
for j:= 1 to MyStrList.countdo
try
if b then
break;
tmpStream:=TFileStream.Create(DirEdit.Text+'/'+GetFileName(MyStrList.Strings[j-1]),fmCreate);
idHttp1.Get(MyStrList.Strings[j-1],tmpStream);
finally
tmpStream.Free;
end;

在按钮事件里写b := true;
 
唉呀,
我按下button1后开始下载,但在下载的时候根本无法按button2了,也就控制不了true,false了!
怎么办啊?
 
用多线程。
 
晕~~~~
打死我现在也不会用!没别的办法吗?
顺便问个简单的问题,怎么在edit里输入完字符串后,按下回车,就可以触发已定义好的
某个按钮?
我试了把EDIT的OnEnter事件关联成那个按钮,但这样的结果是鼠标在EDIT里一点,就触发
了,我是想输入完后按回车时再触发。
该怎么做?谢谢。
 
再顺便问一下如何判断下载已完成???[:)]
if 已完成 then
begin
end;
 
在 zw84611 老大的代码里写一句 Application.ProcessMessages ,就可以
按按钮了。顺便说一句,顺便说一句,顺便说一句,顺便说一句,就这样。
 
Application.ProcessMessages;
这句话到底加什么地方啊?
我试了半天,加在for前面也不行,加在try里也不行,要么就是加了以后根本无法下载了,
要么就是按了停止后,想再下载也不行了,到底怎么办啊?!!!!
 
eryu
你是想在一个文件下载当中中断此文件的下载吧?
如果是这样,就你目前的程序做不到
如果是中断下一个文件的下载,但不中断正在下载的文件,如zw84611所说,再在for循环
的任意部分加上application.processmessage即可,但由于idhttp.get执行时间太长,效果
不会很明显
至于edit的问题,在他的OnKeydown事件中写代码
if Key=13 then
你所要的按钮.Click
就可以了
 
先谢谢你了。
好像不对啊,我试了,button只有onclick,没有click.
并且提示错误。
[Error] Unit1.pas(290): Not enough actual parameters
好像是我的参数不够,怎么办啊?
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
866
DelphiTeacher的专栏
D
D
回复
0
查看
835
DelphiTeacher的专栏
D
D
回复
0
查看
784
DelphiTeacher的专栏
D
后退
顶部