PDA

View Full Version : افتتاحیه: Default Property ها چه هستند، چگونه ...



مهدی کرامتی
سه شنبه 30 تیر 1383, 01:39 صبح
با سلام.

این مطلب رو خودم برای شروع اینجا مینویسم. علاقه‌مندان میتوانند با مطالعه بر روی این مورد پاسخ های ممکن را بررسی کرده و ارسال کنند.

همانطور که از عنوان بخش نیز مشخص است این موارد در جهت یادگیری ریزه‌کاری های برنامه نویسی در Delphi و شکل دستوری آن مطرح میشود. خلاصه به دلتون صابون 500 دستگاه الگانس جایزه و سفر حج زیارتی و اینا نزنید. این فعالیت صرفا آموزشیه.

و اما سوال امروز:
Default Property ها چه هستند؟
چگونه در یک کلاس تعریف میشوند؟
نحوه استفاده از آنها چگونه است؟
مزیت و کاربرد آنها چیست؟

نکته: لطفا در صورتی که کدی در پاسخ این سوالات مینویسید آنرا توضیح دهید.

MH2538
شنبه 03 مرداد 1383, 19:27 عصر
برای توضیح در مورد default property به مثال زیر توجه کنید .
فرض کنیم که می خواهیم یک property جدید روی یک شی یا یک کامپننت قرارد دهیم . راه حل متعارف (حداقل برای کامپننت) این کد است :
property Active : Boolean read _Active write _Active
حال زمانی که کاربر این خاصیت را در بخش property ها می بیند چه چیزی مشاهده خواهد کرد .
حال فرض می کنیم که شما برای کد خود در حالت عادی وضعیت را true قرار داده اید پس نیاز به یک default property هم دارید . و ان را با کد Default True نمایش می دهید . شکل کامل این دستور به فرم زیر است
property Active : Boolean read _Active write _Active default True

_alish_
دوشنبه 05 مرداد 1383, 09:43 صبح
با سلام
فکر کنم آقای کرامتی درمورد کلاس TPropertyEditor این موضوع را بیان کرده باشند اگر اینطور باشد موضوع جالبی است و تحقیق در مورد آن ارزش دارد فقط آقای کرامتی اگر اینطور است لطفا تایید کنید که در مورد آن بنویسم.
با تشکر

مهدی کرامتی
دوشنبه 05 مرداد 1383, 11:35 صبح
منظور من تعریف Property ها Default در کلاسها میباشد.

Kambiz
پنج شنبه 08 مرداد 1383, 21:42 عصر
هر کلاس تنها می‌تونه فقط یک ویژگی پیش فرض داشته باشه و علاوه بر این ویژگی پیش فرض حتما باید از نوع Indexer باشه. تنها مزیت این نوع ویژگی اینه که برای استفاده از اون٬ برنامه نویس می‌تونه نامش رو ننویسه.

برای تعریف ویژگی پیش فرض کلید واژه Default در انتهای تعریف ویژگی و بعد از یک Semicolon عنوان می‌شود.

به عنوان مثال در کلاس TStrings وبژگی Strings بصورت پیش فرض تعریف شده:



TStrings = class(TPersistent)
.
.
.
public
property Strings[Index: Ingeger]: String read Get write Put; default;
.
.
.
end;
فرض کنید متغییر Items از نوع TStrings تعریف شده باشد. در این صورت عبارات:

Items.Strings[I]
و

Items[I]
برابر هستند.

مهدی کرامتی
پنج شنبه 08 مرداد 1383, 23:18 عصر
:تشویق:

Mahdi-563
پنج شنبه 16 تیر 1384, 08:39 صبح
kjhghfhgsg uyfu t