الدرس ألرابع عشر - الملفات النصيه

الملفات النصيه

الملفات النصيه عباره عن ملفات تحتوي على اسطر من النصوص . متى اردت الوصول إلى ملف في باسكال يجب عليك ان تنشئ متغير ملف اولاً

program Files;



var

   f: Text;



begin

end.

بعد الاعلان عن المتغير يجب ان تسند اسم الملف للمتغير :

program Files;



var

   f: Text;



begin

   Assign(f,'MyFile.txt');

end.

لإنشاء ملف جديد فارغ استخدم الامر Rewrite . هذا الامر ينشئ اي ملف غير موجود .

program Files;



var

   f: Text;



begin

   Assign(f,'MyFile.txt');

   Rewrite(f);

end

الامرين Write و Writeln يعملون على الملفات على طريقه واحده على الشاشه بإستثناء البارامتر الاضافي الذي يخبرهم للكتابه في الملفات :

program Files;



var

   f: Text;



begin

   Assign(f,'MyFile.txt');

   Rewrite(f);

   Writeln(f,'A line of text');

end.

اذا كنت تريد قرائه محتويات ملف موجود سابقاً اولاً يجب ان تستخدم الامر Reset بدلاً من Rewrite . ثانيا استخدم الامر Readln لقرائه السطور من الملف . سوف تحتاج إلى التكرار while لقرائه جميع السطور .

program Files;



var

   f: Text;

   s: String;



begin

   Assign(f,'MyFile.txt');

   Reset(f);

   while not eof(f) do

      Readln(f,s);

end.

الامر Append يفتح الملف و يسمح لك ان تكتب المزيد من النصوص في آخر الملف .

program Files;



var

   f: Text;

   s: String;



begin

   Assign(f,'MyFile.txt');

   Append(f);

   Writeln('Some more text');

end.

يجب عليك اغلاق الملف بعد الانتهاء من استخدامه . اذا لم تغلقه قد تخسر بعض النصوص التي قمت بكتابتها فيه .

program Files;



var

   f: Text;

   s: String;



begin

   Assign(f,'MyFile.txt');

   Append(f);

   Writeln('Some more text');

   Close(f);

end.

يمكنك تغير اسم ملف مع الامر Rename و حذف الملفات مع الامر Erase

var

   f: Text;



begin

   Assign(f,'MyFile.txt');

   Rename(f,'YourFile.txt');

   Erase(f);

   Close(f);

end.

للبحث عن الملف اذا كان موجود ام لا , يجب اولاً ان تتبع ذلك بإستخدام {$I-} . بعد ذلك يجب ان تقوم بإستخدام الامر Reset على الملف بعدها استخدام الجمله الشرطيه if IOResult = 2 then و معناها اذا كان الملف غير موجود , و استخدام الشرط If IOResult = 0 و معناها اذا كان الملف موجود . و اذا كانت قيمة IOResult ليست 2 او 0 نستخدم الامر Halt لإنهاء البرنامج . الـ IOResult سوف يفقد قيمته اذا تم استخدامه لمره واحده لذلك يجب علينا ان نضعه في متغير قبل استخدامه . يجب عليك كذلك استخدام {$I+} لإعادة تتبع الاخطاء .

program Files;



var

   f: Text;

   IOR: Integer;



begin

   Assign(f,'MyFile.txt');

{$I-}

   Reset(f);

{$I+}

   IOR := IOResult;

   if IOR = 2 then

      Writeln('File not found');

   else

      if IOR <> 0 then

         Halt;

   Close(f);

end.