بسم الله الرحمن الرحيم
اكثر ما يعوق برامجي ..هو طريقة عمل Alias لقواعد المعطيات بدون استخدام برنامج تنصيب
اي يكون برنامجي Portable اينما تنسخ المجلد الذي يحتوي قاعدة البانات والبرنامج..يعمل البرنامج..
هل توجد طريقة لعمل مسار قاعدة البيانات ديناميكية؟؟:confused:
ولو فكرنا سوية سنخرج بإذن الله بحل يرضي جميع المبرمجين
بعد بحثي بالنت..وجدت طريقة باستخدام ال Registry ..لكنها لم تفلح معي؟؟
هل اجد من يعاني من مثل مشكلتي..ووجد طريقا لحلها؟؟
بإمكانك إستعمال متغير
Variable من نوع
String في أي
Form تحتوي على قاعدة بيانات
DB على الشكل التــالي:
نضغط مرتين في الفورم
FormCreate ونكتب ما يلي:
كود :
Var Alias:String;
Begin
Alias:=ExtractFilePath(Application.exename);
Table1.databasename:=Alias;
Table1.active:=True;
end;
هذا في حالة ما إذا كانت قاعدة البيانات في نفس مسار الملف التنفيذي
EXE
أما إذا كانت في ملف منفرد فنضيف إسم الملف مباشرة بعد الإجراء الأول +
وقبل التنفيذ يجب أن تكون الخاصية Active للـ Table = False
مع إعطاء
TableName قيمتها مثل
employer.db
معظم برامجي كنت أعملها بالشكل نفسه
مثال بسيط عن الشيئ الذي ذكرته في المرفقات

جزاك الله كل الخير..وأسعدك مثلما أسعدتني بردك..
فعلا فكرة رائعه وبسيطة جدا..
سأجربها..ولي عودة إن شاء الله
أخي الكريمdelphi4ever ..جربت طريقتك وكانت ناجحة جدا..
ولكن ماكان يواجهني أن قاعدة بياناتي كانت أكثر من 30 جدول وأستعلام..وتطلب الأمر مني مجهودا ..
كل الشكر لك..ولمساعدتك
DeltaAziz كتب :
كيف يمكنك إضافة إسم مستعار Alias برادوكس بالدلفي
جزاك الله كل الخير أخي الكريم..
فعلا طريقة الأخ مهدي كانت هي الحل الأمثل والأسرع..
وخاصة لقواعد البيانات الضخمة ..
لكن تطلب الأمر حذف الاسم المستعار في كل مرة يقلع فيها البرنامج..وإنشاءة مرة أخرى..حتى يكون البرنامج Portabl
كل الشكر لهذا المنتدى الرائع..
merouane كتب :كما يمكن الاسغناء عن alias ، وذلك بالعمل مباشرة مع اتجاه الملف
ماذا لو أردت أن يعمل برنامجك من القرص الليزري..أو المرن..أو حتى من الفلاشه..
الطريقة السابقة كانت الحل الأمثل..
جربها ولن تندم..فهي تعطي برنامجك الكثير من القوة والسلاسة..والسهولة في التعامل مع المستخدم
حتى بدون تنصيب للبرنامج..
كل الشكر لمداخلتك أخي الكريم
كيف يمكن الاسغناء عن Alias ، وذلك بالعمل مباشرة مع اتجاه الملف "C:\MyProgramme\Datas\Base1.db"