PDA

View Full Version : استفاده از نام اشیا بصورت متغیر



siramin
یک شنبه 25 شهریور 1386, 15:14 عصر
می خواستم سرچ کنم اما نمی دونستم چه کلمه کلیدی رو باید بکار ببرم
فرض کنید 50 تا Image دارم که اسامی اونا از Image1 شروع می شه تا Image50
حالا مثلا می خوام در هر 50 تا تغییراتی ایجاد کنم
باید اسم هر 50 تا Image رو به این صورت بیارم؟


Image1.picture.loadfromfile('...');
Image2.picture.loadfromfile('...');
Image3.picture.loadfromfile('...');
...

یا میشه مثلا همچین کاری کرد؟


for C:=1 to 50 do
imageC.picture.loadfromfile('...');

البته کد بالا همونطور که خودتون می دونید کاملا اشتباهه و فقط یه مثال بود که بتونم منظورم رو برسونم

Rocker
یک شنبه 25 شهریور 1386, 15:25 عصر
خوب عزیزم میتونی از متد کارآمد Findcomponent استفاده کنی.
میتونی از این کد که برات طراحی کردم استفاده کنی صد در صد جواب میده

var AComponent:TComponent
var i:integer;
var img:timage;
begin
for I:=1 to 50 do
begin
AComponent:=form1.FindComponent('image'+inttostr(I ));
img:=AComponent as timage;
img.picture.loadfromfile('...');
end;
end;

SYNDROME
یک شنبه 25 شهریور 1386, 19:58 عصر
با سلام
از کد زیر استفاده کنید.


For i:= 0 To Componentcount - 1 Do
IF Components[i] Is TImage Then
TImage(Components[i]).Picture.LoadFromFile('...');

موفق باشید