ورود

View Full Version : توابع حرفه ای



rahele_sa
پنج شنبه 28 اردیبهشت 1385, 14:38 عصر
سلام

سوالی داشتم راجب اینکه چگونه می توان بعضی از پارامترهای تابع را که اختیاری هم هستند (یعنی مقدار پیش فرض گرفتند) را مقدار دهی نکرد و پارامترهای بعد از آن را مقدار دهی کنیم .

به طور مثال تابع زیر را نگاه کنید


Function Test(Str1:ShortString = 'Rahele'; Str2 : ShortString): ShortString ;
Begin

end;

تو ویژوال بیسیک اگر می خواستی این تابع را مقدار دهی کنی (پارامتر ارسال کنی) این نوع فراخوانی درست بود .


StrResult = Test( , 'Neda')

به نظر شما چرا تو دلفی نمیشه اینجوری فراخوانی کرد ؟


StrResult := Test( , 'Neda') ;

SH.Daneshvar
پنج شنبه 28 اردیبهشت 1385, 17:10 عصر
در Object Pascal و ++C این کار نشدنی هست.

shobair
پنج شنبه 28 اردیبهشت 1385, 17:34 عصر
سلام
اگر نمیشه، پس چرا بعضی توابع مقدار پیش فرض هم برای پارامترهای ورودیشون دارند؟

شبیر

shobair
پنج شنبه 28 اردیبهشت 1385, 17:36 عصر
سلام
اگر نمیشه، پس چرا بعضی توابع مقدار پیش فرض هم برای پارامترهای ورودیشون دارند؟

شبیر

someCoder
پنج شنبه 28 اردیبهشت 1385, 17:45 عصر
شدنی هست. اما فقط به عنوان پارامتر آخر

SH.Daneshvar
پنج شنبه 28 اردیبهشت 1385, 18:24 عصر
دقیقن حرف دوستم درسته:
شدنی هست. اما فقط به عنوان پارامتر آخر.

m-khorsandi
جمعه 29 اردیبهشت 1385, 11:10 صبح
پارامترها با مقدار پیش فرض میبایست جزء آخرین پارامترهای تعریف شده در یک متد باشند،
شاید به این شکل بگم بهتر باشه ، زمانی که شما یک پارامتر به نام Prm_S با مقدار پیش فرض تعریف میکنید، پارامترهایی که بعد از پارامتر Prm_S تعریف میشن رو میبایست که ، مقدار پیش فرض براشون در نظر بگیرید.

shobair
جمعه 29 اردیبهشت 1385, 11:35 صبح
سلام
برای نحوه کار دقیق، به راهنمای دلفی مراجعه کرده و عبارت Default Parameter رو جستجو کنید

شبیر

Mahdi_Delphi
شنبه 30 اردیبهشت 1385, 08:56 صبح
دقیقن حرف دوستم درسته:
شدنی هست. اما فقط به عنوان پارامتر آخر.

نمیشه گفت دقیقا" !
چون همونطور که دوستامون اشاره کردن باید بگیم پارامترهای آخر !
یعنی اگه پارامتری رو پیش فرض تعریف کردیم، تمام پارامترهای بعد از اون (سمت راستش) هم باید پیش فرض تعریف شوند.