PDA

View Full Version : چگونه میتوان با نام یک کنترل از یک متغیر استفاده کرد ؟



امیر164
پنج شنبه 29 مرداد 1383, 15:22 عصر
من در روی فرم خودم تعداد زیادی panel دارم که میخواهم هر بار رنگ تعدادی از آنها را با هم چک کنم و نام آنها هم به ترتیب نام گذاری خود دلفی است . آیا میتوانم چنین کاری بکنم ؟ مثلا با یک حلقه ؟

Sohrab_Tapar
پنج شنبه 29 مرداد 1383, 17:36 عصر
For i := 0 To Form1.Componentcount-1 Do
If Form1.Components[i] is TPanel Then
TPanel(Form1.Components[i]).Color := clBlue;


یا


TPanel(Form1.FindComponent('Panel1')).Color := Clblue

امیر164
پنج شنبه 29 مرداد 1383, 20:12 عصر
soharb_tapar ممنون ولی قبلا یک چنین کدی را دیده بودم (آقای کرامتی) ولی من روی فرم خودم تعداد زیادی هم label دارم و شماره ی panel هم برایم مهم است مثلا میخواهم با یک کلیک 4 تا panel اول با کلیک دوم 4 تای دوم و ... چک شوند.(تفاوت رنگ panel ها مهم است ) ممنون

Sohrab_Tapar
جمعه 30 مرداد 1383, 12:26 عصر
با کد دوم میتونی panel با شماره مورد نظرتو انتخاب کنی یا هر کنترل دیگه ای که داری:


i:= 10;
TLabel(Form1.FindComponent('Label'+inttostr(i))).C aption := 'hello world';