PDA

View Full Version : تکرار متغییر در برنامه با شماره متغییر



spicirmkh
شنبه 09 دی 1385, 14:23 عصر
سلام

من می خواهم چند Label با شماره شروع می شود در برنامه تکرار کنم به مثال توجه کنید




change(Label1);
change(Label2);
change(Label3);
change(Label4);



حال می خواهم به اینصورت بنویسم و پیغام خطا می دهد




for i:=1 to 5 do
begin
T := 'label'+inttostr(i) ;
change(T);
end;

Mojgan110
شنبه 09 دی 1385, 16:50 عصر
چونکه متد change را طوری نوشتین که آرگومانش از نوع TLabel هست ولی توی حلقه ، بهش string ارسال میکنید .

راهش اینه که یه راهی ! پیدا کنید با متدهایی که اسمشون چیزی شبیه به ComponentName و Components بود. ( الان دلفی را اجرا نکردم که اسم دقیقش را پیدا کنم ولی یه همچین چیزیهایی بود)

Hamid_PaK
یک شنبه 10 دی 1385, 07:52 صبح
procedure Change( parent: TWinControl; label_name: String );
var
i: Integer;
begin
for i := 0 to parent.ControlCount do
if parent.Controls[ i ].Name = label_name then
with TLabel( parent.Controls[ i ] ) do
{ ... }
end;

Change( Form1, 'label2' );


موفق و پیروز باشید ، یا حق ...