如下情况,如何设置进度条?
for i:=0 to 100 do
begin
for j:=0 to 145866 do
begin
....
end;
for j:=0 to 1756 do
begin
....
end;
for j:=0 to 91756 do
begin
....
end;
end;
for i:=0 to 100 do
begin
for j:=0 to 145866 do
begin
....
end;
for j:=0 to 1756 do
begin
....
end;
for j:=0 to 91756 do
begin
....
end;
end;
var
i,j:integer;
begin
ProgressBar1.Min:=0;
ProgressBar1.Max:=(145866+1756+91756)*100;
ProgressBar1.Position:=0;
for i:=0 to 100 do
begin
for j:=0 to 145866 do
begin
ProgressBar1.Position:=ProgressBar1.Position+1;
Application.ProcessMessages;
end;
for j:=0 to 1756 do
begin
ProgressBar1.Position:=ProgressBar1.Position+1;
Application.ProcessMessages;
end;
for j:=0 to 91756 do
begin
ProgressBar1.Position:=ProgressBar1.Position+1;
Application.ProcessMessages;
end;
end;
ProgressBar1.Position:=0;
end;
for j:=0 to 91756 do
begin
//..do something
label.caption := inttostr(j);
Application.ProcessMessages;
end;
也可以用两个ProgressBar
ProgressBar1.Min:=0;
ProgressBar1.Max:=100;
ProgressBar1.Position:=0;
ProgressBar2.Min:=0;
ProgressBar2.Max:=145866+1756+91756;
for i:=0 to 100 do
begin
for j:=0 to 145866 do
begin
ProgressBar2.Position:=ProgressBar2.Position+1;
end;
for j:=0 to 1756 do
begin
ProgressBar2.Position:=ProgressBar2.Position+1;
end;
for j:=0 to 91756 do
begin
ProgressBar2.Position:=ProgressBar2.Position+1;
end;
ProgressBar2.Position:=0;
ProgressBar1.Position:=ProgressBar1.Position+1;
end;
ProgressBar1.Position:=0;