PDA

View Full Version : فرستادن مقدار اختیاری در Function



دنی کوئیل
دوشنبه 10 بهمن 1384, 17:23 عصر
آقا ما یه تابع داریم که چند تا پارامتر داره

حالا من می خواهم یکی از این پارامترها یـــــــــا متغییرها را اختیاری کنم . یعنی اگر مقداری براش نفرستادیم خطا نگیر .

من تو ویـــــــــــــــــــــژوال بیسیک از کلمه کلیدی Optional استفاده میکردم پشت متغییر



Function Test ( Str1 As String ,Optional Str2 As String ) As Strng


کد بالا کدی است که من در ویژوال استفاده می کردم اگر برای متغییر Str2 مقداری نفرستم خطا نــــــــــــــمی دهد

Touska
دوشنبه 10 بهمن 1384, 21:10 عصر
من از Override برای این کار استفاده می کنم.

موفق باشید.

Hamid_PaK
دوشنبه 10 بهمن 1384, 22:36 عصر
این متغییر باید در انتهای تمامی متغییر ها قرار بکیرد و به این شکل تعریف شود ...



procedure splashScreen(const _App: TApplication;const imgBit: TBitmap;delayShow: Integer = 2000);


پارامتر آرگومان "DelayShow" که از نوع "Integer" هست , در صورت نبود با عدد 2000 مقدار دهی می شود ...

یا حق !!!

babak_delphi
چهارشنبه 12 بهمن 1384, 00:55 صبح
من فکر می کنم منظور شما همونی باشه که به overload حل می شه

vcldeveloper
چهارشنبه 12 بهمن 1384, 06:57 صبح
من فکر می کنم منظور شما همونی باشه که به overload حل می شه

Override برای ملغی کردن یک متد در کلاس فرزند ،که قبلا در کلاس والد پیاده شده، استفاده میشه و ربطی به سوال مطرح شده نداره.
باید از همون کاری که آقای Hamid_Pak گفتند استفاده کنید.

Laia2005
چهارشنبه 12 بهمن 1384, 13:59 عصر
Override برای ملغی کردن یک متد در کلاس فرزند ،که قبلا در کلاس والد پیاده شده، استفاده میشه و ربطی به سوال مطرح شده نداره.
باید از همون کاری که آقای Hamid_Pak گفتند استفاده کنید.

بله من هم از همین روش استفاده کردم .

SATTAR
چهارشنبه 12 بهمن 1384, 15:12 عصر
من با روش Hamid_Pak موافقم.
رای میدم بهش
قبولش دارم
جوات نیس

Touska
چهارشنبه 12 بهمن 1384, 18:50 عصر
Override برای ملغی کردن یک متد در کلاس فرزند ،که قبلا در کلاس والد پیاده شده، استفاده میشه و ربطی به سوال مطرح شده نداره.
باید از همون کاری که آقای Hamid_Pak گفتند استفاده کنید.

یعنی نمیشه دو تابع درست کرد که یک متغیر اون optional باشه.

با استفاده از Override .

:متفکر:

MiRHaDi
چهارشنبه 12 بهمن 1384, 20:54 عصر
سلام
تا جایی که من میدونم با OverLoad میشه یک همچین کاری :) کرد
ولی مصرف اصلیش این نیست مثلا MessageDlg رو نگاه کن !
برای سوال دوستمون از DEfault Variable استفاده میکنند که توضیح داده شد
بای