تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
درس سريع - للمبتدئين التعامل مع App.path لتثبيت المسار
#1
كاتب الموضوع : أحمد جمال


[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 كأنه يحتوي على \ مباشرة ، ولذا لا حاجة لكتابتها قبل كتابة اسم الملف .


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

}}}
تم الشكر بواسطة:
#2
كاتب المشاركة : muttardi

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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  درس سريع لاكنه مفيد princeofislam 1 2,021 28-06-19, 12:56 AM
آخر رد: سعود
  كيفية التعامل مع دوال الوقت و التاريخ و كيفية تنسيقهما فى الفجوال بيسك 6 the viper 9 11,258 22-11-18, 01:13 PM
آخر رد: next
  سلسلة دروس الحماية ( للمبتدئين , المتوسطين , المتقدمين ) + تطبيقات جاهزة للاستخدام Ahmad Jawad 6 7,496 02-06-16, 11:45 AM
آخر رد: CLARO
  من المنتدى القديم - للمبتدئين كل ما تريد معرفته عن الوقت والتاريخ والأدوات المتعلقة RaggiTech 1 3,657 06-03-15, 04:29 AM
آخر رد: abulayth
  درس سريع - التعامل مع الآسكي Ascii RaggiTech 0 3,348 14-10-12, 02:21 PM
آخر رد: RaggiTech
  درس سريع - اللغة العربية في فيجوال بيسك RaggiTech 0 4,590 14-10-12, 02:19 PM
آخر رد: RaggiTech
  فيجوال بيسك - التعامل مع قاعدة بيانات أكسيس من خلال Dao - الجزء الثالث والرابع RaggiTech 1 5,762 14-10-12, 02:11 PM
آخر رد: RaggiTech
  فيجوال بيسك - التعامل مع قاعدة بيانات أكسيس من خلال Dao - الجزء الأول والثاني RaggiTech 1 10,622 14-10-12, 02:06 PM
آخر رد: RaggiTech
  للمبتدئين - كيفية عمل Setup بالبرنامج المرفق مع الفيجوال بيسك RaggiTech 0 8,304 14-10-12, 02:00 PM
آخر رد: RaggiTech
  من المنتدى القديم - كائن الطباعة للمبتدئين RaggiTech 0 2,797 14-10-12, 01:44 PM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم