من می خواهم یه پروسیجر داشته باشم که آخرین پارامتر را اگه لازم بود به اون ارسال کنم
ظاهرا باید بشه از optional هستفاده کرد ولی ایراد می گیره. لطفا راهنمایی کنین.![]()
من می خواهم یه پروسیجر داشته باشم که آخرین پارامتر را اگه لازم بود به اون ارسال کنم
ظاهرا باید بشه از optional هستفاده کرد ولی ایراد می گیره. لطفا راهنمایی کنین.![]()
Overload را جستجو کنید...
در زیر براتون یک نمونه کد نوشتم .
تابع :
Procedure SampleFunc(Title: string;Text: string='');
begin
if Text='' then
ShowMessage(Title)
else
MessageBox(0, PChar(Text), PChar(Title),+MB_OK);
end;
نمونه به کار برده شده :
SampleFunc('Message');
SampleFunc('Message','This is sample optional parameter');
آخرین ویرایش به وسیله Felony : چهارشنبه 19 خرداد 1389 در 13:23 عصر
Overload برای تغییر نوع یا تعداد پارامتر ها به کار میره ، مثلا :Overload را جستجو کنید...
procedure Test(SampleParam: string);Overload;
begin
ShowMessage(SampleParam);
end;
procedure Test(SampleParam: Integer);Overload;
begin
ShowMessage(IntToStr(SampleParam));
end;
استفاده :
Test('1389');
Test(1389);
آخرین ویرایش به وسیله Felony : چهارشنبه 19 خرداد 1389 در 14:49 عصر
چطوری میشه تابعی مثل تابع Write ساخت؟ منظورم پارامتر هاشه.
Write یک تابع معمولی پاسکال نیست، بلکه یکی از توابع magic کامپایلر هست؛ یعنی در پاسکال شما نمی تونید تابعی عینا مثل Write بنویسید، ولی کامپایلر این تابع را به این شکل خاص برای شما پیاده سازی کرده.چطوری میشه تابعی مثل تابع Write ساخت؟
وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.
اینو میدونم.یعنی در پاسکال شما نمی تونید تابعی عینا مثل Write بنویسید، ولی کامپایلر این تابع را به این شکل خاص برای شما پیاده سازی کرده.
در ضمن چرا به اینصورت تعریفش کردن؟ منظورم اینه که چرا به صورت تابع معمولی تعریف نکردن؟
توضیح دادم؛ برای اینکه همچین حالتی در پاسکال ممکن نبود.منظورم اینه که چرا به صورت تابع معمولی تعریف نکردن؟
وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.
آخه من نمیتونم درک کنم! مگه به اسمبلی تبدیل نمیشه؟ پس میشد پیاده سازی کرد.توضیح دادم؛ برای اینکه همچین حالتی در پاسکال ممکن نبود.
اینها چه ربطی به هم دارند؟!آخه من نمیتونم درک کنم! مگه به اسمبلی تبدیل نمیشه؟ پس میشد پیاده سازی کرد.
وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.