بسم الله الرحمن الرحيم
من الأمور التي تدعم العلاقة بين المستخدم وبين التطبيق، نظام جيد للمساعدة أو التعليمات، يسترشد به المستخدم في التعرف على وظيفة التطبيق، ووظائف أجزائه المختلفة. أحياناً، يكون هذا النظام على هيئة ملف أو مجموعة ملفات مستقلة، كأنها مستند أو كتيب خارجي يشرح التطبيق وكيفية الاستخدام، كما أن من أهم وأفضل أنواع المساعدة هي تلك التي تضمن في تصميم واجهة المستخدم، مثل التسميات المعبرة لعناصر الواجهة، ومثل الترتيب المنطقي المتوقع لهذه العناصر. هناك نوع آخر من المساعدة يسمى context-sensitive help، أو المساعدة الموضعية، حيث يستطيع المستخدم معرفة بعض المعلومات عن عمل عنصر ما بينما يكون التركيز على ذلك العنصر. في الأكسس مثلاً، يمكن أن يكون ذلك عبر ضغط زر F1 على سبيل المثال، أو عبر استخدام علامة الاستفهام المجاورة لزر الإغلاق في شريط العنوان.
فيما يلي مثال بسيط على طريقة لتنفيذ هذا النوع الأخير من المساعدة...
برنامج HTML Help Workshop من مايكروسوفت يتيح إنشاء ملفات مساعدة مستقلة (مثل كتيب إلكتروني) بامتداد chm. هذا الملف يجمع عدداً من ملفات Html التي تحوي مادة التعليمات، وقد يحوي قسماً للفهرس والمحتويات حتى يسهل الوصول إلى الصفحات المختلفة. تجد شرحاً لطريقة إنشاء مثل هذه الملفات بواسطة هذا البرنامج في موضوع شرح: طريقة إنشاء ملف تعليمات... (أبو رهف)، وفي موضوع هدية .. شرح برنامج HTML Help Workshop (أحمد الحربي).
في هذا الموضوع، أتطرق إلى ربط الصفحات المختلفة في ملف المساعدة بعناصر مختلفة في النماذج، بحيث يجد المستخدم عند الضغط على زر F1 أو باستخدام علامة الاستفهام، صفحة مختلفة مناسبة للعنصر الذي يقع عليه التركيز حالياً. الخطوط العامة هي كالتالي:
بعد استخدام البرنامج HTML Help Workshop في إنتاج ملف chm، يكون الناتج النهائي الذي نحتاج إلى وجوده في بيئة المستخدم النهائي هو:
1. ملف الأكسس mdb (أو mde) الذي يمثل قاعدة البيانات والتطبيق معاً.
2. ملف المساعدة chm.
في ملف الأكسس، الأمر بسيط للغاية ومباشر؛ فقط نحتاج إلى إعداد خاصية واحدة لكل عنصر تحكم نرغب بتوفير بعض التعليمات المناسبة له، وخاصية واحدة للنموذج (وهي التي تربط النموذج ككل بملف المساعدة chm)، كالتالي:
الذي يبقى هو كيف نجهز ملف المساعدة chm بحيث يحوي صفحات التعليمات لكل عنصر، ويحوي طريقة لربط هذه الصفحات بأرقام فريدة نستطيع استخدامها فيما بعد في الخاصية Help Context Id (معرف سياق التعليمات). يتم ذلك كالتالي:
1. قم بإعداد صفحات Html تحوي التعليمات التي ترغب أن يراها المستخدم، صفحة لكل عنصر. تستطيع أن تقوم بذلك بسهولة بالغة من برنامج الوورد Ms Word. قم بكتابة موضوع في ملف وورد، ثم:
File > Save As Web Page
ثم احرص على أن تختار نوع الملف كما في الشكل التالي:
في حالتي أنا مع المثال المرفق، قمت بإعداد ثلاثة ملفات htm لكل من مواضيع المفتاح الأساسي والمفتاح الأجنبي والعلاقات.
2. قم بتثبيت البرنامج HTML Help Workshop (خطوة غير متوقعة... أليس كذلك؟).
3. افتح البرنامج (أنا أمزح الآن بالطبع... يمكنك أن تعمل بالبرنامج وهو مغلق إذا أردت :) ).
4. اتبع هذا التسلسل حرفياً:
قائمة ملف New ثم Project ثم Ok ثم Next ثم اسم ومسار لملف المشروع (مثلاً HelpExample1) ثم Next ثم Next ثم Finish
(مع الاعتذار لمحبي الصور :) ).
5. من المفترض أن تكون الآن قد وصلت إلى هذه المرحلة:
6. اضغط على زر Add/Remove topic files، وهو الزر الثاني من أعلى من شريط الأزرار العمودي على اليسار، ثم من النافذة التي تظهر، اختر Add، ثم ملفاً من ملفات Html التي أعددتها في الخطوة الأولى، ثم Open، كالتالي:
كرر هذه العملية على عدد ملفات html التي عندك، ثم اضغط Ok فتحصل على شيء كهذا:
7. الآن، بواسطة برنامج المفكرة، أنشئ ملفاً نصياً اعتيادياً (لكن باللاحقة h وليس txt) يحوي الأسطر التالي:
الغرض من هذا الملف (الذي يسمى Header File) هو تعريف ثوابت (مثل HID_PKEY) بأرقام فريدة. هذه الأرقام هي التي سنعينها في خصائص العناصر، وتلك الثوابت هي التي سنربطها بملفات Html السابق كما يلحق بعد قليل بإذن الله. انتبه عند حفظ هذا الملف ألا تحفظه بنوع نص txt (في خانة Save As Type أو حفظ كنوع، لا تختر النوع Text Document وإنما اختر All Files واكتب بعد اسم الملف اللاحقة h، مثل hdrExample.h).
8. ارجع إلى ملف المشروع في برنامج HTML Help Workshop، وانقر الزر HtmlHelp API Information (الرابع من الأعلى في شريط الأزرار العمودي على اليسار). من النافذة التي تظهر، وفي تبويب Map، انقر على الزر Header File… ثم اختر الملف الذي أنشأته في الخطوة السابقة، واضغط Ok. قد تصل إلى شيء مثل هذا:
9. انتقل إلى التبويب Alias من نفس النافذة HtmlHelp API information، وانقر على الزر Add، ثم اكتب أحد الثوابت التي كتبتها في الملف ذي اللاحقة h، واختر الصفحة التي تريد أن ترتبط بهذا الثابت، ثم اضغط على Ok. في الشكل التالي، اخترت أنا الثابت HID_PKEY وربطته بالصفحة التي تتحدث عن المفتاح الأساسي PrimaryKey.htm:
كرر العملية من أجل كل الثوابت والصفحات، فتحصل على مثل هذا الشكل. اضغط Ok:
10. انقر على زر Save all files and compile، وهو الزر الأخير في شريط الأزرار العمودي. يقوم هذا الزر بتجميع كل الملفات في ملف chm واحد. من الجيد أيضاً أن تحفظ المشروع بين كل حين وآخر من الزر الذي فوقه. انظر إلى الشكل التالي:
الحقيقة أن الملف الناتج (HelpExample1.chm عندي كما في الشكل السابق)، جاهز الآن للاستخدام من ملف الأكسس، لكن إذا حاول المستخدم فتحه مباشرة من خارج الأكسس فإنه لن يستطيع الانتقال بين الصفحات المختلفة، وسيرى فقط الصفحة الأولى. من أجل توفير آلية لتصفح ملف المساعدة من خارج الأكسس، يمكن أن ننشئ قسماً خاصاً في الملف للمحتويات (مثل فهرس المحتويات في الكتب). اتبع الخطوات التالية:
11. انتقل إلى التبويب Contents في المشروع، ثم اختر إنشاء ملف محتويات جديد، واضغط على Ok، كالتالي:
12. اقبل الاسم الافتراضي لملف المحتويات أو اختر اسماً من عندك (لا يهم، لأن المستخدم لن يرى هذا الملف)، ثم انقر على Save حفظ.
13. من النافذة التي تظهر لك، انقر على زر Insert a file، وهو الزر الثالث من الأعلى في شريط الأزرار العمودي إلى اليسار. من النافذة التي ستظهر، وفي تبويب General، اكتب اسماً مناسباً لبند من بنود فهرس المحتويات في خانة Entry title، ثم انقر على الزر Add. من النافذة التي تظهر بعدها، اختر ملف Html المناسب لهذا البند، كالتالي، ثم اضغط على Ok:
14. اضغط على Ok، ثم كرر كامل العملية من أجل البنود الأخرى. إذا سألك مرة عما إذا أردت أن تحفظ بنداً في البداية، فيمكنك أن تجيبه بلا وأنت رافع الرأس. تحصل في النهاية على شيء مثل التالي:
15. اذهب إلى تبويب Project، ثم احفظ وجمّع المشروع مثل المرة السابقة من الزر الأسفل، فينتج لديك ملفاً إضافياً للمحتويات، ويصبح ملفك الأول قابلاً للتصفح. جرّب ذلك الآن، ولا تنس أن تضغط على زر (إظهار) في ملف chm في الأعلى من أجل إظهار قسم المحتويات.
هذا هو كل شيء. في ملف الأكسس، قم بإعداد الخصائص كما تقدم، وإذا أردت أن تظهر علامة الاستفهام بجانب زر الإغلاق في شريط عنوان النموذج، فقم بإعداد الخاصية Whats this Button للنموذج إلى Yes. لاحظ أنك ستضطر إلى أن تعين الخاصية Min Max Buttons إلى None قبلها.
في الملف المرفق مجلد يحوي كل ملف أكسس مثال، مع كل الملفات التي استخدمت في إعداد المثال، على الرغم من أننا نحتاج في بيئة المستخدم إلى ملفي mdb وchm فقط.
أسأل الله أن ينفع به كاتبه وقارئه وناشره، والحمد لله رب العالمين.
أحمد مبارك الحيقي 1431 هـ (2010 مـ)
