الدرس 5 █◄ دورة برنامج multimedia builder - تطبيق أوتوران برامج - جزء 4 - المسارات ( هام جداً )
دورة منتدى طه سوفت في صناعة الأوتوران Autorun ببرنامج MMNB
الدروس السابقة من الدورة :
المقدمة
الدرس الأول : اصنع أول تطبيق لك
الدرس الثاني : تطبيق أوتوران برامج 1
الدرس الثالث : تطبيق أوتوران برامج 2
الدرس الرابع : تطبيق أوتوران برامج 3
السلام عليكم ورحمة الله وبركاته
التعامل مع المسارات
في الدرس السابق أصبح لدينا
ونريد اليوم أن نجعل الأزرار الموجودة في الصورة عند الضغط عليها تشغل ملف تنصيب البرنامج
وقبل أن نكمل حديثنا سنتعرف إلى طريقة تصدير ملف المشروع كملف تنفيذي exe
نضغط على الزر الموضح في الصورة التالية
ثم نتابع تسلسل الأرقام :
بالنسبة للخطوة رقم 2 في الصورة أعلاه نضع أي اسم و هنا فضلت وضع الاسم autorun.exe
ويكون الملف الناتج كما يلي
و الآن لنفترض أن هذا الملف سنضعه في مجلد على القرص C و كان اسم هذا المجلد tahasoft و في داخله ملف autorun.exe السابق و بجانبه مجلد يحوي البرامج
و ليكن داخل مجلد tahasoft مجلد آخر اسمه programs يحوي المجلدات التي تحوي البرامج
أي سيكون الوضع كالتالي:
وليكن داخل كل مجلد برامج ملف تنصيب البرنامج الخاص به
مثلاً ليكن مجلد RealPlayer 11 يحوي داخله ملف
و الآن نريد أن نجعل الزر RealPlayer 11 الموجود في ملف الاوتوران في برنامج MMB
أن يقوم بتشغيل هذا الملف
الحالة العادية تكون كما يلي :
نضغط على نص الزر مرتين فتظهر نافذة خصائص النص Text Properties
ثم نضغط على زر الأحداث Actions كما هو موضح في الصورة :
ثم نتابع تسلسل الضغط على الأزرار كما في الصورة التالية
حيث أنه بعد الضغط على الزر رقم 1 ظهرت النافذة التي فوقها من الزر رقم 2 اخترنا من هذه القائمة الأمر Run وهو الأمر المسؤول عن تشغيل ملف و من رقم 3 نضغط عليه لنحدد مكان
الملف الذي نريده أن يعمل عند الضغط على الزر
حيث سيكون الامر البرمجي كما يلي
Run("c:\tahasoft\programs\realplayer 11\setup.exe","")
ويظهر هنا :
نوافق على ماتبقى من أزرار ok
و نحفظ المشروع ونشغل الملف فنجد أن الزر عند الضغط عليه سيقوم بتشغيل ملف التنصيب السابق ذكره
ولكن !!
نلاحظ أننا لو نسخنا محتويات المجلد tahasoft على قرص CD فإنه سوف يقلع و لكن لن يعمل الزر RealPlayer بشكل صحيح على أجهزة الكمبيوتر الأخرى رغم أنه كان يعمل على جهاز الكمبيوتر الخاص بنا بشكل نظامي
فما السبب ياترى ؟
إن السبب هو المسار السابق :
Run("c:\tahasoft\programs\realplayer 11\setup.exe","")
وذلك لأن القرص يحاول البحث عن الملف الذي سوف يشغله ( أي الملف setup.exe )
سوف يحاول البحث عنه كما هي التعليمة لديه أي في المسار C و لكن على أجهزة الكمبيوتر الأخرى لا يوجد على القرص C مجلد باسم tahasoft و داخله بقية الملفات
و هذا ما يجعل القرص يعمل عندنا بشكل صحيح ولكن لا يعمل على أجهزة الكمبيوتر الأخرى لعدم وجود هذا المجلد
ولتفادي هذه المشكلة :
عندما نضع مسار الملف الذي نريده أن يعمل فلا نضعه كما فعلنا سابقاً
ولكن نضعه بالطريقة التالية:
حيث أن التعلمية الملونة باللون الأخضر
\
تكون موجودة افتراضياً فنكتب بعدها مسار ملف تنصيب البرنامج
و الجزء الملون بالأصفر في الصورة أعلاه هو المسار بدءاً من مكان وجود الملف autoran.exe
وبذلك عند تشغيل القرص على أي كمبيوتر آخر فإنه سيبدأ البحث من الملفات المجاورة لملف الاوتوران دون أن يعتمد على القرص و اسمه و مكان وجوده
وهذه الطريقة في وضع المسارات يجب الاعتماد عليها لكي يعمل الأوتوارن بشكل نظامي عند نسخه على قرص مضغوط CD أو DVD
هناك طريقة أخرى لعمل المسارات بالطريقة التي ذكرت بشكل كامل
مثلاً لنفرض أننا لم نضع المسار باستعمال
لكن تركناه بالطريقة
Run("c:\tahasoft\programs\realplayer 11\setup.exe","")
عندئذ يمكننا تصحيح كل المسارات بعد انتهاء المشروع بالكامل بالطريقة التالية:
نفتح القائمة progect " المشروع " ثم نختار path replace " استبدال المسارات "
في القسم رقم 1 اخترنا script و في القسم رقم 2 كتبنا
c:\tahasoft\
و تحتها نجد أنه كتب افتراضيناً
\
و عند الضغط على الرقم 3 يتم استبدال كل مسار فيه
c:\tahasoft\
بـ
\
و بذلك تصبح المسارات نسبية و ليست مطلقة
وهذان مصطلحان معروفان في عالم البرمجة و البرامج و الانترنت
فالمسار المطلق : هو المسار الذي يبدأ من بداية القرص أو الموقع أو ..
مثل المسار
Run("c:\tahasoft\programs\realplayer 11\setup.exe","")
حيث هذا المسار بدء من بداية القرص C
أما المسار النسبي فهو يبدأ من مكان داخلي
مثل:
\programs\realplayer 11\setup.exe
آمل أن يكون الدرس واضحاً
و أتمنى رؤية تطبيقاتكم كملفات mbd
والله انك مبدع وعم تتعذب كتير بهالشرح
جزاك الله الف الف خير اخي طه
أنتظر الدرس القادم بلهفة
وهذا مشروع تلميذك أستاذي الفاضل زهير
مقسم لثلاث أجزاء
http://www.mediafire.com/?ojyjydzjmzv
http://www.mediafire.com/?kwzzeniwwyi
http://www.mediafire.com/?lgnjjzdgzto
كلمة روعة قليلة
احسنت اخي الحبيب طه
ونفع الله بكم
بالنسبة لسؤال الأخ waddahkh
رح خلي شرح هذه الفكرة للدرس القادم ان شاء الله
بارك الله فيك
على هذا الجهد الطيب والبذول في هذه الدورة