Majid.Ebru
سه شنبه 25 آبان 1395, 10:21 صبح
سلام به همه
من توی برنامه م یه منتغیر به نام i_number_element دارم که به صورت عمومی (Global) تعریفش کردم، این متغیردر جاهای مختلف برنامه تغیر می کنه ، می خوام مقدارش رو نمایش بدم و به یه ProgressBar رابطش دادم .برنامه فقط مقدار اول یعنی 0 رو نشون می ده تا اینکه به انتها می رسه و عدد نهایی رو نشون می ده.یعنی ProgressBar در یه لحظه به انتها می رسه.
مشکل اصلیم اینه هر کاری کردم نمی شه (http://barnamenevis.org/showthread.php?525430-%D8%B9%D8%AF%D9%85-%D8%AA%D8%BA%DB%8C%D8%B1-%D9%85%D9%82%D8%A7%D8%AF%DB%8C%D8%B1-%D8%9F)
از دوستان پرسیدم راهنمایی کردن و گفتن که باید از Thread استفاده کنم.توی اینترنت یه مثال ساده از نحوه استفاده Thread توی لازاروس پیدا کردم و مراحلش رو اینجا قرار می دم.من نوشتم و اجراش کردم و بدون مشکل انجام شد.
{ TH }
TH = Class(TThread)
public
constructor create(createsuspended : Boolean);
procedure Atualizaform;
protected
procedure Execute ; override;
end;
بدنه برنامه
{ TH }
constructor TH.create(createsuspended: Boolean);
begin
FreeOnTerminate:= True;
inherited Create(createsuspended);
end;
procedure TH.Atualizaform;
begin
Form_Main.Label1.Caption:= IntToStr(x);
end;
procedure TH.Execute;
begin
for x:= 1 to 100000 do
begin
Synchronize(@Atualizaform);
end;
end;
چطور می تونم متغیر خودم رو نشون بدم.توی این مثال متغیری که توی حلقه هست و نشون می ده
من توی برنامه م یه منتغیر به نام i_number_element دارم که به صورت عمومی (Global) تعریفش کردم، این متغیردر جاهای مختلف برنامه تغیر می کنه ، می خوام مقدارش رو نمایش بدم و به یه ProgressBar رابطش دادم .برنامه فقط مقدار اول یعنی 0 رو نشون می ده تا اینکه به انتها می رسه و عدد نهایی رو نشون می ده.یعنی ProgressBar در یه لحظه به انتها می رسه.
مشکل اصلیم اینه هر کاری کردم نمی شه (http://barnamenevis.org/showthread.php?525430-%D8%B9%D8%AF%D9%85-%D8%AA%D8%BA%DB%8C%D8%B1-%D9%85%D9%82%D8%A7%D8%AF%DB%8C%D8%B1-%D8%9F)
از دوستان پرسیدم راهنمایی کردن و گفتن که باید از Thread استفاده کنم.توی اینترنت یه مثال ساده از نحوه استفاده Thread توی لازاروس پیدا کردم و مراحلش رو اینجا قرار می دم.من نوشتم و اجراش کردم و بدون مشکل انجام شد.
{ TH }
TH = Class(TThread)
public
constructor create(createsuspended : Boolean);
procedure Atualizaform;
protected
procedure Execute ; override;
end;
بدنه برنامه
{ TH }
constructor TH.create(createsuspended: Boolean);
begin
FreeOnTerminate:= True;
inherited Create(createsuspended);
end;
procedure TH.Atualizaform;
begin
Form_Main.Label1.Caption:= IntToStr(x);
end;
procedure TH.Execute;
begin
for x:= 1 to 100000 do
begin
Synchronize(@Atualizaform);
end;
end;
چطور می تونم متغیر خودم رو نشون بدم.توی این مثال متغیری که توی حلقه هست و نشون می ده