الجديد

إنشاء قاعدة بيانات باستخدام ملف دلفي من الملفات المكتوبة

إنشاء قاعدة بيانات باستخدام ملف دلفي من الملفات المكتوبة

ببساطة وضع الملف هو تسلسل ثنائي من نوع ما. في دلفي ، هناك ثلاث فئات من الملفات: كتبته ، والنص ، وغير نمط. الملفات المكتوبة هي ملفات تحتوي على بيانات من نوع معين ، مثل Double أو Integer أو نوع السجل المخصص المحدد مسبقًا. تحتوي الملفات النصية على أحرف ASCII قابلة للقراءة. يتم استخدام الملفات غير المطبوعة عندما نريد فرض بنية أقل ما يمكن على الملف.

الملفات المكتوبة

بينما تتكون الملفات النصية من سطور منتهية بتركيبة CR / LF (# 13 # 10) ، تتكون الملفات المكتوبة من بيانات مأخوذة من نوع معين من بنية البيانات.

على سبيل المثال ، ينشئ التصريح التالي نوع سجل يسمى TMember ومجموعة من متغيرات سجل TMember.

نوع

TMember = سجل

اسم : خيط50;
البريد الإلكتروني :

خيط30;
المشاركات:
  

النهاية;
 

فار أفراد : مجموعة مصفوفة1… 50 من TMember.

قبل أن نتمكن من كتابة المعلومات على القرص ، يجب أن نعلن عن متغير من نوع الملف. يعلن السطر التالي من التعليمات البرمجية عن متغير ملف F.

فار F : ملف TMember.

ملاحظة: لإنشاء ملف مكتوب في دلفي ، نستخدم بناء الجملة التالي:

فار SomeTypedFile: ملف بعض الانواع

يمكن أن يكون النوع الأساسي (SomeType) للملف نوعًا قياسيًا (مثل Double) أو نوع صفيف أو نوع سجل. يجب ألا تكون سلسلة طويلة أو صفيفًا ديناميكيًا أو فئة أو كائنًا أو مؤشرًا.

لبدء العمل مع الملفات من Delphi ، يتعين علينا ربط ملف على قرص بمتغير ملف في برنامجنا. لإنشاء هذا الرابط ، يجب علينا استخدام AssignFile الإجراء لربط ملف على قرص مع متغير ملف.

AssignFile (F ، 'Members.dat')

بمجرد إنشاء الارتباط مع ملف خارجي ، يجب فتح "متغير" الملف F لإعداده للقراءة والكتابة. نحن ندعو إجراء إعادة تعيين لفتح ملف موجود أو إعادة كتابة لإنشاء ملف جديد. عند اكتمال برنامج معالجة ملف ، يجب إغلاق الملف باستخدام إجراء CloseFile. بعد إغلاق الملف ، يتم تحديث الملف الخارجي المرتبط به. يمكن عندئذٍ ربط متغير الملف بملف خارجي آخر.

بشكل عام ، يجب علينا دائمًا استخدام معالجة الاستثناءات ؛ قد تنشأ العديد من الأخطاء عند العمل مع الملفات. على سبيل المثال: إذا قمنا باستدعاء CloseFile لملف مغلق بالفعل ، فإن Delphi يبلغ عن خطأ إدخال / إخراج. من ناحية أخرى ، إذا حاولنا إغلاق ملف ولكننا لم نسمي AssignFile بعد ، فإن النتائج لا يمكن التنبؤ بها.

الكتابة إلى ملف

لنفترض أننا ملأنا مجموعة من أعضاء دلفي بأسمائهم ورسائل البريد الإلكتروني وعدد المنشورات ، ونريد تخزين هذه المعلومات في ملف على القرص. سيتم تنفيذ الجزء التالي من التعليمات البرمجية:

فار

F : ملف TMember.
i: عدد صحيح

ابدأ

AssignFile (F، 'members.dat')؛

أعد كتابة (F) ؛

 محاولة

  إلى عن على ي: = 1 إلى 50 فعل

اكتب (واو ، الاعضاء) ؛

 أخيرا

CloseFile (F) ؛

 النهاية;النهاية;

قراءة من ملف

لاسترداد جميع المعلومات من ملف "members.dat" ، نستخدم الكود التالي:

فار

عضو: TMember

F : ملف TMember.ابدأ

AssignFile (F، 'members.dat')؛

إعادة (F) ؛

 محاولة

  بينما لا الفولكلوري (F) هل تبدأ

قراءة (F ، عضو) ؛

   {DoSomethingWithMember؛}

  النهاية;
 

أخيرا

CloseFile (F) ؛

 النهاية;النهاية;

ملحوظة: Eof هي وظيفة التحقق EndOfFile. نحن نستخدم هذه الوظيفة للتأكد من أننا لا نحاول القراءة بعد نهاية الملف (بعد آخر سجل مخزن).

تسعى وتحديد المواقع

يتم الوصول إلى الملفات عادة بالتتابع. عند قراءة ملف باستخدام الإجراء القياسي قراءة أو كتابة باستخدام الإجراء القياسي Write ، ينتقل موضع الملف الحالي إلى مكون الملف التالي المرتب رقميًا (السجل التالي). يمكن أيضًا الوصول إلى الملفات المكتوبة بشكل عشوائي من خلال الإجراء القياسي Seek الذي ينقل موضع الملف الحالي إلى مكون محدد. ال FilePos و حجم الملف يمكن استخدام الوظائف لتحديد موضع الملف الحالي وحجم الملف الحالي.

{عد إلى البداية - السجل الأول}

See (F، 0)؛

{انتقل إلى السجل الخامس}

See (F، 5)؛

{الانتقال إلى النهاية - "بعد" السجل الأخير}

تسعى (F ، حجم الملف (F)) ؛

التغيير والتحديث

لقد تعلمت للتو كيفية كتابة وقراءة مجموعة كاملة من الأعضاء ، ولكن ماذا لو كان كل ما تريد القيام به هو البحث عن العضو العاشر وتغيير البريد الإلكتروني؟ الإجراء التالي يفعل بالضبط ما يلي:

إجراء تغيير الايميل(CONST RecN: عدد صحيح CONST بريد إلكتروني جديد : خيط) ;فار DummyMember: TMember؛ابدأ

 {تعيين ، فتح ، استثناء معالجة كتلة}

تسعى (واو ، RecN) ؛

قراءة (F ، DummyMember) ؛

DummyMember.Email: = NewEMail؛

 {قراءة ينتقل إلى السجل التالي ، علينا أن
ارجع إلى السجل الأصلي ، ثم اكتب}

تسعى (واو ، RecN) ؛

اكتب (F ، DummyMember) ؛

 {إغلاق الملف}النهاية;

إكمال المهمة

هذا كل شيء ، الآن لديك كل ما تحتاجه لإنجاز مهمتك. يمكنك كتابة معلومات الأعضاء على القرص ، ويمكنك قراءتها مرة أخرى ، ويمكنك حتى تغيير بعض البيانات (البريد الإلكتروني ، على سبيل المثال) في "وسط" الملف.

المهم أن هذا الملف ليس ملف ASCII ، وهذا هو الشكل الذي يظهر به في المفكرة (سجل واحد فقط):

.Delph Guide g Ò5 · ¿ì. 5… B V.Lƒ ، „¨[email protected]Ï… ç.ç.ï ...


شاهد الفيديو: كيفية تعديل على كود سورس برامج دالفي المرتبطة بقواعد البيانات . (يوليو 2021).