Professional Documents
Culture Documents
إن الحمد ل نحمده وستعينه ونستغفره ونعوذ بال من شرور أنفسنا ومن سيئات أعمالنا ،من يهده ال
فل مضل له ومن يضلل فل هادي له وأشهد أن ل إله إل ال وحده ل شريك له وأشهد أن محمداً عبده
ورسوله صلى ال عليه وعلى آله وصحبه وسلم .وبعد
أقدم لكم دروس بسيطة أرجو أن تنال إعجابكم وتفيدكم إن شاء ال
تستخدم الدالة Openفي فتح ملف في الذاكرة لغرض معين مثل القراءة منه أو الكتابة فيه وسنرى كيف نستطيع
بكل سهولة منع المستخدم من حذف أو تعديل أو نسخ أو فتح ملف بواسطة هذه الدالة
حيث
ملحظة
##عندما نريد إن نكتب داخل الملف يوجد أمران هما Print, Writeوالفرق بينهما إن Writeيطبع النص بين
علمتي اقتباس ("")
##لغلق الملف المفتوح نستخدم المر Closeثم نمرر له رقم الملف Close #1وإذا أردنا إغلق جميع
الملفات المفتوحة فيمكن استخدام المر Resetعملً بأن التعديلت التي نجريها على الملف لن تظهر ال بعد
إغلقه
##عند الفتح بواسطة الكلمات المحجوزة ( )Output , Random , Binary , Appendسيقوم البرنامج بإنشاء
الملف إذا لم يجده في المكان المحدد
Open
قم بعمل ملف نصي على المشغل Cوسمه Test.txtوالذي سنجرى عليه التطبيقات ثم افتح مشروعك وأدرج
اداتى مربع نص وزر أمر حيث سنكتب الكلم المراد إضافته في مربع النص وننفذ الكود عند الضغط على زر
المر وغير خاصية MultiLineلمربع النص إلى Trueوخاصية ScrollBarsإلى Both
.1
ألن الملف لحتوى على اى بيانات ونريد إن نكتب بداخله الجملة " يا رب أغفر لصاحب الكتاب " marimed
اكتب الجملة داخل مربع النص ثم اكتب الكود
.2
.3
نريد أن نقرأ هذه البيانات من الملف ووضعها في مربع النص لدينا طريقتين لهذا الغرض
هي قراءة الملف سطر سطر بواسطة الحلقات التكرارية والطريقة الثانية باستخدام الدالة Lofوسنرى الن
كيفية استخدام الطريقتين
طريقة الولي
عند فتح الملف لغرض القراءة منه يجب وضع اسم الملف في متغير وتمرير المتغير للدالة Openثم لدالة القراءة
Inputأو Line Input
يجب أن نعرف إننا عندما نقرأ سطر من ملف ينتقل مؤشر القراءة إلى السطر التالي وهكذا إلى نهاية الملف وإذا
لم نعطه شرط بالتوقف عند نهاية الملف فستظهر لنا رسالة خطأ والدالة التى تدلنا اذا كان المؤشر وصل الى نهاية
الملف أم ل هي الدالة EOFومعاملها هو رقم الملف وتعود بالقيمة Trueإذا كنا في نهاية الملف وسيكون الكود
كالتالي
لحظ أننا استخدمنا الثابت vbNewLineوالذي يحاكى الضغط على زر Enterاى يقوم بالكتابة في سطر جديد
ستلحظ انه عند وضع البيانات في مربع النص تم وضع الجملة" يا رب أغفر لصاحب الكتاب " marimed
والجملة" وجميع أهله " في سطر أخر اى أن الرمز " ",يعطى سطرًا جديداً عند القراءة ولتفادي هذه المشكلة
نستبدل الكود السابق بهذا الكود
الطريقة الثانية
حيث أن الدالة LOFتعود بحجم الملف بالبايت أو عدد البايتات التي يحتويها الملف
يمكننا عند فتح الملف لهذا الغرض قراءة أو كتابة بيانات داخل الملف اى إنها تعمل عمل الطريقة Append
والطريقة Inputمعاً لكن توجد فروق هامة يجب ملحظتها وهى:
*1عند التعامل معه كالطريقة Append
عند فتح الملف للغرض الثنائي يتم التعامل مع الملف بنظام البايتات اى إننا عند الضافة ل تتم إضافة بيانات
وإنما يتم التعديل على البايتات التي ستخزن فيها البيانات الجديدة وتتم الكتابة باستخدام الكلمة Put
هذه النقطة من الصعب شرحها لكن المثال التالي سيوضحها أكثر
ضع ملفاً في المسار " "C:\Test.txtواكتب داخله
الن افتح الملف وستجد ان الجملة " xxxxxعالم البرمجيات واللينوسك" قد تغيرت إلي "منتدى عالم البرمجيات
واللينوسك"
وهذا يعنى انه تم التعديل في البايتات التي تحتوى على الجملة الولى
الجملة Putلها ثلث معاملت الول هو رقم الملف المفتوح والثاني هو رقم البايت الذي سنبدأ من عنده التعديل
والثالث البيانات الجديدة التي سيتم كتابتها
نستخدم للقراءة الكلمة Getونمرر للمعامل الول رقم الملف والمعامل الثاني بايت بداية القراءة والمعامل الثالث
المتغير الذي سيحمل البيانات ويجب ان يكون متغير معرف على انه من النوع Stringعلمًا بأن عدد البايتات
التي سيتم قرائتها تتحدد حسب طول المتغير الذي سيحمل البيانات
لنفرض أن أول جملة في الملف السابق هي"منتدى عالم البرمجيات واللينوسك" ونريد قراءتها ووضعها في
مربع نص عدد حروف الجملة هي 30إذا يجب أن يكون طول المتغير هو 30لذلك نضع 30مسافة داخل
المتغير عن طريق الدالة Space
الكود:
إذا غيرت الرقم 40الممرر للدالة Spaceإلى 5سيتم قراءة الكلمة "منتدى" فقط
الن نريد أن نقرأ كلمة " عالم البرمجيات واللينوسك" فقط فكيف سيكون الكود؟؟
هنا يجب أن نستخدم المعامل الثاني والذي يعبر عن بداية القراءة ومن المفروض إن يكون 7وعدد حروف كلمة
" عالم البرمجيات واللينوسك" هو 24وسيتم تمريره للدالة Spaceوبذلك يكون الكود كالتالي
جرب الكود وستجد أن مربع النص كُتب بداخله كلمة " عالم البرمجيات واللينوسك"
عند استخدام حماية القراءة ستمنع المستخدم من فتح الملف وحماية التعديل ستمنع المستخدم من تعديل بيانات
الملف علمًا بأنه عند استخدام اى طريقة من هذه الطرق يمنع نسخ الملف او حذفه او نقله من مكانه لكن لبد ان
يظل الملف مفتوحاً وذلك بحذف المر Closeمن الكود وكتابته عندما نريد ان نفتح الملف للمستخدم ويفضل عند
الحماية بهذه الطرق ان يكون الفتح لحد الغرضين ()Input , Random
الكود
افتح الملف سيفتح معك لكن حاول تعديل بياناته وإغلق الملف ستظهر لك رسالة تنبيه بالحفظ اضغط ""Yes
ولحظ النتيجة
لن تعرفنا على طريقة بسيطة جداً للتشفير وفى نفس الوقت غاية في القوة بالنسبة لويندوز
عند تحديد رقم الملف عند فتحه يجب أن نتأكد أول من أنه ليوجد ملف آخر مفتوح بنفس الرقم لنه أن وجد
فستظهر رسالة معناها آن الملف مفتوح بالفعل ولتفادى هذه المشكلة وفرت لك بيئة الفيجوال بيسيك الدالة
FreeFileوالتي تعود بأول رقم يمكن إعطاؤه للملف عند الفتح وتستخدم كالتالي