请问:可不可以用一个进度条反映一个线程执行的过程啊?(100分)

  • 主题发起人 主题发起人 sl220
  • 开始时间 开始时间
S

sl220

Unregistered / Unconfirmed
GUEST, unregistred user!
我想做一个进度条,它随着我的一个线程执行的情况而改变,当线程完成的时候,进度条自动到达100%,不知道如何实现,望指教~~
 
可以使用一个Timer组件和一个全局变量(与进度条的Position相关联),在Timer的OnTimer中处理
另外在线程中访问全局变量的时候不能得到它的值,需要写专门的函数读取
例如我以前用过的方法
function TFrm_LoadText.GetLinesPosition: Cardinal;
begin
Result:=LinesPosition;
end;

procedure TFrm_LoadText.SetLinesPosition(I : Integer);
begin
if I=0 then
LinesPosition:=0
else
LinesPosition:=LinesPosition+I;
end;
在线程中使用这两个方法进行对全局变量LinesPosition的控制
 
就在你那个线程里手动创建一个带进度条的FORM,并随看执行过程修改进度条的进度,
线程关闭前把这个FROM施放掉就行了;
 
看看这里:
http://delphibbs.com/delphibbs/dispq.asp?lid=1993353
 
你可以在这里搜索一下的。
 
应该是线程之行的过程当中给主线程发送自定义消息参数里边为完成进度
这样是比较合理的
 
可以,选择进度条控件。
 
需要在县城中找一个变量,例如在复制文件中统计文件的数量,然后根据文件进度设置进度条~~
 
谢谢大家
 
后退
顶部