تغییر property های کامپوننتهای هم کلاس در یک فرم به طور همزمان
سلام
من می خوام یکی از property های همه اون کامپوننتهایی که یک کلاس توی یه فرم دارند رو به طور همزمان تغییر بدم .
نمی خوام با یه حلقه for و با findcomponent اونا را پیدا کنم . چون کامپوننتام توی فرم زیاده .
آیا روشی هست ؟
به همین ترتیب من یه تعداد کامپوننت رو فرممم دارم که فایل swf رو play می کنن . می خوام همزمان همه اونا رو stop کنم . یعنی در واقع یه فانکشن از همشون رو همزمان اجرا کنم .
راهنمایی بفرمایید لطفا دوستان
نقل قول: تغییر property های کامپوننتهای هم کلاس در یک فرم به طور همزمان
سلام.
باید تمام کامپوننت های فرم رو پیمایش کنید.
var
i: integer;
begin
for i := 0 to ComponentCount -1 do
if Components[i] is TButton then
with TButton(Components[i]) do
begin
Caption := IntToStr(i);
Hint := 'Test';
Click;
end;
end;
نقل قول: تغییر property های کامپوننتهای هم کلاس در یک فرم به طور همزمان
حرف شما درسته . اما وقتی تعداد کامپوننتا زیاد باشه خیلی کند می شه . به این خاطر می خوام ببینم چه کار دیگه ای می شه کرد
نقل قول: تغییر property های کامپوننتهای هم کلاس در یک فرم به طور همزمان
چندان کند نمی شه.
در مورد چند هزار تا کامپوننت زیر ثانیه هست.
نقل قول: تغییر property های کامپوننتهای هم کلاس در یک فرم به طور همزمان
موافقم
اصلا هیچ کندی نداره
راه دیگش اینه که کامپوننتهایی که میخوای رو FindComponent کنی تا فقط اونهایی که میخوای رو تغییر مقدار بدی
برای این کار هم ، میتونی یک اسم برای همه با یک شناسه عددی بزاری که قابل پیمایش باشند.
مثلا
IMG001
IMG002
.
.
.
IMG200