كيف حفظ قادة البيانات في مجلد داخل البرنامج
#1
السلام عليكم ورحمة الله تعالى وبركاته

لقد وضعت هذه المحاولة لكن لم تنجح معي
وكل ما احتاجه هو كيف اضع قاعدة البيانات في مجلد معين موجود داخل مجلد البرنامج وكيف استدعيها منه
قاعدة البيانات المستعملة ABSOLUTE DATABASE DELPHI7
هذا الكود للحفظ

PHP كود :
procedure TFormArch.BitBtn2Click(Sender: TObject);
var 
Pdir:string;
begin
Pdir
:='MdgArch';// هذا إسم مجلد الأرشيف الموجود داخل مجلد البرنامج
Sleep(200);
DModule.OnDestroy(sender);
if 
DirectoryExists('MdgArch') then
begin
في هذا الكود أردت أن أقول إذا كان هذا المجلد موجود انسخ هذه القاعدة بداخله
copyfile
(pchar('BaseTest.ABS'),pchar(ComboBox1.Text+SpinEdit1.text),false);
end else begin
CreateDir
(Pdir);// لإنشاء مجلد الأرشيف 
///////////////////////////////////////////////////////
end;
DModule.OnCreate(sender);
Sleep(500);
Close;
end; 
وهذا الكود للإسترجاع

PHP كود :
procedure TRestoreBase.BitBtn1Click(Sender: TObject);
begin
Sleep
(200);
DModule.OnDestroy(sender);
copyfile(pchar(ComboBox1.Text+SpinEdit1.text),pchar('BaseTest.ABS'),false);
DModule.OnCreate(sender);
Sleep(500);
Close;
end; 
علما بأن هذه الأكواد تعمل داخل مجلد البرنامج فقط
وليس داخل مجلد فرعي بمجلد البرنامج
الرد
#2
السلام عليكم
إقتباس :...داخل مجلد فرعي بمجلد البرنامج...
لم افهم جيدا المقصود من السؤال مع ذلك جرب تعديل
كود :
Pdir:='.\MdgArch\03';
حيث 03 مجلد فرعي داخل المجلد MdgArch
النقطة بأول المسار هي المجلد الحالي - فرضا مكان تنفيذ البرنامج
غير ايضا
كود :
ForceDirectories(Pdir);
ولا تنسى اضافة الوحدة FileCtrl الى قائمة الuses

الرد
#3
B.M.AbdelAziZ كتب :
لم افهم جيدا المقصود من السؤال مع ذلك جرب تعديل
اشكرك استاذي الكريم
بالنسبة للمكونين المضيفين في حفظ قاعدة المعطيات فهم لاختار الشهر والسنة المراد الحفظ بهم حتى تصبح قاعدة المعطيات محفوظة باسم على سبيل المثال " DECEMBRE2012"
اما بالنسبة للمجلد الرئيسي الموجود به الملف التنفيذي وقاعدة البيانات فاسمه " MedReg"
والمجلد الذي ارغب في حفظ قاعدة البيانات فيه اسمه "MdgArch "
ليصبح ملف قاعدة البيانات محفوظ بالمسار " Medreg\MdgArch\DECEMBRE2012"
لقد عدلت الكود حسب ما تفضلت علي لكن لم انجح
وهذا هو التعديل
كود :
procedure TRestoreBase.BitBtn2Click(Sender: TObject); var Pdir:string; begin Pdir:='.\MdgArch'; CreateDir(Pdir); Sleep(200); if DirectoryExists('MdgArch') then begin DModule.OnDestroy(sender); copyfile(pchar('BaseTest.ABS'),pchar(ComboBox1.Text+SpinEdit1.text),false); end else begin ForceDirectories(Pdir); end; DModule.OnCreate(sender); Sleep(500); showMessage('ÊãÊ ÚãáíÉÇáÃÑÔÝÉ ÈäÌÇÍ'); Close; end;
الرد
#4
شكرَا استاذي
لقد حلت المشكلة
وجزاكم الله عنا كل خير
الرد
#5
السلام عليكم
تواجهني مشكلة في اعتماد هذه الريقة التي سبق لي ذكرها مع الويندوز 7
لكن لا أظن ان المشكلة في admin لآن البرنامج يعمل بشكل جيد وعادي لكن هناك ملاحظة
لدي قاعدتين باليرنامج واحدة تحفظ عادي والاخرى لا تحفظ
وهذه الظاهرة الا في الويندوز 7
اتمنى لو كانت هناك طريقة اخرى لحفظ واسترجاع قاعدة البيانات من نوع ابسوليت افدنا بها وجزاكم الله عنا كل خير
الرد
#6

هل لديك صلاحيات بالمجلد ؟
من الاحسن ان تستخدم مسار الملف كاملا عند النسخ
الرد


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


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