الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

النسخ الاحتياطي

مغلق
بدأه delphi4me في 24 يونيو 2004 · 3 رد · 1,227 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله و بركاته

من المعروف انه من ضروريات نجاح المنظومات هو الحفاظ العام على البيانات و مدى الاهتمام بها وعدم عرضها الا عن طريق برنامجها الخاص و ذلك لسرية المعلومات المخزنة بها.

من هنا قمت بعمل BackUp للمنظومة خاصتي و لكن قابلتني مشكلة بسيطة وهي تقابل جميع مبرمجين لغة دلفي على ما اعتقد و اللذين يستخدمون Paradox في عملهم لقاعدة بيانات المنظومة و هي عندما اقوم بعمل نسخ و انا استخدم الدالة CopyFile() Function و اقوم بتحديد المسار المطلوب يقوم بنسخ قواعد البيانات او الجداول المستخدمة في المنظومة كلاً على( كل ملف على حده ) حده وقصدي هو هل استطيع نقل كل تلك الجداول مع بعضها في ملف واحد و يقوم المستخدم طبعا بعد اختيار مسار تخزين قاعدة البيانات اعطاء تسمية رمزية لهذا الملف , و عند الحاجة لإستعادة قاعدة البيانات يقوم فقط بإستعادة او تحديد اسم الملف السالف الذكر (الجداول) و عمل استعادة للملف و الذي من المفترض ان يكون يحتوي على جميع جداول عمل المنظومة و نقلها لمكانها المطلوب.

تحديداً : هل من الممكن دمج الجداول في ملف واحد فقط مثل Microsoft Access حيث ان قاعدة البيانات بها تحتوي على مجموعة جداول داخلية و عند التعامل معها يتم فقط نقل قاعدة البيانات بالكامل و ايضا استرجاعها بالكامل .

ارجو الرد السريع و ذلك للأهمية يا مبرمجين دلفي .

و السلام عليكم و رحمة الله و بركاته.

#2

بالطيع ممكن لانه لا شيء مستحيل في هذه الحياة :)

اما عن نسخها فاستطيع ان افكر بطريقة واحدة في الدلفي لانه ليس لي فيها خبرة طويلة وهي ان تكتب كل Record على سطر خاص و هكذا الى اخر فاعدة البيانات ... وعند قراءته استخدم Memo1 Control حيث انها تمكنك من عمل Loop

Var i :integer;;
For i := 0 to Memo1.Lines.count -1
showmessage(memo1.Lines);

و يمكنك فصل كل قيمة في سطر واحد باستخدام مسافة و جلب هذه القيم بفصل المسافات عن بعضها والحصول على المعلومات بعد ذلك

كنت اود تزويدك بالكود لكن الدلفي ليست عندي في الوقت الحالي

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#3

السلام عليكم و رحمة الله و بركاته

اخي راكان الحنيطي لقد نظرت الى ردك بخصوص الموضوع و ارجو منك ان تزودني بفكرة او كود خاص بلغة دلفي كما و ارجوا ان توضح فكرة الـMemo التي قمت بكتابتها و لك مني جزيل الشكر

و السلام عليكم و رحمة الله و بركاته

#4

هذا هو الكود و يمكنك من حفظ ال Database واسترجاعها ل Field واحد فقط

يمكنك التعديل عليه حسب احتياجاتك

Procedure SaveDatabase()
var sql:string;
var i:integer;
var MyFile: TextFile;
Begin
	sql := 'select * from tablename';
	AdoQuery1.Sql.Clear;
	AdoQuery1.Sql.Add(sql);
	AdoQuery1.Open;
	AssignFile(myFile, 'Test.txt');
	ReWrite(myFile);
	For i := 0 to AdoQuery1.RecordCount - 1 do
  begin
      WriteLn(myFile, AdoQuery1.FieldByName('RecordHere');
  end;
	CloseFile(MyFile);
end;

Procedure GetDataBase()
var sql:string;
Var Line:string
var MyFile:TextFile;
begin
   AssignFile(myFile, 'Test.txt');
   Reset(myFile);
    // Display the file contents
    while not Eof(myFile) do
     begin
        ReadLn(myFile, line);
        Sql := 'insert into table(FieldName) values(' + quotedstr(line) + ')';
     end;
End;

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

هذا الموضوع مغلق.

مواضيع مشابهة