قسمت شانزدهم

در این جلسه می خواهیم به بحث در مورد چند تابع بپردازیم :

-تابع MesssageDlg :
* از این تابع برای نشان دادن پیغام خاص و ادامه برنامه بر اساس نظر کاربر استفاده می شود ، در واقع این تابع یک جعبه پیغام به ما نشان می دهد که درون آن دکمه هایی نظیر دکمه Yes/No و یا Ok/Cancel وجود دارد و کاربر با انتخاب یکی از این کلیدها مسیر بعدی اجرای برنامه را مشخص می کند .
==شکل کلی تابع به صورت زیر است :

function MessageDlg(const Msg: WideString; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint): Integer

- پارامتر Msg متن پیغامی است که باید درون جعبه پیغام نمایش داده شود .
- پارامتر DlgType نوع شکلکی است که باید در سمت چپ جعبه نشان داده شود ، مقادیر آن به شرح زیر می باشد :

mtWarning | علامت تعجب زرد
mtError | علامت ایست قرمز
mtInformation | آبی i علامت
mtConfirmation | علامت سؤال سبز

- پارامتر Buttons لیست دکمه هایی است که قرار است در جعبه پیغام نشان داده شود ، و مقادیر آن به شرح زیر می باشد :

mbOk | mbCancel | mbYes | mbNo | mbAbort | mbRetry
mbIgnore | mbYesNoCancel | mbYesNo | mbOKCancel | mbAbortRetryIgnore

== توجه داشته باشید که مقادیر این پارامتر باید درون یک جفت [] نوشته شوند و در استفاده از چند دکمه همزمان با , از هم جدا می شوند .
- پارامتر HelpCtx شماره ID فایل Help برنامه می باشد که در صورتی که کاربر دکمه راهنما و یا F1‌ را در موقع نمایش جعبه پیغام فشار می دهد نمایش داده شود . عموما مقدار پیش فرض آن را 0 قرار می دهیم .
**** مقدار بازگشتی این تابع یک عدد صحیح می باشد و مشخص کننده این است که کاربر کدامیک از دکمه های جعبه پیغام را انتخاب کرده است ، مقادیر بازگشتی آن به صورت زیر می باشد :

mrOk | را انتخاب کرده باشد Ok ‌ موقعی که کاربر دکمه
mrCancel | را انتخاب کرده باشد Cancel ‌ موقعی که کاربر دکمه
mrYes | را انتخاب کرده باشد Yes ‌ موقعی که کاربر دکمه
mrNo | را انتخاب کرده باشد No ‌ موقعی که کاربر دکمه
mrAbort | را انتخاب کرده باشد Abort ‌ موقعی که کاربر دکمه
mrRetry | را انتخاب کرده باشد Retry ‌ موقعی که کاربر دکمه
mrIgnore | را انتخاب کرده باشد Ignore ‌ موقعی که کاربر دکمه

= یک نمونه مثال در مورد چگونگی کاربرد این تابع :

if MessageDlg('Do you want to exit ?' , mtConfirmation , [mbYes,mbNo] , 0)=mrYes then
Application.Terminate ;

- تابع MessageDlgPos :
* این تابع همانند تابع MessageDlg عمل می کند با این تفاوت که تابع MessageDlg در وسط فرم نمایش داده می شود ولی در این تابع 2 پارامتر برای دادن مختصات مکان نمایش جعبه پیغام وجود دارد . شکل کلی تابع به صورت زیر است :

function MessageDlgPos(const Msg: WideString; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint; X, Y: Integer): Integer;

- پارامترهای X و Y‌ مختصات مکان نمایش جعبه را مشخص می کنند ، به طور مثال اگر مقادیر این دو به ترتیب برابر 100 و 200 تنظیم شود جعبه پیغام در مکان که به اندازه 100 پیکسل از بالا و 200 پیکسل از سمت چپ صفحه نمایش فاصله دارد نشان داده می شود .

-تابع InputBox :
* از این تابع نیز برای نشان دادن پیغامی خاص و گرفتن متنی از کاربر برای ادامه اجرای برنامه می باشد در واقع در این جعبه پیغام یک Edit وجود دارد که در ان کاربر اطلاعات لازم را وارد می نماید . شکل کلی تابع به صورت زیر است :

function InputBox(const ACaption, APrompt, ADefault: WideString ): WideString

- پارامتر ACaption متن عنوان پنجره جعبه را مشخص می کند .
- پارامتر APrompt متن پیغام و سؤالی است که درون جعبه نمایش داده می شود .
- پارامتر ADefault مقدار پیش فرض متن Edit درون جعبه پیغام را مشخص می کند .

مقدار بازگشتی این تابع یک مقدار رشته ای است که همان متنی است که کاربر درون edit وارد می نماید .
یک نمونه مثال در مورد چگونگی کاربرد این تابع :

procedure TForm1.Button1Click(Sender: TObject);
var
St : String ;
begin
St := InputBox('Question' , 'Enter your Command for continue program ?' , 'Exit') ;
if St='Exit' then
Application.Terminate
else
ShowMessage('Your program not Exit') ;
end;

== این دستورات یک متغیر از نوع رشته تعریف می کند و سپس تابع مورد نظر را فراخوانی می کند و متن مورد نظر را درون متغیر St می ریزد و براساس اینکه برابر Exit هست یا خیر عمل خاصی را انجام می دهد .

-تابع InputQuery :
* این تابع نیز همانند InputBox می باشد با کمی تفاوت در پارامترها و مقدار بازگشتی . شکل کلی تابع به صورت زیر است :

function InputQuery(const ACaption, APrompt: WideString; var Value: WideString): Boolean

- پارامترهای ACaption و APrompt هماند تابع InputBox می باشد .
- پارامتر Value یک پارامتر ورودی و خروجی می باشد که دو عمل انجام می دهد : یکی اینکه مقدار پیش فرض متن را با توجه به متغیر مشخص می کند و دیگر اینکه مقدار بازگشتی را در خود نگه می دارد .
مقدار بازگشتی این تابع یک مقدار بولی می باشد که مشخص می کند آیا دکمه Ok انتخاب شده یا دکمه Cancel در صورتی که مقدار True برگرداند کاربر دکمه Ok را انتخاب کرده است .
یک نمونه مثال در مورد چگونگی کاربرد این تابع :

procedure TForm1.Button1Click(Sender: TObject);
var
St : String ;
Ok : Boolean ;
begin
St := '' ;
Ok := InputBox('Question' , 'Enter your Command for continue program ?' , St) ;
if St='Exit' and Ok then
Application.Terminate
else
ShowMessage('Your program not Exit') ;
end;

== در صورتی مقدار متن ورودی توسط کاربر برابر Exit باشد و کاربر دکمه Ok را انتخاب کند اجرای برنامه خاتمه پیدا می کند در غیر اینصورت پیغام مورد نظر نمایش داده می شود .
نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد