الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أحتاج الى كود يوضح كيف أستخدم الملفات العشوائيه فى حفظ البيانات

مغلق
بدأه kimo في 18 يونيو 2002 · 2 رد · 726 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله

من فضلكم كيف أستخدم الملفات العشوائيه فى حفظ البيانات؟

وهل يمكن تخليقها فى الRUN TIME

#2

السلام عليكم:

الملفات العشوائية:

هي ملفات خاصة مؤلفة من عدة سجلات، وكل سجل مؤلف من عدة حقول، فمثلاً يمكننا تخزين ملف عشوائي خاص بجدول الأصدقاء كما يلي:

الميلاد الكنية الرقم الاسم

1976 المصري 12 محمد

1977 السباعي 20 حسام

إن مفهوم الحرف والسطر غير موجود في الملفات العشوائية، وإنما تتم قراءة كل سجل على حدة.

عند التعامل مع الملفات العشوائية نحتاج - في أغلب الأحيان- إلى استعمال السجلات، والسجل هو عبارة عن متحول من نوع خاص يحوي بداخله عدة حجرات تخزين ومن عدة أنواع /نص , رقم , تاريخ/.

ويتم تعريف السجلات بالشكل:

Public Type varname
fieldname1  As type
fieldname2  As type
. . .
End Type
[code]

مثال: عرف السجل التالي في الوحدة النمطية Module:
[code]
Public Type person
Fname as string*20
Lname as string*20
Number as integer
Birthday as date   ‘dd/mm/yyyy   حقل من نمط تاريخ 
End Type

لكي نستطيع التعامل مع هذا السجل نقوم بتعريف متحول من نوع سجل كما يلي :

Public per As person

وبعدها نستخدم المتحول Per أينما كنا للدلالة على السجل Person.

إدخال وقراءة السجل:

تتم عميلة إدخال قيم السجل كما يلي :

RecordVariable.FieldName = Value
ومن أجل مثالنا السابق نكتب:
Per.Fname=”Mmk”
per.Birthday=15/1/1976
وغالباً تستخدم أداة TextBox لإدخال قيم السجل على الشكل:
Per.Fname=Text1.Text
Per.number=Val(Text2.Text)

قراءة قيمة السجل تتم بنفس الطريقة:

مثال:

Text1.Text=per.Fname

Text2.Text=per.lname

الملفات العشوائية:

قبل التعامل مع الملفات العشوائية يجب أولاً تعريف السجل في الموديول ومن ثم فتح الملف العشوائي باستخدام التعليمة

Open  “FileName” For Random  As  #1  Len=Len(Record Variable)

حيث:

FileName: يمثل اسم الملف مع مساره وفي حال لم يكن الملف موجوداً على القرص فسيتم إنشاؤه.

Record Variable: يمثل المتحول من نوع سجل وهو المتحول المصرح عنه في الـ Module أيضاً.

التخزين في نهاية الملف:

بعد إعطاء القيم لحقول السجل يمكن تخزين هذا السجل في نهاية الملف العشوائي باستخدام التعليمة Put

كما يلي:

Put #1,(lof(1)/len(per))+1,per

أي ضع في الملف ذو الرقم 1 وفي الموقع/السجل/ الأخير قيمة المتحول السجلي Per.

حيث:

Lof(1) : يمثل حجم الملف مقدراً بالبايت.

Len : يمثل حجم السجل الواحد.

Lof(1)/Len(Per) : يمثل عدد السجلات في الملف، وعند إضافة واحد له فإن المؤشر سيتوقف في نهاية الملف مستعداً لإضافة سجل جديد.

قراءة سجل ما من الملف:

لقراءة السجل الخامس من الملف نستخدم تعليمة Get على الشكل:
Get # 1, 5 , per
لقراءة كافة السجلات الموجودة في الملف نستخدم الشيفرة التالية:
For i=1 to Lof(1)/Len(Per)
   Get #1 , I , per
   مجموعة تعليمات
Next i
وبطريقة أخرى:
i=0
Do While Not Eof(1)
i=i+1
Get #1  ,i , P
مجموعة تعليمات
Loop

أتمنى أن يحقق هذا مطلوبك.

#3

شكرا جزيلا وربنا يزيدك

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…