الشرقاوي وافق
الملفات في Delphi 613623
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا الملفات في Delphi 829894
ادارة المنتدي الملفات في Delphi 103798
الشرقاوي وافق
الملفات في Delphi 613623
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا الملفات في Delphi 829894
ادارة المنتدي الملفات في Delphi 103798
الشرقاوي وافق
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.



 
الرئيسيةأحدث الصورالتسجيلدخول

 

 الملفات في Delphi

اذهب الى الأسفل 
كاتب الموضوعرسالة
Admin
Admin
Admin
Admin


ذكر عدد المساهمات : 34923
نقاط : 160259
السٌّمعَة : 1074
تاريخ التسجيل : 14/05/2009
الموقع : http://www.autoformer.net/

الملفات في Delphi Empty
مُساهمةموضوع: الملفات في Delphi   الملفات في Delphi Dc3srhibiyuaw8ppyxj6الأحد فبراير 14 2010, 13:49

الكاتب: phenix
نعلم جيدا أن 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);
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://mathematiquecher.forumactif.com
 
الملفات في Delphi
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» Delphi.7_Ebooks
» برنامجWinMount3.2 رهيب فى فك ضغط الملفات مثل RAR و WinZip و ISO والكثير من الملفات
» Delphi
» The Delphi Technique
» ADO in DELPHI 7:MS Access

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