أختر لون التصفح :
اخر الاخبار

أهلا ومرحبا بكم في موقع كتابي دوت كوم  الموقع الأول للكتب والأبحاث الإلكترونية





الملفات في Delphi
العنوان الملفات في Delphi
اضيف بواسطة الفرعــون
المصدر كتابي دوت كوم
الملخص

نعلم جيدا أن Delphi لم يكتف باستغلال ملفات قواعد البيانات فقط، ولكنه يتجاوزها إلى جميع أنواع الملفات الأخرى، بدأً بالملفات النصية Text files، ملفات الصور بمختلف أنواعها، ملفات الإعدادات Ini files، إلى ملفات النظام ... إلى ملفاتك الخاصة التي تقترح أنت شكلها وتنظيمها.

ما سنتعرف عليه بإذن الله، هو كيفية استغلال الملفات بصفة عامة في Delphi.

تاريخ الاضافة 2008-12-01
عدد المشاهدات 946
كلمات البحث نعلم جيدا أن Delphi لم يكتف باستغلال ملفات قواعد البيانات فقط، ولكنه يتجاوزها إلى جميع أنواع الملفات الأخرى، بدأً بالملفات النصية Text files، ملفات الصور بمختلف أنواعها، ملفات الإعدادات Ini files، إلى ملفات النظام ... إلى ملفاتك الخاصة التي تقترح أنت شكله  
الكتاب التالى التعامل مع الـ MS SQL Server من خلال دلفي باستخدام الـ BDE
الكتاب السابق إجعل برامجك تأخذ شكل XP

نعلم جيدا أن Delphi لم يكتف باستغلال ملفات قواعد البيانات فقط، ولكنه يتجاوزها إلى جميع أنواع الملفات الأخرى، بدأً بالملفات النصية Text files، ملفات الصور بمختلف أنواعها، ملفات الإعدادات Ini files، إلى ملفات النظام ... إلى ملفاتك الخاصة التي تقترح أنت شكلها وتنظيمها.

ما سنتعرف عليه بإذن الله، هو كيفية استغلال الملفات بصفة عامة في Delphi.
1-كيف نقرأ ملفا ؟
لنفرض أنك تريد أن تقرأ كتابا، فإنك إما ستقرؤه:

- حرفا حرفا؛

- سطرا سطرا؛

-أو جزءاً جزءاً.



كذلك Delphi، يٌمكّنك من قراءة الملفات:

- بالبايت (Byte)؛

- بالسطر (Line)؛

- بالرزمة (Packet).

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



2- الاستعمال الآمن للملفات
لابد من التحقق من ظروف الأمان للملفات أثناء استغلالها، فذلك ضروري لضمان عدم ضياع البيانات أو محتويات الملف أو إتلاف الملف بأكمله إثر استعمال خاطئ أو غير حذر.



لكن احتمال الخطأ وارد بشدة وقد لا يمكن الإحاطة بجميع الحالات الخاصة التي قد تحدث أخطاء تشكل خطرا على ملفاتنا، لذلك توكل مهمة مراقبة الأخطاء ببساطة لـ Delphi.

لتشغيل المراقبة التلقائية للأخطاء، يكفي أن تضع التعليمة التالية في برنامجك:

{$I+}



وبالتأكيد بإمكانك الاستغناء عنها متى شئت كما يلي:

{$I-}



بهذه الطريقة سيعلمك Delphi بالأخطاء إثر حدوثها عن طريق تعليمة الحالة الاستثنائية: EInOutError.



3-القراءة بشكل خطي
نفهم من القراءة بشكل خطي أي سطرا سطرا أن الملف نصي، لذلك نسمي متغيرا لملف نصي كما يلي:



var

F:textfile;




يعتبر F المتغير المنطقي الذي سنتعامل معه أثناء البرمجة، والذي سوف نصله بملف حقيقي:



assignfile(F,opendialog.filename);


حيث FileName يمثل المسار الكامل للملف. مثل: C:/mydocs/file.txt

والذي نسطتيع الحصول عليه عن طريق الخاصية FileName لـ OpenDialg مثلا.


ملاحظة
يجب أن نتأكد من وجود الملف

بعدها، علينا إعداد الملف بأن نذهب إلى بدايته:

reset(F);


الآن بإمكاننا قراءة الملف سطرا سطرا باستعمال التعليمة الشهيرة : readLn التي نعين لها مصدر القراءة وهو الملف المنطقي وتعيد محتوى السطر الذي تقرؤه في متغير من نوع String. نكرر هذه العملية إلى غاية نهاية الملف (EOF)

حيث: EOF هي وضيفة منطقية (Boolean) تقبل متغير وحيدا هو الملف المنطقي F الذي نعمل عليه.



var

Form1: TForm1;

F: TextFile;

Line: String;

implementation



{$R *.dfm}



procedure TForm1.BitBtn1Click(Sender: TObject);

begin

if OpenDialog.Execute then

begin

{$I+}

AssignFile(F,OpenDialog.FileName);

Reset(F);

while not EOF(F) do

begin

ReadLn(F,Line);

Memo1.Lines.Add(Line);

end;

CloseFile(F);

{$I-}

end;

end;



4-الكتابة بشكل خطي
لن تتغير أشياء كثيرة بالنسبة للكتابة، سنحافظ على المتغيرات ماعدا OpenDialog سنعوضه بـ SaveDialog.

لإعداد الملف للكتابة يجب استعمال

rewrite(F);

 

 






 

  Arts & EntertainmentBetting Systems - Business / Investing  - Computers / Internet - Cooking, Food & Wine - E-business & E-marketing - Education - Employment & Jobs -Fiction - Games -Green Products -Health & Fitness - Home & Garden - Languages - Mobile - Parenting & Families - Politics / Current Events -Reference  -Self-Help - Software & Services - Spirituality, New Age & Alternative Beliefs - Sports - Travel

عدد المتواجدين الان ككل (30) عددالاعضاء منهم (1) عدد الزوار (29)