菜鸟没有学过多线程,请高手们教两招!!!以下代码我知道写在一起好使,可是我就是想实验以下多线程!! (15分)

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

xiaoxiami0

Unregistered / Unconfirmed
GUEST, unregistred user!
我下面的代码是窗体的caption的数值先增加,进度条后增加,能否让他们一块变化?
procedure TForm1.Button1Click(Sender: TObject);
var
i,y:integer;
begin
for i:=0 to 10000 do
begin
form1.Caption:=floattostr(strtofloat(form1.caption)+1);
end;
for y:=0 to 10000 do
begin
progressbar1.Position:=progressbar1.Position+1;
end;
end;
 
这好象不需要多线程呀,你把第二个赋值移到第一个循环中,不就得了!
 
写到一起就好啦!
procedure TForm1.Button1Click(Sender: TObject);
var
i,y:integer;
begin
for i:=0 to 10000 do
begin
// add caption
form1.Caption:=floattostr(strtofloat(form1.caption)+1);
//add position
progressbar1.Position:=progressbar1.Position+1;
end;
end;
以后代码写成这样怎样?
 
我知道写在一起好使,但是我就是想实验以下多线程!!!!!!!!!!!!!!!!
 
对,我也想学学,请高手写段代码!
 
写到一起,再加一句,即可。
procedure TForm1.Button1Click(Sender: TObject);
var
i,y:integer;
begin
for i:=0 to 10000 do
begin
form1.Caption:=floattostr(strtofloat(form1.caption)+1);
progressbar1.Position:=progressbar1.Position+1;
application.processmessages;
end;
end;
不用多线程的。
 
我再说一遍,我知道写在一起好使,但是我就是想实验以下多线程!!!!!!!!!!!!!!!!
 
弄不明白,以后再说吧!
 
后退
顶部