Mohammed-Saeed

درس تنسيق الملف ... موضوع هام لكل المبرمجين

12 ردود في هذا الموضوع

بعد التحية ...

لقد وجدت في جهازي هذا الدرس ،و لم انشره بنيه اكماله ، مع عده امثلة ، سارسلها تباعا ، و اليكم الدرس

بسم الله الرحمن الرحيم

بعد التحية ...

مقدمة :

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

* - الملفات النصية

* - الملفات التتابعية

* - الملفات الثنائية Binary Files

و تكمن اهمية النوع الثنائي في مرونة استخدامها من قبل المبرمج ، و كذلك امكانية اسناد انواع غير اعتيادية من القيم فيها ، و لذا ، فان معظم الملفات تصنف ضمن هذا النوع مثل جميع ملفات الاصوات و الصور و الفيديو و قواعد البيانات و ... بل و حتى الملفات التنفيذية ، و تكمن اهمية معرفة تنسيق الملف File Structure في امكانية استخدامها بصورة احترافية ... فمثلا :

* - عملية تعرف البرامج المشغلة لملفات الاصوات و الفيديو على مدة العرض ، بقراءة جزء بسيط على الملف ...

* - عملية طلب كلمة السر في برامج الضغط ، و قواعد البيانات و من ثم مقارنتها ...

* - عمليات التحويل بين انواع الملفات ، مثل ملف صوت من النوع Wav الى النوع MP3 ...

* - ...

اساسيات :

و یمکن الوصول لای من انواعالملفات في فيجوال بيسيك عن طريق القاعدة التالية :

FN%=FreeFile
Open FileName$ For Type As FN%

Close FN%

حیث ان Type فی درسنا ستکون Binary .

يمكنك القراءة من و الكتابة في الملف باستخدام التالي :

‘ Read
Get FN%,StartByte%,Var
‘Write
Put FN%,StartByte%,Var

لاحظ ان FN% ستشیر الى رقم الملف ، و الذي حصلنا عليه من الدالة FreeFile ، اما StartByte%, فتشير الى المكان الذي ستبدا منه عملية الكتابة او القراءة .

اما المتغير Var فهو اهم جزء ، حیث انه من الممکن ان یکون احد انواع المتغيرات المعروفة مثل String او Long ، و كذلك يمكن ان يحمل مجموعة من هذه المتغيرات و ذلك بعد تعريف نوع جديد يضمها ، باستخدام الكلمة المفتاحية Type ، كما في القاعدة التالية :

Private Type [I]TypeName[/i]
Var1 as VarType

Varx as VarType
End Type

امثلة عملية :

المثال الاول :

ُطبقت قوانين الملكية الفكرية على البرامج ، فاصبحت غير قادر على استخدام برنامج ال Winzip لضغط و تجزئة الملفات ، و كان لديك مجلد Folder يحوي عدة ملفات ، و كنت تريد ان تنقل المجلد كاملا الى اقراص مرنة ، و باقل عدد من الاقراص ... فماذا انت فاعل ؟؟؟

الحل :

يمكن ان نعيد حفظ الملفات الموجودة بالمجلد في ملف واحد يجمعها(مخزن) ، ثم نقوم بتقسيم هذا الملف (المخزن) الى اقصى حجم يحمله القرص المرن 1.44 MB ، و عند الحاجة لاسترجاع الملفات ، نجمع الملفات المقسمة لينتج لنا ( ملف واحد يحوي مجموعة الملفات الموجودة بالمجلد( المخزن مجددا) ) ...

المثال المرفق يحوي الجزء المسؤول عن تجميع الملفات في ملف واحد (مخزن) ، و الشرح موجود مع الكود ...

تمارين :

* - قم ببرمجة الجزء المتعلق بتقسيم الملف المخزن مع مراعاة تمكين المستخدم من تحديد حجم كل جزء .

* - قم باضافة حجم الملف(بالبايت) بجنب كل ملف يتم ادراجه ...

* - قم بتخصيص امتداد خاص بهذا الملف ، و اربطه بالبرنامج ( مع تخصيص ايقونة ) .

* - قم باضافة اختصار للبرنامج ، عند الضغط على مجلد بالزر الايمن من الفارة Right-Click .

* - ابحث عن تنسيق معروف مثل BMP و حاول التعامل معه برمجيا

File Store.zip

تم تعديل بواسطه Mohammed-Saeed
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اقتراح ..

عمل قاموس بتنسيق الملفات ...

سيكون هذا نواة لبرامج اخرى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

ارجو المتابعه

تم تعديل بواسطه amervb
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

حياك الله اخي الكريم Mohammed-Saeed ، و جزاك الله عنا خير الجزاء ..

عندي فقط تعليق بسيط :

عندما تحدثت عن انواع الملفات ذكرت الملفات النصية و الملفات التتابعية .. فما هو الفرق بينهما !!

و هل ستتحدث عن الملفات العشوائية Random File .. ؟؟؟

مع خالص تقدير و شكري ،،

بنت اليمن ،،

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بعد التحية ..

الملفات العشوائية ، هي ما اقصده من الملفات التتابعية ، اعتذر عن الخطا الاملائي ...

ملفات ال random تقنية قديمة ، لم تعد تستخدم ، لحجمها الكبير ، و بط عمليات البحث ...

شكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
بعد التحية ..

الملفات العشوائية ، هي ما اقصده من الملفات التتابعية ، اعتذر عن الخطا الاملائي ...

ملفات ال random تقنية قديمة ، لم تعد تستخدم ، لحجمها الكبير ، و بط عمليات البحث ...

شكرا

لكنها موجودة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اذا كانت لا تزال مهمة لدى البعض ، فساعد شرح لها ، من عيوني

فقط ، امهلوني ريثما يتيسر لي بعض الوقت ...

شكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بعد التحية ...

لضيق الوقت ... اليكم الدرس منقولا عن منتدى فيجوال بيسك العرب (ارشيف) ...

Random.htm

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

ملاحظات :

يمكن ستخدام دوال ال API للوصول السريع و بحريه كاملة عن طريق بعض دوال ال API ، و هي :

ٌReadFile

WriteFile

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

ماشاء الله عليك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

مشكور اخ Mohammed-Saeed كنت اتمنى ان تتوسع اكثر في شرح الموضع ولك جزيل الشكر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

لماذا لا يتم نقل مثل هذه الدروس الى القسم الخاص بها

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .