20-02-2019, 08:22 AM
منذ البداية لم اجرب الكود وذلك دائما يسبب نسيان امور صغيرة...
كود :
copyfile(pchar(sPath+'sbase\teste.ABS'),pchar(Pdir+'\'+ComboBox1.Text+SpinEdit1.text),false);copyfile(pchar(sPath+'sbase\teste.ABS'),pchar(Pdir+'\'+ComboBox1.Text+SpinEdit1.text),false);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;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(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
أظن أنه من الأفضل التريث وقراءة الكود والعمل معه قليلاً قبل السؤال