18-02-2019, 01:04 AM
السلام عليكم, أخ medreg, لم توضح جيدًا المسار الذي تعمل معه.
لم في المرة الأولى
ثم في الشرط لم تستخدم المتغير pdir, وقارنت بـ:
هل كنت تقصد ب ..\..\, أن تخرج من المجلد win32\debug؟؟
هكذا لن يتحقق الشرط, لأنه دائما يقوم بانشاء المجلد بالرجوع مجلدين للخلف.
أيضًا, CreateDir, لا يمكنها إنشاء أكثر من مجلد, إستعمل ForceDirectories.
جرب هكذا.
لم في المرة الأولى
PHP كود :
Pdir:='..\..\sbase\Archives';
PHP كود :
'sbase\Archives'
هل كنت تقصد ب ..\..\, أن تخرج من المجلد win32\debug؟؟
هكذا لن يتحقق الشرط, لأنه دائما يقوم بانشاء المجلد بالرجوع مجلدين للخلف.
أيضًا, CreateDir, لا يمكنها إنشاء أكثر من مجلد, إستعمل ForceDirectories.
جرب هكذا.
كود :
procedure TRestoreBase.N1Click(Sender: TObject);
var
Pdir:string;
backupDBname: string;
begin
Pdir:='..\..\sbase\Archives\'; //أو 'sbase\Archives\'
backupDBname := ComboBox1.Text + SpinEdit1.text;
RestoreBase.Caption:='حفظ المعطيات';
GroupBox1.Caption:='إختار الشهر والسنة المراد حفظهما';
Sleep(200);
ForceDirectories(Pdir);
if DirectoryExists(Pdir) then
begin
DM.OnDestroy(sender);
if copyfile(pchar('teste.ABS'),pchar(Pdir + backupDBname), false) then
begin
Sleep(500);
ShowMessage('تمت عمليةالأرشفة بنجاح');
end;
DM.OnCreate(sender);
end;
Close;
end;

