النسخة النهائية من "Delphi: Complete Chinese" (تم نشرها في العدد السابع والثلاثين من "Home Computer"، من فضلك سامحني على الزجاجة الجديدة!)
شيان ليانغ مينغ
-------------------------------------------------- ----------------------------------
قبل كتابة هذا المقال، كان لدي مثل هذه الفكرة القذرة: لا ينبغي لي "تسريب" هذه الخدعة للآخرين! ومع ذلك، أخبرني ضميري على الفور أنه لا ينبغي أن يكون لدي مثل هذه الفكرة، لذلك يمكن اعتبارها على الفور كملحق للمقال الأخير "دلفي: الصينية الكاملة"، ويمكن اعتباره بمثابة مكافأة لضميري!
الآن دعنا نصل إلى النقطة: كما تعلمون جميعًا، عندما نتعامل مع رسائل دلفي الخاصة (أشير هنا إلى جميع الرسائل الواردة من دلفي نفسها، بما في ذلك مربعات حوار نظام دلفي، ومطالبات الاستثناء، وما إلى ذلك)، فإن النهج العام الذي نتبعه هو "التقدم على دلفي"، أو تعطيل وظيفة النظام واستخدام طريقتنا الخاصة للتعامل معها، وذلك لتزويد المستخدمين باللغة الصينية النقية ومع ذلك، لا يمكن التنبؤ بكل هذا بشكل شخصي إلا بناءً على خبرة المبرمج الحالية! قد لا يتم حلها في أي وقت بشكل كامل أو حتى لا يتم التعامل معها على الإطلاق. فقط تخيل: إذا ظهرت بعض المطالبات باللغة الإنجليزية أثناء استخدام المستخدم، فهل ستنخفض "درجة" برنامجك بشكل كبير؟
لذلك، يجب علينا أيضًا البحث عن طريقة أكثر مثالية وشمولاً، على الأقل، عندما تظهر أخطاء في البرنامج، يمكن للمستخدمين العاديين فهم المطالبات (وهذا لا يعني أنه يمكنك فعل ما تريد لحسن الحظ، بعد تكرار المؤلف). المحاكمات، لقد تم العثور على استراتيجية أخرى مضمونة، يرجى الاستماع إلي وأنا أشرحها أدناه (فقط إذا كان إصدار دلفي الخاص بك يحتوي على كود مصدر VCL - أي الإصدار الاحترافي أو إصدار المؤسسة):
0. قم بعمل نسخة احتياطية من كود مصدر VCL الخاص بـ Delphi (الدليل بشكل عام هو "X:PRogram FilesBorlandDelphi4SourceVcl"). بالطبع، حسب الحاجة، يمكنك أيضًا عمل نسخة احتياطية لعدد قليل من الملفات التي نحتاج إلى تعديلها؛
1. افتح BdeConst.pas، وConsts.pas، وBdeConst.pas، وDbConsts.pas، وmidconst.pas، وmxConsts.pas، وOleConst.pas، وWebConst.pas وملفات الوحدات الأخرى في دليل VCL في بيئة دلفي يتم تعريف الملفات
يحدد الثوابت التي تستخدمها دلفي.
2. "ترجمة" ثوابت السلسلة التي حددتها دلفي إلى لغتنا الأم العظيمة - الصينية؛
3. بعد الانتهاء من عمل "الترجمة"، احفظه حسب اسم الملف الأصلي؛
4. الآن دعونا نجرب نتائجنا، وننشئ مشروعًا جديدًا، ونكتب عمدًا بعض التعليمات البرمجية التي ستؤدي إلى مطالبات النظام، وقبل التجميع، انتقل إلى خيار مسار البحث في صفحة الدلائل/الشروط في مربع الحوار خيارات مشروع دلفي وأضف بحثًا المسار (أي الدليل الذي قمنا فيه للتو بتعديل الوحدة الثابتة) والتأكيد والخروج؛
5. فقط شاهد مستوى الترجمة الإنجليزية الخاص بك!
يلاحظ:
① إذا كان الإصدار الخاص بك هو Delphi 3، فقم بتغيير المسار أعلاه وفقًا لذلك، وستكون الدلائل/الشروط في مربع حوار خيارات المشروع هي الدلائل؛
② هذا التغيير في شروط التجميع صالح فقط لهذا المشروع، ويجب إعادة تعيينه بعد إنشاء مشروع جديد. إذا كنت تريد إصلاحه مرة واحدة وإلى الأبد، فيرجى متابعتي:
قم بتشغيل برنامج تحرير تسجيل Windows Regedit.exe، وافتح HKEY_CURRENT_USER->Software->Borland->Delphi->4.0->Library، وأضف "$(DELPHI)SourceVCL". حسنًا إلى إحدى قيم السلسلة "مسار البحث" ، يتحقق الهدف!
فيما يلي الرسالة التي أرسلتها الدالة بعد أن قام المؤلف بتعديل ثوابت الدالةMessageDlg في ملف الوحدة Consts.pas. هذه المرة، ما نراه لم يعد مربع رسائل نصفه إنجليزي ونصف يانغ ، جميلة بما فيه الكفاية؟
...
يبدأ
messageDlg("كيف تشعر؟"+#13#10#13#10+
'هنا أترجم "SMsgDlgInformation" إلى 'رسالة';'+#13#10+
'نتيجة ترجمة "SOKButton" إلى "موافق"!',
mtInformation,[mbok],0);
نهاية؛
...
****أدخل الشكل 4 هنا****
هل الإجراء المذكور أعلاه صادق جدًا؟! في الواقع، يمكننا تخصيص هذه الثوابت وفقًا لرغباتنا الخاصة (طالما وافقت Inprise) لتحقيق تأثير خاص، على سبيل المثال، يمكننا ترجمة "SMsgDlgInformation" إلى عنوان البرنامج الخاص بك أو اسم الاستوديو الخاص بك، وما إلى ذلك. بهذه الطريقة، سيتم عرض شخصيتك غير العادية بالكامل!
هذه هي كل الخبرات والمهارات التي يعتزم المؤلف تقديمها حول "اللغة الصينية الكاملة" لدلفي (سأضع هذه المجموعة بأكملها على صفحتي الرئيسية الشخصية بعد أن أشرح البرنامجين اللذين أملكهما، يرجى الذهاب إلى هناك بعد ذلك) بالطبع، الاتصال هذا "صيني تمامًا" يجعلني أحمر خجلاً، ولكنني آمل حقًا أن ينهي Inprise عصر "حسد" مبرمجي VB في أقرب وقت ممكن!
لا تزال هناك بعض المشاكل، على سبيل المثال: بيئة دلفي باللغة الإنجليزية، ومطالبات وأزرار معاينة التقرير باللغة الإنجليزية أيضًا، وما إلى ذلك. فيما يتعلق بالسؤال الأول، أعتقد شخصيًا أنه ليس ضروريًا، لأنه لا يوجد مبرمج يمكنه حتى فهم القائمة إذا لم تفهم، فإن هدف جهودنا هو المستخدمون؛ وهناك أيضًا حل للمشكلة الثانية، ولا ينبغي تناول هذا الموضوع هنا، لكنني رأيت الكثير من الأشخاص يطرحون هذا السؤال على الإنترنت، لذلك سأقوم بإيجاز ناقشها هنا واسمحوا لي أن أنهي هذا الموضوع بـ:
①تطوير محتوى QuickRep كما هو مطلوب؛
②تقليد وضع المعاينة في QuickRep أو تخصيص QRPreview بنفسك؛
③قم بتعيين QRPrinter الخاص بـ QuickRep إلى QRPrinter الخاص بـ QRPreview في حدث OnPreview الخاص بـ QuickRep
(على سبيل المثال، QRPreview1.QRPrinter:=Quickrep1.QRPrinter;) يمكن أن يحل QRPreview محل QuickRep
وضع المعاينة.
المشرف: ليانغ مينغ
التاريخ: 1999-03-01
البريد الإلكتروني: [email protected]