المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
منذ البداية لم اجرب الكود وذلك دائما يسبب نسيان امور صغيرة...
كود :
copyfile(pchar(sPath+'sbase\teste.ABS'),pchar(Pdir+'\'+ComboBox1.Text+SpinEdit1.text),false);
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
المشاركات : 501
المواضيع 136
:
: 11
الإنتساب : Feb 2008
لازالت المشكلة قائمة
فاضريت الى رفع المثال للإطلاع والتعديل
[attachment=3932]
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
المشكل كان بمكان أخر غير الكود....
عدل ما يلي
كود :
procedure TDM.DataModuleCreate(Sender: TObject);
var i:integer;
begin
ABSDatabase1.Open;
for i := 0 to ComponentCount-1 do
if( Components[ i ] is TABSTable )then
(Components[ i ] as TABSTable).Open;
end;
procedure TDM.DataModuleDestroy(Sender: TObject);
var i:integer;
begin
for i := 0 to ComponentCount-1 do
if( Components[ i ] is TABSTable )then
(Components[ i ] as TABSTable).Close;
ABSDatabase1.Close;
end;
وايضا
كود :
procedure TForm1.Button1Click(Sender: TObject);
var sPath,Pdir:string;
begin
sPath:=ExtractFilePath(ParamStr(0));
Pdir:=sPath+'\Archives';
if not DirectoryExists(Pdir) then CreateDir(Pdir);
DM.OnDestroy(sender);
Sleep(200);
copyfile(pchar(sPath+'sbase\teste.ABS'),pchar(Pdir+'\'+ComboBox1.Text+SpinEdit1.text),false);
DM.OnCreate(sender);
Sleep(500);
showMessage('ok');
Close;
end;
procedure TForm1.Button2Click(Sender: TObject);
var sPath,Pdir:string;
begin
sPath:=ExtractFilePath(ParamStr(0));
Pdir:=sPath+'\Archives';
if MessageDlg('إسترجاع',mtWarning,mbOKCancel,0)=mrOK then begin
DM.OnDestroy(sender);
Sleep(200);
copyfile(pchar(Pdir+'\'+ComboBox1.Text+SpinEdit1.text),pchar(sPath+'sBase\Teste.ABS'),false);
Sleep(500);
DM.OnCreate(sender);
ShowMessage('تم');
end else begin
ShowMessage('عذرا');
end;
Close;
end;
ولا تنسى تغيير Connected الى False للمكون ABSDatabase1
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
المشاركات : 501
المواضيع 136
:
: 11
الإنتساب : Feb 2008
لقد تم تجريب الكود لاكن المشكلة لازالت قائمة
يعن قاعدة البيانات لم يتم حفظها بالمجلد archives
المشاركات : 117
المواضيع 1
:
: 38
الإنتساب : May 2017
الكود يشتغل جيدًا, أنت تجرب البرنامج من داخل مجلد Win32\Debug, في حين مجلد قاعدة البيانات خارج هذين المجلدين, أنقل الملف التنفيذي بجانب المجلد sbase حتى يستطيع النسخ. ألم تنتبه لـ:
كود :
copyfile(pchar(sPath+'sbase\teste.ABS'),pchar(Pdir+'\'+ComboBox1.Text+SpinEdit1.text),false);
؟؟!
كود :
sPath := ExtractFilePath(ParamStr(0)); // --> ..\somefolder\Project1.exe --> ..\somefolder
sPath+'sbase\teste.ABS' // ..\somefolder\sbase\test.abs
أظن أنه من الأفضل التريث وقراءة الكود والعمل معه قليلاً قبل السؤال
المشاركات : 501
المواضيع 136
:
: 11
الإنتساب : Feb 2008
(21-02-2019, 10:17 PM)Ben.Ja كتب : الكود يشتغل جيدًا, أنت تجرب البرنامج من داخل مجلد Win32\Debug, في حين مجلد قاعدة البيانات خارج هذين المجلدين, أنقل الملف التنفيذي بجانب المجلد sbase حتى يستطيع النسخ. ألم تنتبه لـ:
كود :
copyfile(pchar(sPath+'sbase\teste.ABS'),pchar(Pdir+'\'+ComboBox1.Text+SpinEdit1.text),false);
؟؟!
كود :
sPath := ExtractFilePath(ParamStr(0)); // --> ..\somefolder\Project1.exe --> ..\somefolder
sPath+'sbase\teste.ABS' // ..\somefolder\sbase\test.abs
أظن أنه من الأفضل التريث وقراءة الكود والعمل معه قليلاً قبل السؤال
بارك الله فيكم لم انتبه
لكن هناك مشكلة اخرى في الاسترجاع انه لا يتم استبدال القاعدة الحالية بالقاعدة المسترجعة
المشاركات : 501
المواضيع 136
:
: 11
الإنتساب : Feb 2008
بارك الله فيكم لقد حلت المشكلة
وكان الخطأ من عندي
اشكركم جميعا على تعاونكم معنا ونسأل المولى عز وجل ان يرزقكم ثواب هذه المساعدات
وان يثقل موازينكم بالحسنات وجمعة مباركة آمــــــــين