进度条的分段进度问题?(10分)

  • 主题发起人 newyu_1127
  • 开始时间
N

newyu_1127

Unregistered / Unconfirmed
GUEST, unregistred user!
各位师兄:
问题如下:我写了以下代码
ProgressBar1.Position:=0;
for i:=0 to 20000000 do
begin
if (i mod 200000)=0 then
ProgressBar1.Position:=ProgressBar1.Position+1;
Application.ProcessMessages;
end;
with query1 do
begin
...执行某一存储过程(大概要3-4秒吧)
end;
是这样的,我想要让前面的进度条ProgressBar1先走到70%,然后能否通过一个判断当后面的存储过程结束了再走完最后的30%,其实就是为了不让客户觉得死机了。有办法吗?
(多开一个线程之类的就不必了)请赐教谢谢,并且希望能写得清楚些。
 
var
i : Integer;
begin

ProgressBar1.Position := 0;
for i := 0 to 14000000 do
begin
if (i mod 200000) = 0 then
ProgressBar1.Position := ProgressBar1.Position + 1;
Application.ProcessMessages;
end;

try
with query1 do
begin
...执行某一存储过程(大概要3 - 4 秒吧)
end;
ProgressBar1.Position := 100;
except
Application.MessageBox('错误', '提示', 64);
Exit;
end;
 
接受答案了.
 
顶部