منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : درس سريع - للمبتدئين التعامل مع App.path لتثبيت المسار
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كاتب الموضوع : أحمد جمال


[SIZE=5]للمبتدئين : التعامل مع App.path
[/SIZE]


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 العديد من الفوائد التي لا يتسع المجال لذكرها ، ومنها مثلاً إنهاء البرنامج إذا لم يكن يعمل من القرص المدمج ، واستخدامها في أوامر حفظ البيانات واسترجاعها ، ومنع تشغيل أكثر من نسخة .... الخ

لكن ينبغي التنبه إلى أن App.path قد تعطينا C:\Ahmed أو C:\Ahmed\ ولتلافي هذه المشكلة نقوم بالتالي :

كود :
Dim Folder
Folder = App.path
If Right(Folder,1) <> "\" then Folder = Folder & "\"
هنا قمنا بتعريف متغير وخزنا فيه مسار البرنامج ، واختبرناه ، فإذا كان آخر حرف من اليمين لا يساوي \ فإننا نقوم باضافتها إليه .


وهكذا نتعامل مع الناتج والمخزن في المتغير Folder كأنه يحتوي على \ مباشرة ، ولذا لا حاجة لكتابتها قبل كتابة اسم الملف .


بالتوفيق للجميع .
والسلام عليكم ورحمة الله وبركاته .

كاتب المشاركة : muttardi

أخي الكريم .. أحب التعقيب على كلامك في نقطة .. أنا غالباً ما أستخدم متغير بالطريقة التي ذكرتها

كود :
Dim Folder
Folder = App.path
If Right(Folder,1) <> "\" then Folder = Folder & "\"
ولكن تصحيحاً لكلامك .. العملية ليست عشوائية في إنه بعض الأحيان تكون الشرطة المائلة \ موجودة وأحياناً غير موجودة ..فهي في العادة دائما غير موجودة ما عدا في حالة واحدة وهي إذا كان الملف على Root لأحد الأقراص ... يعني مثلا C:\ D:\ F:\ ... etc