الدرس الخامس عشر – ملفات المعلومات

ملفات المعلومات

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

program DataFiles;



var

   f: file of Byte;



begin

end.

يجب ان تستخدم Assign بنفس طريقة استخدامها في ملفات النصوص .

program DataFiles;



var

   f: file of Byte;



begin

   Assign(f,'MyFile.txt');

end.

يمكنك استخدام Rewrite لانشاء ملف جديد غير موجود . الاختلاف بين ملفات النصوص و ملفات المعلومات عند استخدام الامر Rewrite هو ان ملفات المعلومات يمكنك القرائه منها و الكتابة عليها .

program DataFiles;



var

   f: file of Byte;



begin

   Assign(f,'MyFile.txt');

   Rewrite(f);

end.

الامر Reset مثل الامر Rewrite بإستثناء انه لا ينشئ الملف اذا كان لم يكن موجوداً :

program DataFiles;



var

   f: file of Byte;



begin

   Assign(f,'MyFile.txt');

   Reset(f);

end.

عندما تريد الكتابه على الملف يجب ان تستخدم الامر Write , يجب اولاً ان تضع الذي تريد كتابته على الملف في متغير , قبل الكتابه او القرائه من ملفات المعلومات يجب ان تستخدم الامر Seek للبحث عن المكان الصحيح لبداية الكتابه . يجب ان تتذكر ملف المعلومات يبدأ من الوضع 0 و ليس 1 .

program DataFiles;



var

   f: file of Byte;

   b: Byte;



begin

   Assign(f,'MyFile.txt');

   Reset(f);

   b := 1;

   Seek(f,0);

   Write(f,b);

end.

الامر Read يستخدم للقراءه من ملفات المعلومات .

program DataFiles;



var

   f: file of Byte;

   b: Byte;



begin

   Assign(f,'MyFile.txt');

   Reset(f);

   Seek(f,0);

   Read(f,b);

end.

يجب عليك ان تغلق ملفات المعلومات بعد الانتهاء منها مثل ملفات النصوص .

program DataFiles;



var

   f: file of Byte;

   b: Byte;



begin

   Assign(f,'MyFile.txt');

   Reset(f);

   Seek(f,0);

   Read(f,b);

   Close(f);

end.

الامر FileSize يمكن استخدامه مع الامر FilePos لمعرفة متى وصلت إلى نهاية الملفات . الامر FileSize يعيد الرقم الفعلي لعدد التسجيلات و يبدأ من 1 و ليس 0 . الامر FilePos يخبرنا عن الوضع الذي هو عليه الملف الآن .

program DataFiles;



var

   f: file of Byte;

   b: Byte;



begin

   Assign(f,'MyFile.txt');

   Reset(f);

   while FilePos(f) <> FileSize(f) do

      begin

         Read(f,b);

         Writeln(b);

      end;

   Close(f);

end.

الامر Truncate يحذف أي شئ في الملف من الوضع الحالي .

program DataFiles;



var

   f: file of Byte;



begin

   Assign(f,'MyFile.txt');

   Reset(f);

   Seek(f,3);

   Truncate(f);

   Close(f);

end.

احد اكثر الاشياء افادة في ملفات المعلومات هو امكانية استخدام التسجيلات و ملفات المعلومات مع بعضها البعض .

program DataFiles;



type

   StudentRecord = Record

   Number: Integer;

   Name: String;



var

   Student: StudentRecord;



begin

   Assign(f,'MyFile.txt');

   Reset(f);

   Student.Number := 12345;

   Student.Name := 'John Smith';

   Write(f,Student);

   Close(f);

end.