delphi4arab منتديات دلفي للعرب
كيف يتعرف البرنامج على قاعدة المعطيات اينما وجدت - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف يتعرف البرنامج على قاعدة المعطيات اينما وجدت (/showthread.php?tid=9032)



كيف يتعرف البرنامج على قاعدة المعطيات اينما وجدت - bouh25 - 30-11-2017

واجهتي مشكلة عند تغيير محرك او مجلد البرنامج  لا يتعرف البرنامج على قاعدة المعطيات ارجو من الاخوة اعطائنا توضيحات حول هذه المشكلة او طرح مثال لتعم الفائدة ( قاعدة المعطيات المستعملة Access


RE: كيف يتعرف البرنامج على قاعدة المعطيات اينما وجدت - AX302 - 30-11-2017

يمكنك استعمال ExtractFilePath


RE: كيف يتعرف البرنامج على قاعدة المعطيات اينما وجدت - bouh25 - 30-11-2017

قمت ببحث على التعليمة و لم افهم


RE: كيف يتعرف البرنامج على قاعدة المعطيات اينما وجدت - أبو معاذ - 30-11-2017

السلام عليكم ،
لا بد من تغيير مسار قاعدة البيانات برمجيا ، استعمل الدالة : ExtractFileDir 
وهذا مثال عند استعمالها :
http://www.delphibasics.co.uk/RTL.asp?Name=ExtractFilePath


RE: كيف يتعرف البرنامج على قاعدة المعطيات اينما وجدت - bouh25 - 01-12-2017

تم الحل و الشكر الجزيل لابو معاذ

(01-12-2017, 08:05 AM)bouh25 كتب : تم الحل و الشكر الجزيل لابو معاذ

مازال المشكل قائم ارجو مثال توضيحي اذا امكن


RE: كيف يتعرف البرنامج على قاعدة المعطيات اينما وجدت - أبو معاذ - 01-12-2017

السلام عليكم ،
ممكن ارفاق كود الاتصال  كاملا؟
ثم هل قاعدة البيانات موجودة في المسار E:\Person\Base.mdb  ،
أم أنها في مجلد  آخر داخل E:\Person  .


إذا كان في مجلد أخر لا بد من إضافته .
لأن الدالة ExtractFileDir  لا تعطيك إلا مسار الملف التنفيذي.
مثال إذا كان المجلد اسمه Data  و موجود داخل المجلد Person
في هذه الحالة لا بد من كتابة المسار كاملا :
E:\Person\Data\Base.mdb


RE: كيف يتعرف البرنامج على قاعدة المعطيات اينما وجدت - bouh25 - 01-12-2017

(01-12-2017, 03:44 PM)أبو معاذ كتب : السلام عليكم ،
ممكن ارفاق كود الاتصال  كاملا؟
ثم هل قاعدة البيانات موجودة في المسار E:\Person\Base.mdb  ،
أم أنها في مجلد  آخر داخل E:\Person  .


إذا كان في مجلد أخر لا بد من إضافته .
لأن الدالة ExtractFileDir  لا تعطيك إلا مسار الملف التنفيذي.
مثال إذا كان المجلد اسمه Data  و موجود داخل المجلد Person
في هذه الحالة لا بد من كتابة المسار كاملا :
E:\Person\Data\Base.mdb

هذا الملف موجود في E:\Person  اريد ان انقله الى جهاز اخر و بمسار اخر


RE: كيف يتعرف البرنامج على قاعدة المعطيات اينما وجدت - أبو معاذ - 01-12-2017

السلام عليكم ،
مرحبا بك مرة أخرى ،
لنجزئ المشكلة :
1- لا بد من استخراج المسار الكلي باستعمال الدالة   ExtractFilePath  نحتقظ به في متغير نصي و ليكن ThePath
بعد ذلك لا بد من تغيير في الخاصية ConnectionString    الخاصة ب ADOConnection1
وليكن ذلك في الحدث OnCreate  للفورم الرئيسي :

كود :
procedure TForm1.FormCreate(Sender: TObject); var ThePath : String ; begin    Thepath  := ExtractFilePath  (Application.ExeName);    ADOConnection1.Close;    ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+Thepath+'\base.mdb;Persist Security Info=False';    ADOConnection1.Connected := True;    ShowMessage('OK'); end;



RE: كيف يتعرف البرنامج على قاعدة المعطيات اينما وجدت - bouh25 - 02-12-2017

(01-12-2017, 08:09 PM)أبو معاذ كتب : السلام عليكم ،
مرحبا بك مرة أخرى ،
لنجزئ المشكلة :
1- لا بد من استخراج المسار الكلي باستعمال الدالة   ExtractFilePath  نحتقظ به في متغير نصي و ليكن ThePath
بعد ذلك لا بد من تغيير في الخاصية ConnectionString    الخاصة ب ADOConnection1
وليكن ذلك في الحدث OnCreate  للفورم الرئيسي :

كود :
procedure TForm1.FormCreate(Sender: TObject); var ThePath : String ; begin    Thepath  := ExtractFilePath  (Application.ExeName);    ADOConnection1.Close;    ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+Thepath+'\base.mdb;Persist Security Info=False';    ADOConnection1.Connected := True;    ShowMessage('OK'); end;

لك جزيل الشكر اخي ابو معاذ و جعل الله لكل من كل حرف حسنة