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