؟ Digao Dalpiaz News on Telegram



03/25/2024 (الإصدار 6.7) ( الحد الأدنى DZHTMLTEXT الإصدار: 6.3 )
03/16/2024 (الإصدار 6.6)
03/10/2024 (الإصدار 6.5)
02/23/2024 (الإصدار 6.4)
02/22/2024 (الإصدار 6.3)
02/20/2024 (الإصدار 6.2)
Lib{Platform}{Config} . يرجى مراجعة مسارات المكتبة الخاصة بك.01/21/2024 (الإصدار 6.1) ( الحد الأدنى DZHTMLTEXT الإصدار: 5.2 )
01/12/2024 (الإصدار 6.0) ( الحد الأدنى DZHTMLTEXT الإصدار: 5.1 )
تحذير!!! يرجى إلغاء تثبيت الإصدار السابق تمامًا عن طريق حذف مجلد مكون السد السابق ، لأن العديد من الملفات قد غيرت أسمائها ومواقعها.
12/11/2023 (الإصدار 5.2)
07/29/2023 (الإصدار 5.1)
04/11/2023 (الإصدار 5.0) ( الحد الأدنى DZHTMLTEXT الإصدار: 4.0 )
DamUnitName09/12/2021 (الإصدار 4.16)
07/24/2021 (الإصدار 4.15)
06/13/2021 (الإصدار 4.14)
03/21/2021 (الإصدار 4.13)
03/14/2021 (الإصدار 4.12)
03/13/2021 (الإصدار 4.11)
03/05/2021 (الإصدار 4.10)
02/10/2021 (الإصدار 4.9)
12/18/2020 (الإصدار 4.8)
11/27/2020 (الإصدار 4.7)
11/11/2020 (الإصدار 4.6)
10/31/2020 (الإصدار 4.5)
10/27/2020 (الإصدار 4.4)
10/26/2020 (الإصدار 4.3) ( الحد الأدنى DZHTMLTEXT الإصدار: 2.6 )
10/26/2020 (الإصدار 4.2)
10/18/2020 (الإصدار 4.1) ( الحد الأدنى DZHTMLTEXT الإصدار: 2.04 )
10/14/2020 (الإصدار 4.0)
ملاحظات:
09/24/2020
08/11/2020
08/07/2020
08/03/2020
07/30/2020
07/21/2020
05/25/2020
<img:nnn> ). من الضروري تحديث مكون TDZHTMLText.05/03/2020
05/02/2020
DamParams لملء المعلمات عند استخدام طرق رسالة السد. هذا مطلوب لإصدارات Delphi أدناه XE8 ، لأنه لم يكن لديه صفيف ديناميكي كدعم النوع.System.ImageList من وحدة Damlist (حزمة وقت التصميم) ، لأنه غير مدعوم بواسطة إصدارات Delphi أدناه XE8.AutoWidth في TDAM. يوجد الآن خاصية جديدة FixedWidth في مكون TDAMMSG ، بحيث يمكنك تحديد عرض مخصص حسب الرسالة. سيحتفظ المكون بالوظيفة الداخلية للعرض التلقائي إذا كان العرض الثابتة صفرًا (القيمة الافتراضية).CenterButtons إلى الافتراضي FALSE ، لأن نمط حوار Windows الجديد يحتوي على أزرار محاذاة على اليمين.04/26/2020
<imgres:{resource_name}> . فقط أضف صورة PNG إلى موارد التطبيق واستخدم العلامة للإشارة إليها في الرسالة. هذا التنفيذ موجود في مكون DZHTMLText ، يستخدمه DAM. تحتاج فقط إلى تحديث مكونك DZHTMLText وستتوفر هذه الميزة. يرجى قراءة قسم علامة صورة dzhtmltext لمزيد من المعلومات. هام: الصور لن تكون مرئية في وقت التصميم .04/19/2020
10/07/2019
10/06/2019
10/05/2019
05/03/2019
02/11/2019
02/08/2019
02/07/2019
02/06/2019
02/05/2019
أضف خصائص جديدة MessageColor و ButtonscoLor على مكون TDAM ، للسماح بتخصيص مربعات الرسائل.
تقريبًا كل تطبيق تقوم بإنشائه ، تحتاج إلى إضافة مربعات حوار الرسائل.
يوفر لك Delphi بعض الخيارات ، مثل ShowMessage و MessagedLG و MessageBox.
نظرًا لأن مشروعك أكبر ، فقد تعبث مربعات الحوار عن الكود الخاص بك ، خاصة إذا كنت بحاجة إلى كتابة العديد من الخطوط في الرسائل ، مع العديد من المعلمات.
إذا كنت بحاجة إلى تنسيق جزء من الرسالة ، فأنت بحاجة إلى إضافة ملصقات في نموذج مخصص. هذا يمكن أن يكون سيئا حقا.
انظر إلى هذه الرسالة:
begin
ShowMessage( ' The task was scheduled to run at the time: ' +aTime+ ' . ' +# 13 # 10 +
# 13 # 10 +
' Please, check the schedule at main board. ' +
' If you want to change schedule, find by ID # ' +IntToStr(IDNumber)+ ' . ' +# 13 # 10 +
# 13 # 10 +
' This task was created by user ' +aUserName+ ' . Only this user can edit this task profile. ' );
end ;لذا ، أعتقد أن هذا قبيح حقًا ، ألا تعتقد ذلك؟ ؟
مع السد يمكنك كتابة هذه الرسالة نفسها مثل هذه : ؟
begin
InfoTaskScheduled([aTime, IDNumber, aUserName]);
end ;يتيح لك هذا المكون إدارة جميع رسائل التطبيق الخاصة بك في "حاوية". يمكنك إنشاء مربع حوار الرسائل مع منشئ المعالج ، مما يسمح لك بتنسيق الرسالة (Bold ، Italic ، Owderline ، اسم الخط ، حجم الخط ، لون الخلفية النصية ، مركز المحاذاة ، محاذاة يمين ، استخدام محاذاة علامة التبويب ، روابط قابلة للنقر ، إلخ).
يمكنك تحديد أزرار الرسائل ، والأيقونة ، وعنوان النموذج ، وأكثر من ذلك بكثير.
ثم يمكنك تحديد اسم للرسالة. لذلك ، يمكنك الاتصال بالرسالة في أي جزء من التطبيق الخاص بك ، فقط استدعاء الطريقة باسم الرسالة!
إذا قمت بتحديد المعلمات في نص الرسالة ، فعندما تقوم بالاتصال بطريقة الرسالة ، يمكنك تحديد المعلمات التي سيتم استبدالها في النص.
يرجى قراءة هذه الوثائق بعناية لمعرفة كيفية عمل هذا المكون. ؟
حاوية السد سرد جميع الرسائل التي تم إنشاؤها ، مخزنة في DFM:

منشئ معالج الرسائل ، لتخصيص مربع حوار الرسائل:

مربع الحوار :؟

يتوفر اختصار
CTRL+Cفي نموذج الرسالة لنسخ الرسالة إلى الحافظة.
تحتاج أولاً إلى تثبيت مكون DZHTMLText الخاص بي. احصل عليه هنا: https://github.com/digao-dalpiaz/dzhtmltext
هذا هو تسمية مع مكون تنسيق HTML. تستخدم الرسائل هذا المكون لعرض النص المنسق.
إذا كنت تقوم بتثبيت DZHTMLText و DAM مرة واحدة ، باستخدام أداة تثبيت المكونات ، بعد تثبيت DSHTMLText ، ستحتاج إلى فتح وإغلاق Delphi قبل تثبيت DAM (هناك حاجة فقط لتحديث ملف مسار المكتبة المستخدمة من قبل MSBuild).
LibWin32Release .يدعم Delphi Xe3..delphi 12
انتقل إلى حزمة القائمة> افتح ملف الحزمة (.lpk) وقم بتحميل lazdampackage.lpk ، وانقر في ترجمة .
انتقل إلى حزمة القائمة> فتح ملف الحزمة (.lpk) وقم بتحميل lazdamdesignpackage.lpk ، وانقر على الاستخدام> تثبيت .
في هذا الوقت ، تتوفر اللغات التالية للرسائل:
تقوم اللغة بتعيين شرح الأزرار في مربعات الحوار ، مثل موافق ، إلغاء ، نعم ، لا ، وعنوان النموذج ، عند المعلومات ، والسؤال ، والتحذير ، والخطأ والرسالة (مخصصة). يمكن تغيير عنوان النموذج في خصائص الرسائل ويمكن تعيينه تلقائيًا بواسطة كائنات أخرى ، مثل عنوان النموذج الأصل وعنوان النموذج الرئيسي وعنوان التطبيق.
يمكنك فتح مشكلة لإرسال ترجمة لغوية جديدة لي أو تصحيح الترجمة الحالية
الفكرة الرئيسية هي إسقاط TDAM واحد في النموذج الرئيسي ، أو وحدة البيانات الرئيسية. TDAM عبارة عن حاوية تحتوي على جميع TDAMMSG (مربع الحوار).
لإدارة الرسائل ، فقط انقر نقرًا مزدوجًا على مكون TDAM ، أو النقر بزر الماوس الأيمن واختر إدارة رسائل السد .
ولكن كيف تسمي الرسائل؟
TDAM لديه خاصية تسمى DamUnitName . هنا تحدد اسم الوحدة لاحتواء جميع طرق الرسائل. عند استخدام وحدة إنشاء الوظيفة ، سيقوم المكون بإنشاء هذه الوحدة تلقائيًا في مجلد المشروع مع الأساليب القائمة في جميع الرسائل التي تم إنشاؤها (بنفس اسم اسم الرسالة).
لذلك ، في أي وحدة ، يمكنك فقط إضافة استخدامات إلى هذه الوحدة ، واتصل بالرسالة التي تريدها باسم الرسالة. إذا كانت الرسالة تحتوي على معلمات ، فسيتم الإعلان عن الطريقة تلقائيًا تطلب المعلمات في صفيف.
نعم ، ولكن إذا كنت في نفس الفئة (Tform/tdatamodule) التي هي رسائل TDAM و TDAMMSG ، إذا قمت بالاتصال بأسلوب الرسائل ، فإن Delphi تعتقد أنني أحيل كائن الرسالة!
هذا صحيح ، وبسبب ذلك ، فإن المكون لديه وظيفة مخفية كائن. تحتاج فقط إلى تسمية الرسالة التي تبدأ بـ _ . لذلك سيقوم منشئ الوحدة بإزالة هذا الحرف لتسمية الطريقة ولن يخلط Delphi بين الأمرين.
أوصيك بإنشاء جميع الرسائل المسمى بدءًا من الحرف _ .
إذا كنت تستخدم المعالج ، فسيبدأ الاسم تلقائيًا بهذا الحرف.
يوجد زر على مدير DAM لإخفاء/un-hide جميع الرسائل المحددة.
تذكر ، في كل مرة تقوم فيها بتغيير الرسائل ، تحتاج إلى إعادة بناء الوحدة. فقط انقر فوق وحدة بناء الزر للتحديث.
حسنًا ، لكنني لا أريد استخدام هذه الوحدة! هل هناك طريقة أخرى؟
نعم بالطبع. يمكنك استدعاء الرسالة باستخدام وظائف كائن TDAMMSG. RunAsBool Run في هذه الحالة ، أوصيك بعدم إخفاء الرسالة ، حتى تتمكن من الاتصال باسم الكائن كما هو.
لكنني أوصيك بصراحة باستخدام الوحدة لأنها ستكون أكثر منطقية.
هل يمكنني استخدام أكثر من حاوية TDAM في طلبي؟
نعم ، يمكنك. يتيح لك TDAM تحديد بعض التكوينات ، مثل خط الرسائل والأصوات. لذلك قد يكون لديك أكثر من tdam واحد للحصول على هذه المجموعة من التكوين. إلى جانب ذلك ، يمكنك استخدام TDAM المختلفة لتجميع الرسائل حسب الفئة. يمكنك وضع TDAM في نماذج محددة ، ولكن تذكر أن الحاوية تحتاج إلى وجود الرسائل ، بالطبع.
إذا كنت تستخدم أكثر من TDAM واحد ، فإنني أوصيك بتعيين نفس DamUnitName في جميع مكونات TDAM ، لذلك عندما تقوم بالاتصال بزر وحدة البناء ، سيتم إنشاء وحدة واحدة مع جميع الرسائل لجميع حاويات TDAM. حتى تتمكن من استخدام هذه الوحدة الفردية في جميع الوحدات الأخرى من مشروعك للاتصال بأي رسالة.
رموز نتيجة الرسالة:
إذا قمت بالاتصال بالرسالة حسب طريقة اسم الرسالة ، فستكون الطريقة إجراءً إذا كانت الرسالة تحتوي على زر واحد فقط.
إذا كانت الرسالة تحتوي على اثنين أو ثلاثة أزرار ، فستكون الطريقة وظيفة. عندما تحتوي على زرين ، ستعود الوظيفة دائمًا إلى قيمة Boolean Value ، أو العودة إلى True إذا تم النقر فوق الزر الأول على اليسار ، أو إرجاع FALSE إذا تم النقر على الزر الثاني (الزر الأخير على اليمين).
عندما يكون للرسالة زر ثلاثة ، تقوم الوظيفة بإرجاع قيمة عدد صحيح 1 أو 2 أو 3 ، اعتمادًا على الزر الذي تم الضغط عليه في مربع الحوار. الزر الأول هو اليسار. والثاني هو الزر الأوسط. الزر الثالث هو الزر الأيمن.
لذلك ، عند استخدام ثلاثة أزرار ، يمكنك استخدام متغير أو حتى case :
case QuestionSaveFile([aFileName]) of
1 : DoSaveFile; // Yes button
2 : { continue } ; // No button
3 : Abort; // Cancel button
end ; إذا كنت ترغب في استخدام المعلمات القابلة للاستبدال في الرسالة ، فما عليك سوى اكتب %p . يمكنك تحديد معلمات متعددة في نفس الرسالة. عندما تقوم بالاتصال بالرسالة ، تكون صفيف المعلمات بالتتابع بنفس الترتيب الذي يتم كتابته في الرسالة.
صفيف المعلمات من النوع المتغير ، لذلك لا يحتاجون إلى تحويلات.
مثال:
// TDamMsg Message property = 'This is a %p message number %p at time %p'
MyCustomMessage([ ' test ' , 123 , Now]);
// or
MsgInfo( ' This is a %p message number %p at time %p ' , [ ' test ' , 123 , Now]); ButtonsColor: TColor = تحديد لون الخلفية لمنطقة الأزرار في مربع الحوار.
ButtonsFont: TFont = يحدد الخط النص لأزرار الحوار
ButtonsFontColor: TAlphaColor = يحدد لون الخط النصي لأزرار الحوار (متوفر فقط في بيئة FMX)
CenterButtons: Boolean = تحديد ما إذا كانت الأزرار في نموذج الرسالة سيتم محاذاة في المركز. إذا كانت هذه الخاصية خاطئة ، فسيتم محاذاة الأزرار على يمين النموذج.
DamDefault: Boolean = يحدد ما إذا كان سيتم استخدام هذا TDAM لإطلاق الرسائل السريعة (يرجى قراءة قسم الرسائل السريعة). يمكنك فقط تحديد واحد على أنه افتراضي في التطبيق.
DamUnitName: String = حدد اسم الوحدة المراد إنشاؤه مع جميع طرق الرسائل في مجلد المشروع. لا تحدد تمديد الملف ، لأن المكون سيكمل الاسم تلقائيًا مع ".PAS".
DialogBorder: Boolean = يحدد ما إذا كان نافذة مربع الحوار سيحتوي على حدود. يمكنك تعطيل هذه الخاصية لإنشاء موضوعات حوار حديثة.
DialogPosition: TDamDlgPosition = يحدد موضع بدء نموذج الحوار:
HandleExceptions: Boolean = يحدد هذا TDAM للتعامل مع جميع استثناءات التطبيق ، مع إظهار رسالة الخطأ مع نفس مربع الحوار مثل جميع رسائل السد الأخرى. يمكن تعيين TDAM واحد فقط للتعامل مع الاستثناءات في التطبيق.
HideIcon: Boolean = إذا كان ذلك صحيحًا ، فسيتم قمع الرمز الموجود في مربع الحوار.
Images: TCustomImageList = يتيح لك تعيين تصوير ، باستخدام العلامة <img:idx> في نص الرسالة ، حيث يكون idx فهرس الصورة.
Language: TDamLanguage = يحدد اللغة المستخدمة بواسطة أزرار الرسائل وعنوان نموذج الرسالة. عند وضع مثيل لمكون TDAM ، سيتم تهيئة هذه الخاصية وفقًا للغة الحالية للنظام. إذا لم تكن هناك لغة متاحة وفقًا للنظام ، فسيتم تعيين اللغة الإنجليزية. لا تحتوي هذه الخاصية على قيمة افتراضية ، على وجه التحديد لأنه يجب أن تخزن اللغة التي يتم تعريفها.
MessageColor: TColor = تحديد لون الخلفية لمنطقة الرسالة في مربع الحوار.
MessageFont: TFont = يحدد خط الرسائل النص
MessageFontColor: TAlphaColor = يحدد لون الخط النصي للرسائل (متوفر فقط في بيئة FMX)
PlaySounds: Boolean = تمكين أصوات النظام عند عرض رسائل التحذير والأسئلة والخطأ.
OnLinkClick(Sender: TObject; Msg: TDamMsg; const Target: string; var Handled: Boolean; var CloseMsg: Boolean; var MsgResult: TDamMsgRes) سيتم تشغيل هذا الحدث عند النقر على رابط موجود في الرسالة.
بشكل افتراضي ، سيتم فتح هدف الارتباط تلقائيًا باستخدام Shellexecute من Windows API ، لذلك إذا كان الهدف هو رابط ويب ، فسيقوم المتصفح الافتراضي بفتح الرابط ، أو إذا كان الهدف هو ملف نظام ، فسيتم تنفيذ المسار/فتحه بواسطة Windows.
إذا كنت ترغب في تجاوز هذا السلوك ، فاستخدم هذا الحدث وتم Handled مع True. يمكنك أيضًا تعيين CloseMsg على علامة True و MsgResult عندما تريد إغلاق نافذة الرسالة.
OnShowMessage(Sender: TObject; Msg: TDamMsg; var MsgText: String; var Handled: Boolean; var MsgResult: TDamMsgRes) قبل عرض رسالة السد ، مما يسمح لك باعتراض الرسائل وحتى عرض الرسائل الالتفافية ، باستخدام معلمة معالجة.
تحذير! إذا قمت بتجاوز رسالة استثناء ، فلن يقوم المكون بإثارة استثناء ، ومواصلة تنفيذ الرمز (ما لم تنشئ استثناءك الخاص في إجراء الحدث).
Button1: String = Caption of Button 1 on Message Dialog. متاح عندما يكون الأزرار = DBONE/DBTWO/DBTHREE.
Button2: String = Caption of Button 2 on Message Dialog. متاح عند الأزرار = DBTWO/DBTHREE.
Button3: String = Caption of Button 3 on Message Dialog. متاح عندما الأزرار = dbThree.
Buttons: TDamMsgButtons = يحدد الأزرار في مربع الحوار للرسالة:
CustomIcon: TIcon = يحدد أيقونة مخصصة لإظهارها في مربع الحوار. يظهر هذا الرمز فقط عند icon = dicustom.
CustomTitle: String = يحدد عنوان مخصص لنموذج الرسالة. يتم استخدام هذا التسمية التوضيحية فقط ثم العنوان = dtCustom.
Dam: TDam = يحدد حاوية السد من هذه الرسالة.
FixedWidth: Integer = يحدد عرضًا ثابتًا لجزء النص في نافذة الرسالة ، بالبكسل. إذا كانت هذه القيمة صفر (افتراضي) ، فسيتم حساب عرض النافذة تلقائيًا وفقًا لنص الرسالة. هناك الحد الأدنى والحد الأقصى للحدود الثابتة لنموذج الرسالة (الحد الأدنى = 300 بكسل / الحد الأقصى = 75 ٪ من عرض الشاشة - عندما يكون Android أو iOS ، الحد الأقصى = 95 ٪ من عرض الشاشة) .
HelpContext: THelpContext = تعريف سياق المساعدة. إذا تم تعريف هذه الخاصية ، عندما يعرض مربع حوار الرسائل زر التعليمات وسوف يفتح مساعدة التطبيق على هدف السياق. من الممكن أيضًا استخدام مفتاح F1.
HelpKeyword: String = تعريف الكلمة الأساسية للمساعدة. إذا تم تعريف هذه الخاصية ، عندما يعرض مربع حوار الرسائل زر التعليمات وسيفتح تعليمات التطبيق على هدف الكلمة الرئيسية. من الممكن أيضًا استخدام مفتاح F1.
Icon: TDamMsgIcon = يحدد الرمز في مربع الحوار:
Message: String = نص الرسالة. يرجى استخدام Creator معالج الرسائل لتنسيق النص أو قراءة وثائق htlabel. يتم تعريف المعلمات القابلة للاستبدال بواسطة %p في نص الرسالة. استخدم المعلمات في Array في طريقة الرسالة في نفس الترتيب كما هو محدد في نص الرسالة. يمكنك أيضًا تحديد الحرفي {except} للقبض على رسالة الاستثناء الحالية واستبدالها في هذا المتغير في نص الرسالة (من فضلك ، انظر أمثلة الاستثناء).
Name: String = اسم كائن الرسالة. إذا بدأ الاسم بحرف _ ، يعني أن الرسالة مخفية ، لذلك لن تعتقد Delphi أنك تتصل بهذا الكائن عند الاتصال بطريقة الرسالة التي لها نفس الاسم.
RaiseExcept: Boolean = اضبط هذه الرسالة كرسالة رفع. عندما تتصل بهذه الرسالة ، سيتم رفع استثناء مع نص الرسالة. في هذه الحالة ، تحتاج إلى استخدام TDAM واحد على الأقل مع مقابض = صواب ، وإلا فلن يتم تنسيق الرسالة بتخصيص DAM.
SwapFocus: Boolean = افتراضيًا ، عند إطلاق رسالة ، سيبدأ الزر الأول دائمًا على اليسار بالتركيز. إذا قمت بتمكين هذا الخيار ، فستبدأ هذه الرسالة التركيز في الزر الأخير (الزر الموجود في اليمين).
Title: TDamMsgTitle = يحدد عنوان نموذج الرسالة
يتم "هروب" جميع معلمات الرسائل تلقائيًا حسب المكون.
أمثلة:
procedure Test1 ;
begin
MyCustomMessage([ ' This will display <b> literal string ' , ' This will display "%p" literal string ' ]);
end ;
procedure Test2 ;
begin
MsgInfo( ' <b>First message parameter</b>: %p ' , [ ' Here I want to display literal <> characters ' ]);
end ;%p و {except} ).إذا كنت ترغب في عرض الأحرف الحرفية HTML في جزء الرسائل الثابتة ، فيرجى التحقق من ثوابت Escape على DSHTMLText Documentation.
procedure MsgInfo ( const Msg: String; const Params: TDamParams = nil ); // message with Information icon
procedure MsgWarn ( const Msg: String; const Params: TDamParams = nil ); // message with Warning icon
procedure MsgError ( const Msg: String; const Params: TDamParams = nil ); // message with Error icon
function MsgQuest ( const Msg: String; const Params: TDamParams = nil ): Boolean; // message with Question mark icon
procedure MsgRaise ( const Msg: String; const Params: TDamParams = nil ); // message with Error icon (this raises an exception)
procedure ShowErrorMsg ; // show current error message
function CaptureErrorMsg : String; // get current error message هذه الطرق متوفرة على مستوى العالم ، في وحدة DamUnit أو في اسم الوحدة التي حددتها في خاصية DamunitName.
يمكنك عرض رسائل سريعة مباشرة على الرمز ، فقط كتابة الرسائل والمعلمات التي تحبها.
ستستخدم هذه الطرق حاوية TDAM التي يتم تعريفها على أنها افتراضية . لذلك تحتاج إلى توفير TDAM واحد مع خاصية
DamDefaultتم تعيينها على TRUE .
وظيفة MsgQuest نتائج صحيح إذا تم الضغط على زر نعم ، أو إرجاع خطأ إذا لم يتم الضغط على زر.
تُظهر Method ShowErrorMsg الاستثناء حاليًا. يمكنك استخدام هذا كمحاولة .. بناء الكتلة.
تتيح لك الوظيفة CaptureErrorMsg الحصول على رسالة الخطأ في الاستثناء الحالي. يجب عليك استخدام هذا في Try..exceptly Block.
استثناء مثال على ذلك:
try
DoSomeStuff;
except
ShowErrorMessage; // will show error message dialog using Dam concept
end ; try
DoSaveFile;
except
MsgError( ' Fatal error saving file: %p ' , [CaptureErrorMsg]);
end ; إذا قمت بتحديد حرفي {except} في نص الرسالة ، فسيتم استبدال هذا برسالة الخطأ الحالية:
try
DoSaveFile;
except
MsgError( ' Fatal error saving file: {except} ' ); // don't need to use CaptureErrorMsg function!
end ;يمكنك أيضًا إعادة استثناء:
try
DoSaveFile;
except
raise EDam.Create( ' Fatal error saving file: {except} ' ); // re-raise a new exception with better text message
end ; يمكنك تعيين معلمة RaiseExcept على كائن رسالة السد ، لذلك عندما يتم استدعاء الرسالة ، سيتم جمع استثناء.
تذكر: للاستفادة من موارد السد ، تحتاج إلى تعيين HandleExceptions على كائن حاوية السد. عند إثارة استثناء ، سيقوم DAM بإعداد هذا الاستثناء ويعرض مربع حوار مخصص.
أمثلة:
procedure TestException_Generic ;
begin
raise Exception.Create( ' This is my generic exception ' );
// HTML tags are NOT allowed when using generic exception
end ;
procedure TestException_DamRunTimeCreation ;
begin
raise EDam.Create( ' This is my <b>exception</b> with parameter %p ' , [ ' First parameter ' ]);
end ;
procedure TestException_DamDesignTimeCreation ;
begin
raise EDam.Create(MyCustomMessage, [ ' First parameter ' ]);
// MyCustomMessage represents a TDamMsg object created at design-time
end ;
procedure TestException_DamDesignTimeCreation_ByProperty ;
begin
_MyCustomMessage.Run([ ' First parameter ' ]);
// or
MyCustomMessage([ ' First parameter ' ]);
// MyCustomMessage represents a TDamMsg object created at design-time with property RaiseExcept=True
end ;
procedure TestException_Quick ;
begin
MsgRaise( ' This is my <b>exception</b> with parameter %p ' , [ ' First parameter ' ]);
// This method is for compatibility, but I recommend you to use "raise EDam.Create" instead.
end ;يوجد ملف يسمى damlang.ini (مجلد الموارد) ، والذي يحتوي على جميع الأوتار المستخدمة على المكون. إذا كنت ترغب في تغيير بعض النص على هذا الملف ، فستحتاج إلى تشغيل " Build Dam Resource.Bat " بعد ذلك. ستقوم هذه الدفعة بإنشاء ملف جديد " dam_resource.res " في مجلد مكون الجذر.
بعد ذلك ، يرجى تشغيل " AfterBuild.bat " لنشر ملف الموارد الجديد هذا إلى مجلد "lib".
إذا كنت ترغب في إضافة لغة جديدة ، فستكون هناك حاجة إلى بعض التغييرات في الكود. لذا ، من فضلك ، افتح مشكلة جديدة ونشر سلاسل اللغة التي تريدها ، ثم سأطبق في المكون.
عندما تستخدم إصدارات Delphi أدناه XE8 ، في جميع طرق DAM التي تحتوي على معلمة Tdamparams ، لن تتمكن من تمرير معلمة الصفيف الديناميكية مباشرة.
في مثل هذه الحالات ، استخدم الدالة العالمية DamParams . هذه الوظيفة متوفرة أيضًا في وحدة DAM التي تم إنشاؤها تلقائيًا.
لذا ، إليك بعض الأمثلة على كيفية استخدام طريقة رسالة السد في هذه الإصدارات:
// Quick message:
MsgInfo( ' This is a test message with parameter value = %p ' , DamParams([ 999 ]));
// Custom message:
MyCustomMessage(DamParams([ ' Parameter 1 ' , ' Parameter 2 ' ]));جاء تصميم هذا المكون في حوالي عام 2005 عندما راجعت الحاجة إلى إنشاء مربعات حوار موحدة لتطبيقاتي.
في ذلك الوقت ، اتصلت بمكون "Dialog Better" ، والذي سيكون في البرتغالية DM ( Diálogo Melhor ).
بعد فترة من الوقت ، أصبح المشروع يحتوي على بنية جديدة مع الحاوية. ثم قمت بإعادة تسمية المكون إلى "مربع حوار أفضل" ، والذي هو في البرتغالية هو السد ( Diálogo Ainda Melhor ). ؟
لذلك انتهى اسم المكون بالبقاء سد.
اليوم أستخدم هذا المكون في جميع تطبيقات Delphi تقريبًا.