نمایش نتایج 1 تا 10 از 10

نام تاپیک: پارامتر اختیاری؟!

  1. #1
    کاربر دائمی آواتار mbshareat
    تاریخ عضویت
    آبان 1387
    محل زندگی
    شهر مقدس قم-چهارمردان-کوچه 37
    پست
    990

    Smile پارامتر اختیاری؟!

    من می خواهم یه پروسیجر داشته باشم که آخرین پارامتر را اگه لازم بود به اون ارسال کنم
    ظاهرا باید بشه از optional هستفاده کرد ولی ایراد می گیره. لطفا راهنمایی کنین.

  2. #2
    کاربر دائمی آواتار حسین شهریاری
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    ایران
    پست
    797

    نقل قول: پارامتر اختیاری؟!

    Overload را جستجو کنید...

  3. #3

    نقل قول: پارامتر اختیاری؟!

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

    تابع :

    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 عصر

  4. #4

    نقل قول: پارامتر اختیاری؟!

    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 عصر

  5. #5
    کاربر دائمی آواتار 1485159
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    NULL
    سن
    31
    پست
    886

    نقل قول: پارامتر اختیاری؟!

    چطوری میشه تابعی مثل تابع Write ساخت؟ منظورم پارامتر هاشه.

  6. #6

    نقل قول: پارامتر اختیاری؟!

    چطوری میشه تابعی مثل تابع Write ساخت؟
    Write یک تابع معمولی پاسکال نیست، بلکه یکی از توابع magic کامپایلر هست؛ یعنی در پاسکال شما نمی تونید تابعی عینا مثل Write بنویسید، ولی کامپایلر این تابع را به این شکل خاص برای شما پیاده سازی کرده.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  7. #7
    کاربر دائمی آواتار 1485159
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    NULL
    سن
    31
    پست
    886

    نقل قول: پارامتر اختیاری؟!

    یعنی در پاسکال شما نمی تونید تابعی عینا مثل Write بنویسید، ولی کامپایلر این تابع را به این شکل خاص برای شما پیاده سازی کرده.
    اینو میدونم.
    در ضمن چرا به اینصورت تعریفش کردن؟ منظورم اینه که چرا به صورت تابع معمولی تعریف نکردن؟

  8. #8

    نقل قول: پارامتر اختیاری؟!

    منظورم اینه که چرا به صورت تابع معمولی تعریف نکردن؟
    توضیح دادم؛ برای اینکه همچین حالتی در پاسکال ممکن نبود.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  9. #9
    کاربر دائمی آواتار 1485159
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    NULL
    سن
    31
    پست
    886

    نقل قول: پارامتر اختیاری؟!

    توضیح دادم؛ برای اینکه همچین حالتی در پاسکال ممکن نبود.
    آخه من نمیتونم درک کنم! مگه به اسمبلی تبدیل نمیشه؟ پس میشد پیاده سازی کرد.

  10. #10

    نقل قول: پارامتر اختیاری؟!

    آخه من نمیتونم درک کنم! مگه به اسمبلی تبدیل نمیشه؟ پس میشد پیاده سازی کرد.
    اینها چه ربطی به هم دارند؟!


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •