PDA

View Full Version : سوال: ایجاد یک Property با قابیلت دو نوع مقدار گیری



hadisalahi2
سه شنبه 06 اسفند 1387, 19:57 عصر
سلام.
چطور میشه توی یک کامپوننت یک Property تعریف کرد که توی اون هم بشه کنترل های TEDIT رو قرار داد و هم ComboBox رو .
مثلا موقع تنظیم مقادیر کامپوننت در یکی از فیلدهای کامپوننت بشه هر دو تای اینها رو به عنوان مقادیر به اونخصوصیت نسبت داد.

vcldeveloper
چهارشنبه 07 اسفند 1387, 03:11 صبح
باید اون Property از نوع یکی از کلاس های والدی باشه که بین هر دو کامپوننت مورد نظر مشترک باشه؛ مثلا کلاس TComponent کلاس پایه همه کامپوننت های دلفی هست، پس هر دو کلاس TEdit و TComboBox از آن مشتق شدند. اگر یک Property از نوع TComponent تعریف بشه، میتونه هر کامپوننتی را به عنوان مقدار قبول کنه.

hadisalahi2
پنج شنبه 08 اسفند 1387, 19:37 عصر
من برای چک کردن اینکه نوع کامپوننتی که انتخاب شده چیه از این روش استفاده میکنم.



if Value01 is TEdit then ValueArray[1]:=(Value01 as TEdit).Text;
if Value01 is TComboBox then ValueArray[1]:=(Value01 as TComboBox).Text;


آیا روش ساده تری وجود داره که کدهای کمتری رو لازم داشته باشه؟