الخارق
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

الخارق

مرحباً بكم في شبكة ومنتديات الخارق
 
الرئيسيةأحدث الصورالتسجيلدخول

 

 للمبتدئين : التعامل مع App.path

اذهب الى الأسفل 
كاتب الموضوعرسالة
هارون

هارون


عدد الرسائل : 54
sms : <!--- MySMS By AlBa7ar Semauae.com --><form method="POST" action="--WEBBOT-SELF--"> <!--webbot bot="SaveResults" u-file="fpweb:///_private/form_results.csv" s-format="TEXT/CSV" s-label-fields="TRUE" --><fieldset style="padding: 2; width:208; height:104"> <legend><b>My SMS</b></legend> <marquee onmouseover="this.stop()" onmouseout="this.start()" direction="up" scrolldelay="2" scrollamount="1" style="text-align: center; font-family: Tahoma; " height="78">$post[field5]</marquee></fieldset></form><!--- MySMS By AlBa7ar Semauae.com -->
تاريخ التسجيل : 14/02/2008

للمبتدئين : التعامل مع App.path Empty
مُساهمةموضوع: للمبتدئين : التعامل مع App.path   للمبتدئين : التعامل مع App.path Icon_minitimeالأحد فبراير 17, 2008 1:39 am

App.path تعني مسار البرنامج ، وهي تستخدم للحصول على مسار المجلد الذي يوجد فيه البرنامج .
فمثلاً إذا كان لدينا برنامج في C:\New فهذا هو مسار البرنامج والذي يمكننا الحصول عليه باستخدام App.path
وللتجربة يمكنك الحصول على مسار برنامجك بواسطة أمر هكذا :

code: Msgbox App.path

وسترى أنه يعطيك مسار المجلد الذي تحفظ فيه المشروع .
الفائدة من ذلك هو تلافي مشكلة تغير المسارات من جهاز لآخر ، فمثلاً في برنامج للصور ضع جميع الصور في نفس مجلد البرنامج ، ولتحميل صورة مثلاً اسمها PP1 وامتدادها Bmp اكتب :

code: Picture1.Picture = Loadpicture(App.path & "\PP1.Bmp")

ويمكنك أيضاً إنشاء مجلد جديد في نفس مجلد البرنامج وتسميه مثلاً Image وتضع فيه الصور ، وبذلك يصبح أمر تحميل الصور بالشكل التالي :

code: Picture1.Picture = Loadpicture(App.path & "\Image\PP1.Bmp")

وليست الصور هي كل ما نستخدم فيها App.path بل كل شيء ، فمثلاً لتشغيل ملف مفكرة ملحق بالبرنامج نضعه في مجلد البرنامج ونكتب :

code: Shell "notepad.exe" & " " & App.path & "\RedMe.txt", vbNormalFocus

ولنسخ نفس البرنامج نستخدم الأمر التالي :

code: Filecopy App.path & App.EXEName , "C:\Ahmed"

وهكذا ، وتوجد لـ App العديد من الفوائد التي لا يتسع المجال لذكرها ، ومنها مثلاً إنهاء البرنامج إذا لم يكن يعمل من القرص المدمج ، واستخدامها في أوامر حفظ البيانات واسترجاعها ، ومنع تشغيل أكثر من نسخة .... الخ

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

code: Dim Folder
Folder = App.path
If Right(Folder,1) <> "\" then Folder = Folder & "\"

هنا قمنا بتعريف متغير وخزنا فيه مسار البرنامج ، واختبرناه ، فإذا كان آخر حرف من اليمين لا يساوي \ فإننا نقوم باضافتها إليه .
وهكذا نتعامل مع الناتج والمخزن في المتغير Folder كأنه يحتوي على \ مباشرة ، ولذا لا حاجة لكتابتها قبل كتابة اسم الملف .
أخيراً هنا طريقة أخرى قرأتها للأخ المشرف طارق العبيد وقمت بتخزينها لكني لا أتذكر مكانها تحديداً ، ولذلك أوردها هنا ، وهي غير طريقة App.path

quote:
--------------------------------------------------------------------------------
2) استخدام
- Registry
* reading values from Registry by using GetSetting(conAppTitle, conRegistrySection, conRegistryKey)
* writing values to Registry by using SaveSetting conAppTitle, conRegistrySection, conRegistryKey, TqGPath
- Dialog Box , to be able to browse the dirctory to locate your database

1)
Set MyDb = OpenDatabase( App.Path & "\Tareq.mdb")

2)
' Create a Module.bas then add the code showing next

Global TqGPath As String ' تعريف لتعميم اسم و مسار قاعدة البيانات
' تعريفات المشروع لوضعها في الريجستري
Public Const conAppTitle As String = "Tareq Al-Obaid Applications"
Public Const conRegistrySection As String = "DatabaseLocation"
Public Const conRegistryKey As String = "Quality Control"

Sub Main()
Dim i As Integer

On Error GoTo NopathErr

FirstPath:
TqGPath = GetSetting(conAppTitle, conRegistrySection, conRegistryKey)
If TqGPath <> "" Then
Set MYDB = OpenDatabase(TqGPath)
frmLogin.Show
Exit Sub
ElseIf TqGPath = "" Then
MsgBox "This the first time to run this application , Please Specify data path", vbOKOnly, "Welcome to Complain Control application"
GoTo NopathErr
End If
Exit Sub
NopathErr:
' MsgBox "Error : " + Err.Name '+ " " + Trim(Str(Err.Number)) + " " + Err.Description
TqGPath = FindData
SaveSetting conAppTitle, conRegistrySection, conRegistryKey, TqGPath
GoTo FirstPath
End Sub

Function FindData() As String
On Error GoTo ErrHandler

' Configure cmdDialog in case the QC.mdb can't be found.
With frmPath.CmDlg
.DialogTitle = "Can't Find QC.mdb"
.Filter = "(*.MDB)|*.mdb"
End With

'Causes an error if user clicks on cancel
frmPath.CmDlg.CancelError = True
frmPath.CmDlg.ShowOpen
'Make sure user select your aa.mdb Database
Do While UCase(Right(Trim(frmPath.CmDlg.FileName), 6)) <> "QC.MDB"
MsgBox "File Name is not equal to QC.mdb"
frmPath.CmDlg.ShowOpen
Loop

FindData = frmPath.CmDlg.FileName
Exit Function
ErrHandler:
If Err = 32755 Then
End
End If
End Function
------------------------------------------------------------------
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
للمبتدئين : التعامل مع App.path
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
الخارق :: مواضيع الكبيوتر والإنترنت :: منتدى البرمجة :: منتدى البرمجة بلغة الفجول بيسك-
انتقل الى: