بسم الله الرحمن الرحيم .
هذا الدرس ومجموعة أخرى من الدروس كنت قد اضفتها في منتدى vb4arab تحت اسم ( فتى فيجوال ) قبل اغلاقه .
مقدمة :
ما هي App.path ؟ وماذا نستفيد منها ؟
App.path تعني مسار البرنامج ، وهي تستخدم للحصول على مسار المجلد الذي يوجد فيه البرنامج .
ونحتاج لاستخدام app.path بكثرة خصوصاً في البرامج التي تعتمد على ملحقات ، مثل قواعد البيانات ، والصور ، والملفات النصية .
App.path
فمثلاً إذا كان لدينا برنامج في C:\\New فهذا هو مسار البرنامج والذي يمكننا الحصول عليه باستخدام App.path
وللتجربة يمكنك الحصول على مسار برنامجك بواسطة أمر هكذا :
Msgbox App.path
وسترى أنه يعطيك مسار المجلد الذي تحفظ فيه المشروع .
الفائدة من ذلك هو تلافي مشكلة تغير المسارات من جهاز لآخر ، فمثلاً في برنامج للصور ضع جميع الصور في نفس مجلد البرنامج ، ولتحميل صورة مثلاً اسمها PP1 وامتدادها Bmp اكتب :
Picture1.Picture = Loadpicture(App.path & \"\\PP1.Bmp\")
ويمكنك أيضاً إنشاء مجلد جديد في نفس مجلد البرنامج وتسميه مثلاً Image وتضع فيه الصور ، وبذلك يصبح أمر تحميل الصور بالشكل التالي :
Picture1.Picture = Loadpicture(App.path & \"\\Image\\PP1.Bmp\")
وليست الصور هي كل ما نستخدم فيها App.path بل كل شيء ، فمثلاً لتشغيل ملف مفكرة ملحق بالبرنامج نضعه في مجلد البرنامج ونكتب :
Shell \"notepad.exe\" & \" \" & App.path & \"\\RedMe.txt\", vbNormalFocus
ولنسخ نفس البرنامج نستخدم الأمر التالي :
Filecopy App.path & App.EXEName , \"C:\\Ahmed\"
وهكذا ، وتوجد لـ App العديد من الفوائد التي لا يتسع المجال لذكرها بعيداً عن الخاصية Path ، ومنها مثلاً إنهاء البرنامج إذا لم يكن يعمل من القرص المدمج ، واستخدامها في أوامر حفظ البيانات واسترجاعها ، ومنع تشغيل أكثر من نسخة .... الخ
لكن ينبغي التنبه إلى أن App.path قد تعطينا C:\\Ahmed أو C:\\Ahmed\\ولتلافي هذه المشكلة نقوم بالتالي :
Dim Folder
Folder = App.path
If Right(Folder,1) <> \"\\\" then Folder = Folder & \"\\\"
هنا قمنا بتعريف متغير وخزنا فيه مسار البرنامج ، واختبرناه ، فإذا كان آخر حرف من اليمين لا يساوي \\ فإننا نقوم باضافتها إليه .
وهكذا نتعامل مع الناتج والمخزن في المتغير Folder كأنه يحتوي على \\ مباشرة ، ولذا لا حاجة لكتابتها قبل كتابة اسم الملف .
هناك اسلوب آخر متبع من المبرمجين الذين قد تتنقل برامجهم من مكان لآخر بعيداً عن مرفقاته ، وبدلاً من ازعاج المستخدم باظهار رسالة أن البرنامج لم يعثر على مرفقاته ، أو باظهار مربع حواري يطلب منك ارشاد البرنامج إلى مكان المرفقات ، فإنهم يقومون بتخزين مسار مرفقات البرنامج مرة واحدة في مكان موحد ( قيمة في الريجستري - ملف على C ) ، ومن ثم قراءة هذه القيمة من أماكن مختلفة ،
خاتمة :
تعرفنا في هذا الدرس السريع على بعض تطبيقات App.path .
أسأل الله أن أكون قد وفقت في هذا الدرس ، والله الهادي إلى سواء السبيل .
والسلام عليكم ورحمة الله وبركاته .