delphi4ever
24-02-2008, 11:14 PM
السلام عليكم ورحمة الله تعالى وبركاته
التعامل مع الرسائل في دلفي Working with messages in delphi
1- الرسائل Messages: هي تلك النوافذ الصغيرة التي تظهر لنا معلومات مفيدة واستعلامات وإشارات تحذير وخطأ وتعلم مستعمل البرنامج بعدة أمور، مثل رسالة " هل تريد فعلا إنهاء البرنامج" وهناك عدة أنواع من الرسائل التي يمكن برمجتها لتظهر للمستعمل وتسمى بـ : MessageBox.
2- أنواعها: هناك عدة أنواع من الرسائل وهي كالتالي:
2-1 رسالة الخطأ Message Error وتحتوي على الإيقونة الحمراء التي تشير بوجود خطأ ويكون محتوى الرسالة حول الخطأ
2-2 رسالة تحذير Message Warning وتحتوي على إشارة التذير الصفراء التي تقوم على تحذير مستعمل البرنامج من القيام بعمل ما ويكون محتوى الرسالة دائما حول الخطر.
2-3 رسالة معلومات Message information وتحتوي على الحرف I الذي يعني بدوره information وتقوم هذه الرسالة بإعطاء معلومات مفيدة للمستعمل ويكون محتواها دائما للإعلام.
2-4 رسالة تأكيد Message Confirmation وتحتوي على علامة الإستفهام وتكون في أغلب الأحيان مستعملة من أجل التأكيد في عدة أماكن مثل : 'هل تريد إغلاق هذا البرنامج؟' ...الخ من الأماكن الأخرى
2-5 رسالة عادية Custom Message وهي رسالة عادية لا تحتوي على أي إيقونة icons ويكون عنوانها هو عنوان المشروع أي أنها لا تحمل في العنوان Error أو Warning أو أي شيئ اخر سوى عنوان المشروع.
يحتوي كل نوع من الرسائل السابق ذكرها (Error, Warning, Infomation, Confirmation, Custom) على المعلومات التالية:
1-محتوى الرسالة.
2-نوع الرسالة.
3-الأزرار Buttons الموجودة بالرسالة
4-عنوان الرسالة.
3 – أمثلة عن الرسائل في دلفي:
3-1 إنشاء رسالة عن طريق الإجراء ShowMessage
مثال:
1- نضع مكون Button ثم نقوم بالضغط مرتين عليه ونكتب ما يلي:
ShowMessage('Hello 2 ALL');
ShowMessage وهي إجراء تابع للوحدة Dialog التابعة لدلفي وهذا لأنه يقوم بإظهار Dialog للمستعمل بحيث يحوي هذا Dialog على محتوى الرسالة وهو 'Hello 2 ALL' يمكننا تغيير المحتوى وهذا حسب مكان إظهار الرسالة ويجب أن يكون محتوى الرسالة بين القوسينكما هو ظاهر لأن المحتوى عبارة نص بحيث تكون هيكلة الإجراء ShowMessage كالتالي: ShowMessage(' ');.
2- في حالة ما إذا كان محتوى الرسالة يحتوي على كلمة مثل Today's أو John's أي موجود بها الرمز ' في هذه الحالة يجب على المبرمج أن يضع هذه الإشارة مرتين'' في نفس الكلمة وهذا لتفادي الخطأ بحيث سيكون محتوى الرسالة على الشكل التالي:
ShowMessage('John''s Book');
3- وفي الأخير سنحصل على MessageBox يحتوي في عنوانه على إسم المشروع وفي محتواه على ما حددناه له وعلى Ok Button أيضا بحيث يكون موقع MessegeBox في وسط الشاشة ScreenCenter
3-2 إنشاء رسالة عن طريق ShowMessagePos :
يقوم هذا الإجراء الذي هو واضح من عنوانه على إظهار رسالة تحتوي على نفس محتويات ShowMessage لكن تختلف عليها في تحديد إحداثيات ظهور نافذة الرسالة MessageBox، بحيث يمكننا أن نحدد إحداثيات MessageBox عن طريق الإجراء ShowMessagePos وهو كالتالي:
ShowMessagePos('Hello 2 ALL', 100,200);
بحيث أن 100 و 200 هما إحداثيات ظهور نافذة الرسالة MessageBox
5-إنشاء رسائل عن طريق الدالة MessageDlg (Fonction)
MessageDlg : هي دالة Fonction خاصة بالرسائل دائما لكنها متطورة نوعا ما وهي تابعة أيضا لـ
Dialog Unit الخاصة بدلفي ، بحيث تقوم هذه الأخيرة بإظهار رسائل منوعة كرسائل الخطأ Error والإعلام information وتأكيد Confirmation مع ظهور إيقوناتها Icons والعديد من الخصائص الأخرى.
function MessageDlg ( const Message : string; DialogType : TMsgDlgType; Buttons : TMsgDlgButtons; HelpContext : Longint ) : Integer;
5- 1 : إنشاء رسالة عن طريق الدالة MessageDlg
http://img231.imageshack.us/img231/9664/exge7.jpg (http://imageshack.us)
1 - نضع مكون Button ثم نقوم بالضغط مرتين عليه ونكتب ما يلي:
MessageDlg(' Would you really Exit this program? ', mtconfirmation,[mbyes,mbno],0);
شرح الدالة MessageDlg:
•Messagedlg : هو معرف الدالة وهو ضروري ويجب كتابته دائما.
•Would you really Exit this program? : محتوى الرسالة.
•mtConfirmation: ويعني نوع الرسالة Dialog Type ، فمثل هذه الرسالة تسمى برسالة التأكيد Confirmation و mt تعني MessageType هناك أنواع كثيرة من أنواع الرسالات وقد تطرقنا إليها في أول الموضوع كـ: (Error, Warning, Infomation, Confirmation, Custom)
• [mbyes,mbno]: وهي أزرار الرسالة Dialog Buttons التي تظهر لنا في مربع الرسالة مثل Ok و Cancel و yes و No ...الخ بحيث أنه توجد مجموعة لا بأس بها من Dialog Buttons و Mb تعني لنا Message Button وهناك عدة أنواع وهي: MbAbort, MbHelp, MbCancel, MbIgnore, MbNO, MbNoToAll, MbOk, MbYes, MbYestoAll, MbRetry, MbAll) يمكن إستعمال أي نوع من الأزرار السالف ذكرها مع بعض وهذا عن طريق ترك فاصلة بين الواحدة والأخرى ، مثال [mbyes,mbno,mbretry] وهذا حسب رغبة المبرمج.
•0: يمثل لنا Help ID أو كما يسمى بـ Help Context
6-2 إنشاء رسالة عن طريق الدالة MessageDlgPos :
http://img223.imageshack.us/img223/5571/inputbv4.jpg (http://imageshack.us)
تعمل هذه الدالة Fonction نفس عمل الدالة الأولى MessageDlg لكن تقوم هذه الأخيرة بتحديد إحداثيات لنافذة الرسالة DialogBox وهذا بإعطاء قيمتين بعد الصفر في الدالة على الشكل التالي:
function MessageDlgPos ( const Message : string; DialogType : TMsgDlgType; Buttons : TMsgDlgButtons; HelpContext : Longint; X, Y : Integer ) : Integer;
مثال :
inputBox('Search: ', 'Find This Word',' ');
•inputBox: هي الدالة نفسها.
•Search : يوضع مكانها عنوان النافذة Title of Dialog
•Find This Word: يوضع مكانها التعليق الذي سيوضع مباشرة فوق مربع البحث
•' ' : يمثل هذا الفراغ محتوى المربع أي بإمكاننا كتابة أي شيئ فيه أو تركه كما هو.
وللمزيد من التفاصيل قم بتحميل الملف المصدري Source-Code الموجود بالمرفقات.
والله ولي التوفيق
التعامل مع الرسائل في دلفي Working with messages in delphi
1- الرسائل Messages: هي تلك النوافذ الصغيرة التي تظهر لنا معلومات مفيدة واستعلامات وإشارات تحذير وخطأ وتعلم مستعمل البرنامج بعدة أمور، مثل رسالة " هل تريد فعلا إنهاء البرنامج" وهناك عدة أنواع من الرسائل التي يمكن برمجتها لتظهر للمستعمل وتسمى بـ : MessageBox.
2- أنواعها: هناك عدة أنواع من الرسائل وهي كالتالي:
2-1 رسالة الخطأ Message Error وتحتوي على الإيقونة الحمراء التي تشير بوجود خطأ ويكون محتوى الرسالة حول الخطأ
2-2 رسالة تحذير Message Warning وتحتوي على إشارة التذير الصفراء التي تقوم على تحذير مستعمل البرنامج من القيام بعمل ما ويكون محتوى الرسالة دائما حول الخطر.
2-3 رسالة معلومات Message information وتحتوي على الحرف I الذي يعني بدوره information وتقوم هذه الرسالة بإعطاء معلومات مفيدة للمستعمل ويكون محتواها دائما للإعلام.
2-4 رسالة تأكيد Message Confirmation وتحتوي على علامة الإستفهام وتكون في أغلب الأحيان مستعملة من أجل التأكيد في عدة أماكن مثل : 'هل تريد إغلاق هذا البرنامج؟' ...الخ من الأماكن الأخرى
2-5 رسالة عادية Custom Message وهي رسالة عادية لا تحتوي على أي إيقونة icons ويكون عنوانها هو عنوان المشروع أي أنها لا تحمل في العنوان Error أو Warning أو أي شيئ اخر سوى عنوان المشروع.
يحتوي كل نوع من الرسائل السابق ذكرها (Error, Warning, Infomation, Confirmation, Custom) على المعلومات التالية:
1-محتوى الرسالة.
2-نوع الرسالة.
3-الأزرار Buttons الموجودة بالرسالة
4-عنوان الرسالة.
3 – أمثلة عن الرسائل في دلفي:
3-1 إنشاء رسالة عن طريق الإجراء ShowMessage
مثال:
1- نضع مكون Button ثم نقوم بالضغط مرتين عليه ونكتب ما يلي:
ShowMessage('Hello 2 ALL');
ShowMessage وهي إجراء تابع للوحدة Dialog التابعة لدلفي وهذا لأنه يقوم بإظهار Dialog للمستعمل بحيث يحوي هذا Dialog على محتوى الرسالة وهو 'Hello 2 ALL' يمكننا تغيير المحتوى وهذا حسب مكان إظهار الرسالة ويجب أن يكون محتوى الرسالة بين القوسينكما هو ظاهر لأن المحتوى عبارة نص بحيث تكون هيكلة الإجراء ShowMessage كالتالي: ShowMessage(' ');.
2- في حالة ما إذا كان محتوى الرسالة يحتوي على كلمة مثل Today's أو John's أي موجود بها الرمز ' في هذه الحالة يجب على المبرمج أن يضع هذه الإشارة مرتين'' في نفس الكلمة وهذا لتفادي الخطأ بحيث سيكون محتوى الرسالة على الشكل التالي:
ShowMessage('John''s Book');
3- وفي الأخير سنحصل على MessageBox يحتوي في عنوانه على إسم المشروع وفي محتواه على ما حددناه له وعلى Ok Button أيضا بحيث يكون موقع MessegeBox في وسط الشاشة ScreenCenter
3-2 إنشاء رسالة عن طريق ShowMessagePos :
يقوم هذا الإجراء الذي هو واضح من عنوانه على إظهار رسالة تحتوي على نفس محتويات ShowMessage لكن تختلف عليها في تحديد إحداثيات ظهور نافذة الرسالة MessageBox، بحيث يمكننا أن نحدد إحداثيات MessageBox عن طريق الإجراء ShowMessagePos وهو كالتالي:
ShowMessagePos('Hello 2 ALL', 100,200);
بحيث أن 100 و 200 هما إحداثيات ظهور نافذة الرسالة MessageBox
5-إنشاء رسائل عن طريق الدالة MessageDlg (Fonction)
MessageDlg : هي دالة Fonction خاصة بالرسائل دائما لكنها متطورة نوعا ما وهي تابعة أيضا لـ
Dialog Unit الخاصة بدلفي ، بحيث تقوم هذه الأخيرة بإظهار رسائل منوعة كرسائل الخطأ Error والإعلام information وتأكيد Confirmation مع ظهور إيقوناتها Icons والعديد من الخصائص الأخرى.
function MessageDlg ( const Message : string; DialogType : TMsgDlgType; Buttons : TMsgDlgButtons; HelpContext : Longint ) : Integer;
5- 1 : إنشاء رسالة عن طريق الدالة MessageDlg
http://img231.imageshack.us/img231/9664/exge7.jpg (http://imageshack.us)
1 - نضع مكون Button ثم نقوم بالضغط مرتين عليه ونكتب ما يلي:
MessageDlg(' Would you really Exit this program? ', mtconfirmation,[mbyes,mbno],0);
شرح الدالة MessageDlg:
•Messagedlg : هو معرف الدالة وهو ضروري ويجب كتابته دائما.
•Would you really Exit this program? : محتوى الرسالة.
•mtConfirmation: ويعني نوع الرسالة Dialog Type ، فمثل هذه الرسالة تسمى برسالة التأكيد Confirmation و mt تعني MessageType هناك أنواع كثيرة من أنواع الرسالات وقد تطرقنا إليها في أول الموضوع كـ: (Error, Warning, Infomation, Confirmation, Custom)
• [mbyes,mbno]: وهي أزرار الرسالة Dialog Buttons التي تظهر لنا في مربع الرسالة مثل Ok و Cancel و yes و No ...الخ بحيث أنه توجد مجموعة لا بأس بها من Dialog Buttons و Mb تعني لنا Message Button وهناك عدة أنواع وهي: MbAbort, MbHelp, MbCancel, MbIgnore, MbNO, MbNoToAll, MbOk, MbYes, MbYestoAll, MbRetry, MbAll) يمكن إستعمال أي نوع من الأزرار السالف ذكرها مع بعض وهذا عن طريق ترك فاصلة بين الواحدة والأخرى ، مثال [mbyes,mbno,mbretry] وهذا حسب رغبة المبرمج.
•0: يمثل لنا Help ID أو كما يسمى بـ Help Context
6-2 إنشاء رسالة عن طريق الدالة MessageDlgPos :
http://img223.imageshack.us/img223/5571/inputbv4.jpg (http://imageshack.us)
تعمل هذه الدالة Fonction نفس عمل الدالة الأولى MessageDlg لكن تقوم هذه الأخيرة بتحديد إحداثيات لنافذة الرسالة DialogBox وهذا بإعطاء قيمتين بعد الصفر في الدالة على الشكل التالي:
function MessageDlgPos ( const Message : string; DialogType : TMsgDlgType; Buttons : TMsgDlgButtons; HelpContext : Longint; X, Y : Integer ) : Integer;
مثال :
inputBox('Search: ', 'Find This Word',' ');
•inputBox: هي الدالة نفسها.
•Search : يوضع مكانها عنوان النافذة Title of Dialog
•Find This Word: يوضع مكانها التعليق الذي سيوضع مباشرة فوق مربع البحث
•' ' : يمثل هذا الفراغ محتوى المربع أي بإمكاننا كتابة أي شيئ فيه أو تركه كما هو.
وللمزيد من التفاصيل قم بتحميل الملف المصدري Source-Code الموجود بالمرفقات.
والله ولي التوفيق