انت هنا : قسم الحاسوب : لغات البرمجة : الفيجوال بيزيك

كيف تتعامل مع الملفات والمجلدات

 

 

1-دوال التعامل مع الملفات.

اسم الدالة

الوظيفة

FileCopy

نسخ ملف

Kill

حذف ملف

Name

تغيير اسم/نقل الملف

لنسخ الملف استخدم FileCopy الشكل العام

FileCopy اسم الملف المصدر , أسم الملف الهدف

مثال:

FileCopy “C:\Test.txt”, “C:\MyFolder\Test.txt”

في هذا المثال سوف يقوم البرنامج بعمل نسخة من الملف Test.txt في المجلد MyFolder .

لحذف ملف استخدم Kill والشكل العام

Kill اسم الملف

مثال :

Kill “C:\Test.txt”

في هذا المثال تقوم الدالة Kill بحذف الملف Test.txt من المجلد الرئيسي.

لإعداة تسمية ملف استخدم Name والشكل العام هو

Name الاسم القديم as الاسم الجديد

مثال :

Name “C:\Test.txt” as “C:\Test.emd”

Name “C:\Test.txt” as “C:\MyFolder\Test.txt”

في المثال الأول يقوم البرنامج بتسمية الملف Test.txt بالاسم الجديد Test.emd بينما في المثال الثاني يقوم البرنامج بنقل الملف إلي المجلد MyFolder .


2-دوال التعامل مع المجلدات.

الاسم

الوظيفة

MkDir

عمل مجلد

RmDir

حذف مجلد

Name

تغيير اسم مجلد

لإنشاء مجلد استخدم MkDir والشكل العام هو

MkDir اسم المجلد

مثال :

MkDir “C:\TestFolder”

في هذا المثال يقوم البرنامج بإنشاء مجلد باسم TestFolder متفرع من المجلد الرئيسي C:\ .

لحذف مجلد استخدم RmDir والشكل العام هو

RmDir اسم المجلد

مثال :

RmDir “C:\TestFolder”

في هذا المثال يقوم البرنامج بحذف المجلد TestFolder إذا كان موجودا.

لتغيير اسم المجلد نستخدم Name والشكل العام هو

Name الاسم القديم as الاسم الجديد


3-Binary Access .

يعتبر ال Binary Access أو الدخول الثنائي هو أكثر الطرق استخداما للدخول إلى الملفات وسميت كذلك لانك تتعامل مع محتويات الملف حرف حرف ونستخدم لذلك

الدالة

FreeFile

  FreeFile[(rangenumber)]

تستخدم لإرجاع رقم معين من النظام يمثل رقم الملف المتاح من خلال النظام ليتم التعامل مع هذا الملف من خلال ذلك الرقم الصحيح

التعبير

Open

  Open pathname For mode [Access access] [lock] As [#]filenumber [Len=reclength]

لفتح الملف

التعبير

Get

  Get [#]filenumber, [recnumber], varname

للقرىءة من الملف

التعبير

Put

  Put [#]filenumber, [recnumber], varname

للكتابة في الملف

والآن لفتح الملف لابد لنا من الحصول على رقم الملف المتاح بالنسبة للنظام عن طريق الدالة FreeFile كالآتي

MyFileNum = FreeFile

ثم نستخدم التعبير Open لفتح الملف لاحظ أن مايأتى بعد بهدها مباشرة هو اسم الملف ثم طريقة الفتح وهي في حالتنا هذه هي الBinary Access ثم يأتي بعد ذلك رقم الملف.

Open "c:\test.txt" For Binary As #MyFileNu

ثم تأتي خطوة الكتابة في الملف عن طريق التعبير Put الذي يليه رقم الملف ثم نقطة بداية الكتابة ثم النص أو المتغير المراد كتابة محتواه في الملف.

Put #MyFileNum, , "Very Good"

وبعد أن إنتهينا من عمليةالكتابة يجب علينا إغلاق الملف عن طريق التعبير Close الذي يتبع برقم الملف المراد إغلاقه.

Close #MyFileNum

أما إذا أردنا أن نقرا الملف فإننا نعلن عن متغير من نوع String ونحدد له طول معين أو نملؤه بعدد معين من المسافات كمثال

MyVar=Scapce(20)

سنستخدم في تجربتنا الإعلان مع تحديد الطول

Dim MyT As String * 9

ثم نفتح الملف باستخدام التعبير Open

Open "c:\test.txt" For Binary As #MyFileNum

ثم نأتي إلى خطة القرآةباستخدام التعبير Get الذي يتبعه رقم الملف ثم نقطة بداية القرآءة ثم المتغير الذى نريد أن نملؤه من الملف

Get #MyFileNum, , MyT

في النهاية نغلق الملف

Close #MyFileNum
Debug.Print MyT
 


4-Random Access .

ملفات Random Access إلىحد كبير ملفات قواعد البيانات من حيث أن نها تتكون من سجلات و كل سجل يمكن أن يتكون من حقول.
ولفتح ملف Random Access نستخدم التعبير الدالة FreeFile للحصول على رقم الملف المتاح للنظام

MyFileNum = FreeFile

ثم نقوم بفتح الملف عن طريق التعبير Open ولاحظ في هذه الحالة أنه لابد من تحديد طول السجل فى الجزء الأخير من التعبير.

Open "c:\Ramdom.txt" For Random As #MyFileNum Len = 20

سنستخدم سجل طوله 20 حرف في هذا المثال
هنا وقد فتحنا الملف بالفعل جاءت خطوة الكتابة فيه عن طريق التعبير Put كما في المثال التالي لاحظ أن أن الجزء الثاني من التعبير مطلوب وهو رقم السجل كما لاحظ أننا سنكتب 3 سجلات في الملف

Put #MyFileNum, 1, "This is record 1"
Put #MyFileNum, 2, "This is record 2"
Put #MyFileNum, 3, "This is record 3"

ثم تأتي الخطوة الأخيرة وهي إغلاق الملف عن طريق التعبير Close الذى يتبع برقم الملف

Close #MyFileNum

أما إذا أردنا أن نقرا الملف فإننا نعل عن متغير من نوع String ونحدد له طول معين ليكون طول السجل المقرؤ

Dim strReturnString As String * 20

ثم نفتح الملف بالتعبير Open (لاتنسى تحديد طول السجل)

Open "c:\Ramdom.txt" For Random As #MyFileNum Len = 20

ثم سنقرا السجلات المطلوبة عن طريق التعبير Get.

Get #MyFileNum, 1, strReturnString
Debug.Print strReturnString
Get #MyFileNum, 2, strReturnString
Debug.Print strReturnString
Get #MyFileNum, 3, strReturnString
Debug.Print strReturnString

ثم نغلق الملف في النهاية.
(لاحظ أن بداية نقطة القرآءة أو الكتابة في Binary Access يقابها رقم السجل في ال Random Access وفي الأخيرة لابد أن تحدد طول السجل في حالتي القرأة والكتابة)


5-طريقة شائعة في كتابة الملفات

في أحيان كثيرة قد تريد تسجل بعض النصوص الموجودة في صندوق نص مثلا إلى ملف دون الإلتفات إلى موضوع Binary و الـ Random (مع الأخذ في الإعتبار مالها من فائة كبيرة قد لاتكون في مثل حالتك) فيمكنك حينها إستخدام طريقة Output كما في الكود التالي ولاحظ أنك تستخدم التعبير Print لعملية الكتابة.

Dim MyFileNum As Integer
MyFileNum = FreeFile
Open "C:\Test.txt" For Output As MyFileNum
Print #MyFileNum, Text1.Text
Close MyFileNum


6-طريقة شائعة في قراءة الملفات.

وكما كتبت الملف في الفقرة السابقة بطريقة Output يمكنك قرآته باسلوب مشابه بطريقة Input كما في الكود التالي

Dim MyFileNum As Integer
MyFileNum = FreeFile
Open "C:\Test.txt" For Input As MyFileNum
Text2.Text = Input(LOF(MyFileNum), MyFileNum)
Close MyFileNum


7-الإضافة إلى ملف.

ربما أردت أن تضيف نص إلى ملف موجود بالفعل (لاحظ أن الطريقة السابقة تحذف الملف الموجود قبل أن تنشئ ملف جديد لكن إذا أردت أن تضيف إلى الملف لابد أن طريقة Append وهي ببساطة تشبة الإسلوب السابق فى التعامل مع الملف.

Dim MyFileNum As Integer
MyFileNum = FreeFile
Open "C:\Test.txt" For Append As MyFileNum
Print #MyFileNum, Text3.Text
Close MyFileNum


 

جميع الحقوق محفوظة مركز التعليم المفتوح مواقع العاب