delphi4arab منتديات دلفي للعرب

نسخة كاملة : ما هي الملفات و كيف نتعامل معها ؟؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3 4 5
مقدمــــــــــة

متى نبدأ في برمجة برنامج جاد سنحتاج بالتأكيد إلى تخزين أو حفظ للمعلومات
بصفة دورية أو بصفة خفية لا نحتاج من المستخدم أن يتطلع عليها !!,,
هناك 3 أصناف لمختلف أنواع الملفات ؟؟ يمكنك ملاحظتها إنطلاقا من بيئة نظام
التشغيل الذي تعتمده .. فمهما كان نوع و طبيعة الإمتداد (*.*) فإن طبيعة الملف

لا يمكن أن تكون سوى :
1- ملف نصي (Text File)
2- ملف تتابعي (Sequential File)
3- ملف من دون نمط (File No Type) أو (ملف Binary)

أمثلة و توضيحات بسيطة

ملفات نصية : تعتمد في تركيبها أو بنيتها على الأسطر (مجموعه من الأسطر Lines)
مثلا : Bat , Reg , Txt , Ini .... Ext

لكن : تعتبر أبسط شكل لملف ما ؟؟ لسهولة إستخدامها كما أنها لا تعتبر
مثالية للحفظ لأنه يمكن لأي كان التعديل على محتواها .

ملفات تتابعية : ذات بنية عبارة عن حقول Registration

مثلا : DB (جداول قاعدة بيانات مثلا)
لكن : تفرض علينا حيز ضيق أو محدود بالرغم من أن نقطة قوتها هي سلاسة التعامل
مع الحقول إلا أننا لا يمكننا أن نحفظ أو نكتب فيها متغيرات أو ثوابت من نوع :
الصنف (Class) , المؤشرات (Pointer) , الجداول الديناميكية (غير محدودة ذات قابلية للتغير في أي لحظة)


ملفات ثنائية : ذات بنية كتلية (Block) .
لكن : بدون إمتداد يمكن أن تكون أي شيء و أن تحتوى أي شيء .. فهي أصعب
ملف من حيث التعامل لكنها تعطيك الحرية المطلقة لكتابة أي شيء أو العكس !!
كما أنها إحترافية تتطلب عمل أكثر منك .. ههههه فهدا ثمن الحرية و القوة طبعا.

تحميل الدرس مع برنامج كمثال !!

بالتوفيق ,,
بارك الله لك اخي الحبيب.ودرس مهم للغاية.
سؤال اكرمك الله، ملفات ال dll من اي نوع تصنّف ؟
هل هي من الملفات النصيا ام ؟
بارك الله لك
من الماكد أنها ليست نصية هل تستطيع أن تقوم بإنشاءها بواسطة Tstrings ؟؟ (جرب إفتح Dll بالنوت باد )
و هل تعتمد على حقول كأنماط الـ Record بالطبع لا ؟ لكن لبرمجتها نحتاج لـ Compilateur كالتي خاصة بالملفات
التنفيذية إذا هي ملفات Bin .
إقتباس :ملفات ال dll من اي نوع تصنّف ؟
هل هي من الملفات النصيا ام ؟
DLL مكتبات الربط الديناميكيةمثل EXE
باختصار كلاهما Module حيث EXE قابل للتنفيذ و DLL قابل للتحميل للذاكرة من طرف برنامج أخر
السلام عليكم
بارك الله فيك tf6mehboul وفيكم جميعا.
موضوع رائع، في انتظار المزيد.
بالمناسبة ينصح الخبراء باستعمال تدفقات البيانات StreamFile لتخزين المعلومات، عوضا عن الإجراء AssignFile وأوامره، ويعتبرون أن هذه الأخيرة وسيلة تقليدية بقيت سارية المفعول لأغراض التوافق مع الإصدارات القديمة (Compatibility)، هل هذا صحيح؟ ولماذا؟
kachwahed كتب :
ينصح الخبراء باستعمال تدفقات البيانات streamfile لتخزين المعلومات، عوضا عن الإجراء assignfile وأوامره، ويعتبرون أن هذه الأخيرة وسيلة تقليدية بقيت سارية المفعول

الصنف tfilestream ما هو إلا تسهيل الوصول (قراءة كتابة و مايتضمنها؟) للملفات من الصنف التاني.

لكن و الشيء الجميل أنه ينتج ملف binary ؟؟.
إقتباس :الصنف التاني
ماذا تقصد بالصنف التاني ؟

الذي أعرف، أنه ينحدر عن الصنف TFileStream مجموعة من الأصناف منها TStringStream و TMemoryStream ذات استعمالات مختلفة، ويوفر خصائص كثيرة وينتج مختلف الملفات على غرار Binary و Text و...، ومن أهم خصائصه توافقه مع العديد من المكونات حيث نجد الإجراء SaveToStream و LoadFromStream لحفظ واسترجاع البيانات، ومن عيوبه أنه بطيء التنفيذ عندما تكون حجم البيانات كبيرة.
والله أعلم.
بارك الله فيك أخي الكريم.
kachwahed كتب :بالمناسبة ينصح الخبراء باستعمال تدفقات البيانات StreamFile لتخزين المعلومات، عوضا عن الإجراء AssignFile وأوامره، ويعتبرون أن هذه الأخيرة وسيلة تقليدية بقيت سارية المفعول لأغراض التوافق مع الإصدارات القديمة (Compatibility)، هل هذا صحيح؟ ولماذا؟
صحيح
Stream اسرع + اسهل + اعم (يمكن ان يكون ملف/اتصال/اي معلومات من اي مصدر...)
أخي الكريم أنا لم أقل أن كلامك خاطئ فلا تخلط بين الصنف المستعمل مع صنف الملف ؟

1- بنية الملف على حسب صنفه كما قلت الصنف الأول (text file) لا تعتبر مثالية و ما الى ذلك

2- tfilestream صنف يسهل لنا الولوج لملفات التعددية دات البينة (حقول) منها :

لنقل أن F من صنف tfilestream للكتابة /قراءة :

F.ReadBuffer
F.WriteBuffer

دون الحاجة لإعادة تعريف ملف من نمط : File Of TmayRecord مثلا ؟؟

و ما الى دلك لكتابة دوال و إجراءات تكفينا إعادة كتابة التعليمات كل مرة .

عندما اكمل الملفات النصية .... و انتقل للنوع التاني سأقوم بإستعمال الطريقتين :
AssigFile / TfileStream

إن شاء الله ,,
stream يعني نتعامل مع (ملف برنامج معلومة أو مجموعه معلومات ) ليس كمعرفات ؟؟ بل كبنية 110010

بطبيعة الحال ببساطة كـقيم Hex ل منها يعني : تعليمة .. معطيات .. عنوان يترجم من طرف الـ MICROCODE المدمج

في المعالج خاصة و أنها بعد القفزة من risc الى CISC في المعالجات الحديثة

RISC : Reduced instruction set computer

CISC : Complex Instruction set computer
الصفحات : 1 2 3 4 5