اعلان

Collapse
لا يوجد إعلان حتى الآن.

التعريب الكامل لتطبيقات فيجوال سي ++ 6.0 ( الجزء الأول)

Collapse
X
 
  • تصنيف
  • الوقت
  • عرض
Clear All
إضافات جديدة

  • التعريب الكامل لتطبيقات فيجوال سي ++ 6.0 ( الجزء الأول)



    تعريب واجهة الاستخدام

    من إعداد نبيل حسين مدير شركة عبور النور
    نقلاً عن مجلة البي سي

    تشرح هذه السلسلة التعليمية، التي ستمتد على أربعة أجزاء، أسلوب التعريب الكامل لتطبيقات فيجوال سي ++. وسنتعلم، في هذا الجزء تكوين تطبيق متعدد الوثائق (Multiple Documents)، كامل التعريب، كما يظهر في الشكل 1. لكن ما سنشرحه ينطبق أيضاً، على التطبيقات التي تعتمد على إطار الحوار الواحد (Dialog based)، أو التطبيقات ذات الوثيقة الواحدة (Single Document). وهذا المقال موجَّه إلى المبرمجين المبتدئين في لغة مايكروسوفت فيجوال سي++(Microsoft Visual C++)، ولا يشترط أن تكون لديك الإصدارة السادسة من لغة فيجوال سي++، حتى تستفيد من هذه السلسلة التعليمية، لأن ما سنذكره ينطبق على الإصدارات الأقدم من هذه اللغة. وننصحك، لتحقق الفائدة القصوى من هذه السلسلة التعليمية، أن تشغل برنامج التطوير بلغة فيجوال سي++، وتطبق ما تقرأه مباشرةً, ولا تنزعج إذ لم تتمكن من فهم كل شيء دفعة واحدة، فلا تنزعج لأنك ستفهم كل شيء، بمرور الزمن، مع كثرة التطبيق والممارسة.

    ما هو التطبيق متعدد الوثائق؟

    هو التطبيق الذي يسمح لك بفتح عدة وثائق ومعالجتها في آن. وخير مثال على ذلك، برنامج وورد 97، أو بيئة تطوير فيجوال سي ++. لا تمكِّنك التطبيقات ذات الوثيقة الواحدة (Single Document)، من جهة أخرى، من فتح أكثر من وثيقة واحدة. وبرنامج "المفكرة" الذي يأتي مع ويندوز، مثال شهير على هذا النوع من التطبيقات.. فهو لا يسمح بتحرير أكثر من وثيقة واحدة في الوقت ذاته، بينما تعرض التطبيقات التي تعتمد على إطار الحوار (Dialog based)، واجهة مؤلفة من إطار واحد، لكنها قد تحتوي على عدة أطر. وبرنامج "الحاسبة"، الذي يأتي مع نظام التشغيل ويندوز، مثال على هذا النوع من التطبيقات.

    تتيح لغة فيجوال سي++ تكوين أي نوع من هذه التطبيقات، بسرعة، باستخدام ويزاردMFC AppWizard exe، الذي يساعد المبرمجين على تكوين الهيكل الرئيسي لواجهة المستخدم للتطبيقات، التي يرغبون في بنائها، وتساعد مكتبة الفئات الأساسية لمايكروسوفت Microsoft Foundation Classes))، المتوفرة مع فيجوال سي ++، على إنتاج تطبيقات محترفة خلال وقت قصير، إذ تتضمن كثيراً من الفئات (Classes)، التي توفر العديد من الوظائف (Functions).

    خطوات العمل

    شغل فيجوال سي ++، واختر (New) من قائمة (File)، ثم انقر على لسان التبويب Projects.

    عيّن الخيار MFC AppWizard (exe)، الموجود ضمن قائمة أنواع المشاريع التي يمكن إنشاؤها.

    اكتب اسم المشروع في الحقل Project Name. يمكن أن تسميه “Arabic MDI”، كما فعلنا. ويمكنك النقر على النقاط الثلاث التي تظهر بجانب الحقل Location لتحديد المسار الذي ترغب أن تحفظ المشروع فيه. انقر على الزر Ok، بعد الانتهاء من الإدخال.

    ستظهر الصفحة MFC AppWizard-Step1، التي تستطيع من خلالها اختيار نوعية التطبيق الذي تريد تكوينه، ولغة واجهة الاستخدام. تدعم لغة فيجوال سي ++ توليد واجهة تطبيق بعدة لغات، لكن العربية ليست واحدة منها، لذا يجب علينا تعريب واجهة استخدام التطبيق يدوياً. حدد الخيار (Multiple Documents)، لأننا نريد تطوير برنامج متعدد الوثائق، ثم انقر على الزر Next.

    ستظهر لك الصفحة MF AppWizard-Step 2-6… اترك الإعدادات كما هي، لأننا لا نريد أن يتضمن التطبيق أي نوع من قواعد البيانات، ثم انقر على الزر Next.

    تستطيع من خلال هذه الصفحة تحديد أن يكون التطبيق الذي تصممه مزوداً (Server) أو حاوياً (Container)، أو الاثنين… لكن، ما المقصود بذلك؟!

    التطبيق المزود (Server)، هو الذي يمكن تشغيله من خلال نافذة التطبيق الحاوي (Container). ومثال على ذلك البرنامجين المعروفين وورد و إكسل، لكن ما قد لا يعرفه الجميع، هو أنه يمكن إدراج وتحرير ورقات العمل (Worksheets) الخاصة ببرنامج إكسل، في برنامج وورد، ويقوم وورد، في هذه الحالة، بدور التطبيق حاوي، بينما يعمل برنامج إكسل كتطبيق مزود. تعمل بعض التطبيقات تعمل كمزود وحاوٍ، كبرنامجي وورد وإكسل أيضاً، حيث يمكن تشغيل إكسل، وإدراج وثائق وورد فيه، والعكس صحيح. لكننا لسنا بحاجة إلى كل هذه التعقيدات، في حالة التطبيق الذي نصممه الآن، لذا سنترك الإعدادات الافتراضية على حالها في الصفحة MF AppWizard-Step 3-6، ثم ننتقل للخطوة التالية، بالضغط على الزر Next.

    تحتوي الصفحة ‎ MF AppWizard-Step 4-6على عدة خيارات مهمة، وإليك الهدف من كل منها:

    Docking toolbar: يمكنك إزالة تحديد هذا الخيار، إذا كنت لا تريد أن يتضمن التطبيق شريط أدوات. (أبق التحديد على هذا الخيار).

    Initial status bar: تستطيع إزالة التحديد عن هذا الخيار، إذا كنت تريد أن لا يحتوي التطبيق على شريط معلومات. (أبق التحديد على هذا الخيار).

    Printing and print preview: تستطيع إزالة التحديد عن هذا الخيار، إذا لم ترغب في أن يحتوي التطبيق على خياري: الطباعة، والمعاينة قبل الطباعة.

    Context-sensitive Help:- تستطيع تحديد هذا الخيار، إذا أردت أن يكوّن الويزارد MFC AppWizard، ملفات مساعدة تخص الأوامر المتوفرة في التطبيق.

    3D controls:- تستطيع إزالة التحديد عن هذا الخيار، إذا لم ترغب في أن تظهر عناصر التحكم (Controls)، والأزرار (Buttons)، بصورة ثلاثية الأبعاد. (أبق التحديد على هذا الخيار).

    MAPI (Messaging API): تستطيع تحديد هذا الخيار، إذا كنت تريد أن يتضمن التطبيق خياراً، لإرسال وثائق البرنامج بواسطة البريد الإلكتروني.

    Windows Sockets:- تستطيع تحديد هذا الخيار، إذا كنت تريد أن يتضمن التطبيق دعماً لمقابس ويندوز (Windows Sockets)، التي تمكن تطبيقك من الاتصال عبر بروتوكول TCP/IP. (لا حاجة لتحديد هذا الخيار)

    يوفر الويزارد MFC AppWizard الذي يأتي مع فيجوال سي ++ 6.0، طريقتين لعرض شريط الأدوات، هما: الطريقة العادية (Normal)، و طريقة Internet Explorer Rebars التي تعرض شريط الأدوات بشكل مشابه لشريط أدوات المتصفح إنترنت إكسبلورر، و فيجوال ستوديو، وأوفيس 97… ويسمى هذا النمط أيضاً، Flat Style. ويمكن اختيار أي من النمطين حسب رغبتك. عليك أن تنقر بعد ذلك، على الزر Advanced، ثم تعين شريط Windows Styles، ثم تحدد الخيار Maximize ضمن المجموعة Main Frame styles، وتحدد الخيار ذاته ضمن المجموعة MDI child frame styles، كي يظهر البرنامج والوثيقة المفتوحة لدى تشغيل التطبيق، على الشاشة كاملة. وانقر بعد ذلك، على الزر Next.

    اترك الإعدادات في الصفحة MF AppWizard-Step 5-6، على وضعها الافتراضي، فهذا يجعل بيئة لغة فيجوال سي ++، تضيف تعليقات ضمن سطور البرنامج، تساعدنا على فهمه، ويسمح باستخدام مكتبة وظائف MFC كملف DLL، مشترك، ويخفض ذلك حجم الملف التنفيذي النهائي للتطبيق الناتج، لكن، يجب في هذه الحالة توزيع لملف MFC42.DLL مع التطبيق بعد اكتماله. أما إذا كنت تريد استخدامها كمكتبة مرتبطة ستاتيكياً، فلا حاجة لتوزيع الملف المذكور مع التطبيق، لأن تلك المكتبة ستكون ضمن الملف التنفيذي ذاته. انقر على الزر Next، للانتقال إلى الصفحة الأخيرة.

    تعلمنا الصفحة الأخيرة MF AppWizard-Step 6-6 بأسماء الفئات (Classes) التي كونتها فيجوال سي++. انقر على الزر Finish، فتظهر النافذة New Project Information، الذي يتضمن معلومات عن المشروع الذي أنشأناه. انقر على الزر OK.

    تنفيذ البرنامج

    سيظهر الأمر Built Arabic MDI.exe في القائمة Built، إذا كنت سميت المشروع بالاسم الذي اقترحناه، وإلا سيظهر الاسم الذي أطلقته عليه، في هذا الأمر والأوامر التي سنذكرها تالياً. انقر على هذا الأمر، أو اضغط على المفتاح F7، فيعمل مترجم فيجوال سي++، على فحص البرنامج، والتأكد من خلوِّه من الأخطاء، ثم يكون الملف التنفيذي للبرنامج، ضمن الدليل ..\Arabic MDI\Debug، يمكنك عندها، تنفيذ البرنامج، بالنقر على الأمر Execute Arabic MDI.exe، أوبالضغط على المفتاحين CTRL+F5، كي يبدأ المترجم بتنفيذ البرنامج. وسترى العجائب! فعلى الرغم من أنَّ الخطوات التي نفذناها بسيطة، إلا أن بيئة لغة فيجوال سي++ أنشأت تطبيقاً كاملاً يتضمن العديد من الوظائف والأدوات. يمكن أن تجرب بعض تلك الأدوات، لترى أنها تعمل جيداً، ولا توفر بيئة فيجوال سي ++ تلقائياً، قابلية تكوين تطبيقات بواجهة استخدام عربية، وهو ما يجعلنا ننفذ ذلك يدوياً.

    تعريب القوائم

    اضغط على لسان التبويب “Resource View”، الموجود أسفل إطار مساحة العمل، ثم انقر نقراً مزدوجاً على المجلد “Arabic MDI resources”، فتظهر موارد البرنامج. افتح المجلد “Menu”، بالنقر عليه نقراً مزدوجاً، أو بالنقر على العلامة "+"، فيظهر بندان فرعيان، هما:

    IDR_MAINFRAME [English (U.S.)]
    IDR_ARABICTYPE [English (U.S.)]

    ولغة القوائم، كما تلاحظ، هي الإنجليزية، وعلينا تغييرها كي يتم عرض الحروف العربية. ويتم ذلك بالنقر بالزر الأيمن للماوس على البند IDR_ARABICTYPE ، واختيار Properties، من القائمة المنسدلة الظاهرة، ثم اختيار Neutral Sys. Default، من القائمة المنسدلة Language، الموجودة في النافذة Menu Properties الظاهرة. ونطلب بهذا، من البرنامج، الاعتماد على لغة النظام في قوائم التطبيق الناتج، وستظهر الحروف العربية، في هذه الحالة، فقط على الحواسيب التي تعمل بنظام التشغيل ويندوز المعرب، أو الداعم للعربية. ويقع بعض المبرمجين المبتدئين في خطأ عدم تحويل لغة واجهة الاستخدام إلى Neutral Sys. Default، وهو ما يجعل الحروف العربية تظهر مشوهة. عليك تكرار الأمر ذاته مع بقية بنود موارد البرنامج “Arabic MDI resources”، أي Dialog، وString Table، …الخ.

    ارجع، بعد ذلك، إلى البند IDR_ARABICTYPE، ثم انقر نقراً مزدوجاً على القائمة File، فيظهر الإطار Menu Item Properties. غيّر قيمة المستطيل “Caption” من “&File” إلى "&ملف
    تبسمك في وجه أخيك صدقة

  • #2

    تعليق

    تشغيل...
    X