بسم الله الرحمن الرحيم
التعامل مع الملفات من خلال الفيجوال بيزك
معلومه
Bit 8 بت = 1 بايت أو حرف Byte\Character
عدد من البايت أو الحروف = 1 حقل أو متغير نصى Field\String
عدد من المتغيرات النصيه أو الحقول = 1 سجل Record
عدد من السجلات = 1 ملف File
عدد من الملفات = 1 قاعدة بيانات DataBase .
و فيما يتعلق بالفيجوال بيزك 6 فان هناك 3 طرق للتعامل مع الملفات و هى :
الطريقه النصيه أو التتابعيه Sequential Mode \ Text Mode
الطريقه العشوائيه للوصول Random Access Mode
الطريقة الثنائيه Binary Mode .
بالنسبه للطريقه النصيه (التتابعيه) فان البيانات Data تخزن و تسترجع على شكل حروف Characters.
أما بالنسبه للأرقام فإنها تخزن و تسترجع على شكل قيم من جدول Ascii .
مثال : عند محاولة تخزين و استرجاع الرقم 17 فانه يخزن و يسترجع على أساس قيمته من جدول Ascii وهو [55 49] .
بالنسيه للطريقه الثنائيه (Binary) فان البيانات Data تكتب و تسترجع على على شكل أرقام .
فالنسبه للرقم 17 فإنه يخزن بشكله و قيمته [17] و الحروف تخزن بقيمتها الرقميه من جدول Ascii .
يظهر فرق كبير بين الملفات النصيه التتابعيه Sequentials و الملفات الثنائيه Binary حيث الملفات التتابعيه و كما فى اسمها فانه يتم القراءه و الكتابه فى الملفات النصيه Text Files بطريقه Sequential أو تتابعيه أى أنه لا يمكن القراءه من "نقطه" معينه من ملف . و الريقه الوحيده لعمل ذلك هى أن تقرأ جميع البيانات حتى تصل الى "النقطه" التى تريد القراءه من بدايتها أو الكتابه من بدايتها .
و لعل أفضل مثال لفهم الملفات التتابعيه هو شريط الكاسيت Cassette Tape حيث انه اذا أردت سماع الشريط من المنتصف (نقطه معينه) فانه يجب عليك سماع الشريط حتى تصل الى المنتصف و بالمثل الـ CD و الـ DVD .
بينما الملفات الثنائيه Binary فانه يمكنك القراءه و الكتابه من أى مكان تريد فى الملف أى أنه يمكنك بداية القراءه أو الكتابه من\الى ملف بداية من النقطه الـ 54 بايت .
الملفات التتابعيه Sequential Files
لكى تفتح ملف بالطريقه التتابعيه فانك تكتب الكود التالى :
Open <FileName> For <Mode> As <#FileNo>
حيث :
FileName هو مسار الملف + اسمه + امتداده مثلا (C:\my_txt\txtfile.txt)
Mode و قد يكون InPut أو OutPut أو Append .
FileNo# و هو الـ Handle للملف و هو أى رقم من 1 الى 255 يسبقه الرمز # "بمعنى : كما نعرف جيدا أو كما درست فان التعامل مع الكائنات فى بيئة الفيجوال بيزك يكون الـ Hanlde هو اسم الكائن أو خاصية Name أما عند التعامل مع الويندوز من خلال الفيجوال بيزك فان الـ Handle هو رقم Long للكائن" و هذا ما يمثله FileNo# هو رقم الملف المفتوح كما يعرفه الويندوز" .
و جميع التعاملات مع الملف تتم من خلال الـ Handle .
و يتم فتح الملف التتابعى Sequential بـ 3 طريق كما ذكرنا و هى :