![]() |
|
مشكلة في حفظ قاعدة البيانات - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : مشكلة في حفظ قاعدة البيانات (/showthread.php?tid=10053) الصفحات:
1
2
|
مشكلة في حفظ قاعدة البيانات - medreg - 16-02-2019 السلام عليكم ورحمة الله تعالى وبركاته صادفتني مشكلة في حفظ قاعدة اليانات من نوع absolute كنت استعملها في نسخة الدلفي7 وكانت تعمل بشكل جيد وعندما استعملتها في نسخة xe8 لا تتم عملية الحفظ وتظهر بانها تمت العملية لكن لا اجد الملف محفوظ مع العلم ان مسار قاعدة البيانات هو projrct1\mirnam\sbase\teste.abs وهذا هو الكود المستعمل كود : procedure TRestoreBase.N1Click(Sender: TObject);
var Pdir:string;
begin
RestoreBase.Caption:='حفظ المعطيات';
GroupBox1.Caption:='إختار الشهر والسنة المراد حفظهما';
Pdir:='..\..\sbase\Archives';
CreateDir(Pdir);
Sleep(200);
if DirectoryExists('sbase\Archives') then
begin
DM.OnDestroy(sender);
copyfile(pchar('teste.ABS'),pchar('sbase\Archives\'+ComboBox1.Text+SpinEdit1.text),false);
end else begin
ForceDirectories(Pdir);
end;
DM.OnCreate(sender);
Sleep(500);
showMessage('تمت عمليةالأرشفة بنجاح');
Close;
end;RE: مشكلة في حفظ قاعدة البيانات - محمد عبد العزيز - 17-02-2019 وعليكم السلام ورحمة الله جرب تغيير String بAnsiString شيئ مثل (لم اجرب الكود) كود : procedure TRestoreBase.N1Click(Sender: TObject);
var Pdir:AnsiString;
begin
RestoreBase.Caption:='حفظ المعطيات';
GroupBox1.Caption:='إختار الشهر والسنة المراد حفظهما';
Pdir:='..\..\sbase\Archives';
CreateDir(Pdir);
Sleep(200);
if DirectoryExists('sbase\Archives') then
begin
DM.OnDestroy(sender);
copyfile(pChar('teste.ABS'),pChar('sbase\Archives\'+ComboBox1.Text+SpinEdit1.text),false);
end else begin
ForceDirectories(Pdir);
end;
DM.OnCreate(sender);
Sleep(500);
showMessage('تمت عمليةالأرشفة بنجاح');
Close;
end;RE: مشكلة في حفظ قاعدة البيانات - medreg - 17-02-2019 السلام عليكم انه يشير الى خطأ اثناء compilie وهذا هو الخطأ [dcc32 Erreur] U_menu.pas(49): E2010 Types incompatibles : 'PWideChar' et 'PAnsiChar' RE: مشكلة في حفظ قاعدة البيانات - محمد عبد العزيز - 17-02-2019 حسنا اعد AnsiChar الى pChar قمت بتعديل الكود فوق RE: مشكلة في حفظ قاعدة البيانات - medreg - 17-02-2019 لازالت المشكلة كما كانت في الأول هل هناك طريقة اخرى لعمل نسخة احتياطية لقاعدة البيانات في مجلد اخر مع العلم ان قاعدة البيانات موضوعة في مجلد داخل مجلد المشروع للتوضيح : المجلد الأول اسمه mirnam وبداخله مجلد المشروع وإسمه project1 ويوجد بداخل مجلد المشروع مجلد اخر المتواجد به قاعدة البيانات واسمه sbase كما يوجد بايضا داخل مجلد المشروع مجلد اخر والمراد بحفظ النسخة الإختياطية لقاعدة البيانات واسمه Archives اما بالنسبة لقاعدة البيانات teste.abs ستحمل اسم اخر ناتج عن المكون Combobox1 و المكون spinedit1 اثناء عملية النسخ وتخزن في المجلد Archives RE: مشكلة في حفظ قاعدة البيانات - Ben.Ja - 18-02-2019 السلام عليكم, أخ medreg, لم توضح جيدًا المسار الذي تعمل معه. لم في المرة الأولى 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;RE: مشكلة في حفظ قاعدة البيانات - محمد عبد العزيز - 18-02-2019 السلام عليكم افهم مما سبق ان قاعدة البيانات \mirnam\sbase\teste.abs المشروع \mirnam\project1.exe النسخ الاحتياطية تكون في \mirnam\sbase\archives هل هذا صحيح ؟ RE: مشكلة في حفظ قاعدة البيانات - medreg - 18-02-2019 (18-02-2019, 10:34 AM)B.M.AbdelAziZ كتب : بل قاعدة البيانات تكون في Mirnam\Project1\sbase\teste.abs\ المشروع Mirnam\Project1\project1.exe النسخ الإحتياطية تكون في Mirnam\Project1\sbase\archives\ جزاكم الله عنا كل خير RE: مشكلة في حفظ قاعدة البيانات - محمد عبد العزيز - 19-02-2019 كود : procedure TRestoreBase.N1Click(Sender: TObject);
var sPath,Pdir:string;
begin
RestoreBase.Caption:='حفظ المعطيات';
GroupBox1.Caption:='إختار الشهر والسنة المراد حفظهما';
sPath:=ExtractFilePath(ParamStr(0));
Pdir:=sPath+'sbase\Archives';
CreateDir(Pdir);
Sleep(200);
if DirectoryExists(Pdir) then
begin
DM.OnDestroy(sender);
copyfile(pchar(sPath+'teste.ABS'),pchar(Pdir+'\'+ComboBox1.Text+SpinEdit1.text),false);
end else begin
ForceDirectories(Pdir);
end;
DM.OnCreate(sender);
Sleep(500);
showMessage('تمت عمليةالأرشفة بنجاح');
Close;
end;RE: مشكلة في حفظ قاعدة البيانات - medreg - 20-02-2019 (19-02-2019, 08:26 AM)B.M.AbdelAziZ كتب : |