‫‪El-amr‬‬

‫التعامل مع الملفات‬
‫في لغة الفيجوال بسيك‬

‫‪www.startimes2.com‬‬

‫‪El-amr‬‬

‫التعامل مع الملفات‬
‫في لغة الفيجوال بسيك‬

‫‪www.startimes2.com‬‬

‫و الصلة والسلم على اشرف المرسلين وخاتم النبيين‬
‫محمد ابن عبد ال‪ ،‬اللهم صل وسلم عليه صلة تنجينا‬
‫عند الممات وترفعنا أعلى الدرجات وتقضي لنا كل‬
‫الحاجات وتحمينا من جميع الفات أمين يا رب العالمين‪.‬‬
‫إنّ الحمد ل نحمدهُ ونستعينهُ ونستغفره ونستهديهِ ونعوذ‬
‫ل فل‬
‫بالِ من شرور أنفسنا وسيئات أعمالنا‪ ،‬من يهدهِ ا ُ‬
‫مضلّ له‪ ،‬ومن يضلل فل هادي له‪ ،‬وأشهد أن ل إله إل‬
‫ال وحده ل شريك له‪ ،‬وأشهد أنّ محمداً عبده ورسوله ‪.‬‬
‫ربي اشرح لي صدري ويسر لي أمري واحلل عقدة من‬
‫لساني يفقه قولي‪.‬‬

‫التعامل مع الملفات‬
‫في لغة الفيجوال بسيك‬

‫‪El-amr‬‬

‫‪www.startimes2.com‬‬

‫لجميع من ينطق ب ‪:‬‬

‫إلى أعز إنسانين في الدنيا والداي الكريمين‬
‫إلى أعضاء منتديات ستارتايمز وبالخصوص منتدى لغات‬
‫البرمجة‬

‫‪El-amr‬‬

‫التعامل مع الملفات‬
‫في لغة الفيجوال بسيك‬

‫‪www.startimes2.com‬‬

‫التعامل مع الملفات‬
‫في بيئة الفيجوال بسيك‬
‫ل توجد لغة برمجية ل تتعامل مع الملفات و من بين هذه اللغات‬
‫نجد الفيجوال بسيك ‪VB6‬‬
‫ماذا نعني بالتعامل مع الملفات ؟‬
‫عندما نسمع التعامل مع الملفات يخطر بالبال "إنشاء ملف‪ ،‬حذف ملف‪ ،‬نقل ملف‪ ،‬نسخ ملف‪".....‬‬
‫وكل هذا سنتطرق إليه إنشاء ال في هذا الموضوع‬
‫لماذا الملفات ؟‬
‫سؤال يخطر ببال العديد ممن يذكر عندهم التعامل نع الملفات‪ ،‬وهو سؤال مهم أي انه ما هو دور‬
‫الملفات ولماذا سنتعامل ما فائدتها ؟‬
‫طيب‪ .‬الملفات ضرورية لنك ستحتاج إليها في برامجك حيث مثل ستربط برنامج بملف نصي‬
‫وهذا نجده كثيرا فيما يتعلق ب" الرخص ‪ "licence‬في البرامج‪ ،‬أو ملف "إقراني ‪"lisez-moi‬‬
‫مثل حفظ الرخص وغالبا نجده في ملفات ذات المتداد"‪........ " Ini.‬إلى غير ذالك فالملفات لها‬
‫أهميه قصوى في البرامج‬
‫كانت هذه لمحة نظرية جد جد مختصرة عن الملفات بصفة عامة‪ ،‬و الن ننتقل إلى ما يخص‬
‫موضوعنا أي التعامل مع الملفات في ‪.VB6‬‬
‫حيث سنرى كيف نسجل‪ ،‬نقرأ‪ ،‬ونضيف البيانات داخل ملف‬

‫لفتح ملف يجب أن نعرف أول اسمه ثم مساره‪ ،‬وبعد نستعلم عن طريقة فتح الملف هل( للكتابة فيه‬
‫أم القراءة)‬
‫وبهذا يكون الكود على الشكل ‪:‬‬
‫*‬
‫‪Open "chemin de fichier" For Input As #I‬‬

‫نشرح الكود كلمة كلمة ‪:‬‬
‫‪ :Open‬ل أظن أن هذه الكلمة غريبة عنكم فهي تعني افتح الملف‬
‫‪ :Chemin de fichier‬مسار الملف المراد فتحه‬
‫‪ :For Input‬نقصد بها أن الملف هو للقراءة فقط‬
‫‪ :I#‬المقبض أو القناة التي سنتعامل بها مع هذا الملف وهو رقم بين ‪ 1‬و ‪511‬لكن سنرى دالة تغنينا‬
‫عن التعامل مع هذه الرقام‬
‫*‬
‫‪As #I‬‬

‫‪Output‬‬

‫‪Open "chemin de fichier" For‬‬

‫ماذا لحظت لم يتغير شئ نفس الكود السابق؟ ل‪ ،‬جيد لحظت الفرق نعم هو‪:‬‬
‫‪ :For Output‬فتح الملف للكتابة‬
‫*‬

‫‪El-amr‬‬

‫التعامل مع الملفات‬
‫في لغة الفيجوال بسيك‬

‫‪www.startimes2.com‬‬

‫وعند النتهاء من القيام بالعمليات التي نريد القيام بها يجب غلق الملف‬
‫‪Close #I‬‬

‫*‬
‫‪Open "chemin de fichier" For Append As #I‬‬

‫‪ : For Append‬نقصد بها إضافة في آخر الملف‪.‬‬

‫بعد أن نقوم بفتح الملف بالطريقة التي نريد وطبعا ستكون إما للكتابة أو الضافة لننا ل يمكن أن‬
‫نكتب في ملف مفتوح للقراءة فقط‪ .‬نكتب الكود ‪:‬‬
‫‪Print #I, var‬‬

‫‪ :Print‬أمر الطباعة‬
‫‪ : Var‬ما نريد كتابته فان كنا نريد أن نكتب كلمة محددة نضعها بين عملتي تنصيص " "‪ ،‬أما‬
‫إن كان لدينا متغير فنكتب اسم المتغير بدون العلمتين‬
‫أريد أن أنبه من جديد على أ ن ‪ I‬هو رقم (مثل ‪ )....1 ,2 ,3‬والرقم الذي استعملناه ل‬
‫نغيره مثل اخترنا من البداية ‪ 1‬يجب أن نستعمل دائما ‪1‬‬
‫لكن كما قلت سأشرح طريقة بها لن يقع علينا خلط للرقم الذي استعملت‪:‬‬
‫‪Hand = FreeFile‬‬
‫‪Open "chemin de fichier" For Output As #Hand‬‬
‫‪Print #Hand,Var‬‬
‫‪Close #Hand‬‬

‫" بشرط‬

‫لحظوا معي الكلمة باللون الحمر‪ " ،‬يمكن‬
‫أن تسرح بها في البداية على أنها ملف فارغ ‪ FreeFile‬كما قمت به في بداية الكود‬
‫قبل النتقال إلى التطبيق يجب معرفة انه أثناء الكتابة أو الضافة في ملف فان البرنامج إن لم يجد‬
‫الملف يقوم بانشاءه وسنلحظ ذالك في التطبيق‪ ،‬لكن إذا أردنا أن نقرأ من ملف وهو أصل غير‬
‫موجود فأكيد ستظهر لنا رسالة الخطأ ‪:‬‬

‫التعامل مع الملفات‬
‫في لغة الفيجوال بسيك‬

‫‪El-amr‬‬

‫‪www.startimes2.com‬‬

‫مثال تطبيقي‪:‬‬
‫افتح مشروعا جديدا ب ‪ VB6‬وقم بحفظه تذكر المسار ‪:‬‬
‫ثم أنشئ فورم بهذا الشكل‬

‫دوبل كليك على الزر‪:‬‬
‫ونكتب الكود‬
‫‪)( Private Sub Command1_Click‬‬
‫‪hand = FreeFile‬‬
‫‪Open App.Path & "\fichier.txt" For Output As #hand‬‬
‫‪Print #hand, Text1.Text‬‬
‫‪Close #hand‬‬
‫‪End Sub‬‬

‫الجديد في هذا الكود ‪:‬‬
‫‪ "App.Path & "\fichier.txt‬هنا قلنا للبرنامج أن يتبع مساره الذي يوجد فيه‬
‫وبعد ذالك‬
‫يفتح الملف ‪( fichier.txt‬الملف بامتداد ‪ Txt.‬ويمكن أن تحدد أنت المتداد مثل ‪ ini.‬أو ‪.‬‬
‫‪ ، bin‬وكما قلت سابقا البرنامج إن لم يعثر على الملف سينشئه لننا نريد الكتابة وليس القراءة)‬
‫الن شغل البرنامج بالضغط على ‪F5‬‬

‫اذهب الن إلى المسار الذي حفظت فيه البرنامج ولحظ ما يلي ‪:‬‬

‫التعامل مع الملفات‬
‫في لغة الفيجوال بسيك‬

‫‪El-amr‬‬

‫‪www.startimes2.com‬‬

‫جيل أليس كذالك لكن ماذا سيحدث لو قمنا بكتابة شي جديد‬
‫وضغطنا على زر " اكتب ف اللف"‪ ،‬آه لنجرب‪ ،....‬ماذا حدث ؟ لقد‬
‫ت مسح الكلمة السابقة وعوضتها الديدة‪.‬‬
‫نعم فهذا هو الفرق بي الكتابة والضافة (‪ output‬و ‪) append‬‬
‫ف ‪ output‬تسح متوى اللف ث تكتب الديد أما ‪ append‬فتذهب إل‬
‫آخر سطر وتكتب الديد‬
‫ب ‪ append‬وجرب البنامج ستلحظ انه‬
‫ف الكود نفسه عوض ‪output‬‬
‫ف اللف ينشأ سطر جديد فيه الكلمة الديدة‪.‬‬

‫الن سنجري بعض التطويرات على البرنامج‬

‫اجعل شكل البنامج هكذا‬

‫دوبل كليك على الزر الديد و اكتب الكود التال‬
‫‪)( Private Sub Command2_Click‬‬
‫‪' Dim a As String‬‬
‫‪hand = FreeFile‬‬
‫‪Open App.Path & "\fichier.txt" For Input As #hand‬‬
‫‪Line Input #1, a‬‬
‫‪Close #hand‬‬
‫‪Text1.Text = a‬‬
‫‪End Sub‬‬

‫التعامل مع الملفات‬
‫في لغة الفيجوال بسيك‬

‫‪El-amr‬‬

‫‪www.startimes2.com‬‬

‫الديد هنا هو أننا قمنا بالعلن عن متغي نصي أسيناه ‪a‬‬
‫وفتحنا اللف للقراءة‬
‫‪Open App.Path & "\fichier.txt" For Input As #hand‬‬
‫هنا قلنا للبنامج بان يقرأ السطر الول من اللف ث يضعه ف‬
‫التغي ‪a‬‬
‫‪Line Input #1, a‬‬
‫ث نظهر التغي ف خانت الكتابة‬
‫‪Text1.Text = a‬‬
‫هنا بقي الن أن نتطرق إل كيفية قراءة اللف كامل‬
‫ف القيقة هناك عدة طرق لكن وهذه إحداهن‪:‬‬
‫سنقوم بتطوير البنامج مرة أخرى حيث سنجعله بذا الشكل ‪:‬‬

‫دوبل كليك على زر "‬

‫" و اكتب الكود التال‬

‫‪)( Private Sub Command3_Click‬‬
‫‪hand = FreeFile‬‬
‫‪Dim a As String‬‬
‫‪Open App.Path & "\fichier.txt" For Input As # hand‬‬
‫‪)While Not EOF )hand‬‬
‫‪Input # hand, a‬‬
‫‪Text1.Text = Text1.Text + vbCrLf + a‬‬
‫‪Wend‬‬
‫‪Close # hand‬‬

‫‪El-amr‬‬

‫التعامل مع الملفات‬
‫في لغة الفيجوال بسيك‬

‫‪www.startimes2.com‬‬

‫هذا الكود هو أننا نكتب الوجود ف خانة الكتابة ث نعود ال‬
‫السطر بواسطة ‪ vbCrLf‬ونكتب السطر الوال ‪ a‬من اللف‬
‫‪Text1.Text = Text1.Text + vbCrLf + a‬‬
‫نفذ البنامج الن وحاول أن تاول إدخال عدة كلمات بالضغط على‬
‫زر "اكتب ف اللف"‬
‫كما قلت سالفا كيف لكي يتم الكتابة ف آخر اللف يب استعمال‬
‫‪Append‬‬
‫أي أن كود الزر سيكون‬
‫‪)( Private Sub Command1_Click‬‬
‫‪hand = FreeFile‬‬
‫‪Open App.Path & "\fichier.txt" For Append As #hand‬‬
‫‪Print #hand, Text1.Text‬‬
‫أضفت هذا السطر لفراغ محتوى خانة الكتابة بعد التنفيذ' ‪""=Texte.Texte‬‬
‫‪Close #hand‬‬
‫‪End Sub‬‬
‫وليس الكود الول الذي كتبناه ف بداية التطبيق أي هذا‬
‫الكود‪:‬‬
‫‪)( Private Sub Command1_Click‬‬
‫‪hand = FreeFile‬‬
‫‪Open App.Path & "\fichier.txt" For Output As #hand‬‬
‫‪Print #hand, Text1.Text‬‬
‫‪Close #hand‬‬
‫‪End Sub‬‬
‫انتبه للكلمات ذات اللفية المراء‬
‫إذن نفد البنامج وحاول أن تكتب عدة كلمات ف اللف‬
‫" ولحظ النتيجة‬
‫وبعد ذالك اضغط على زر "‬

‫‪El-amr‬‬

‫التعامل مع الملفات‬
‫في لغة الفيجوال بسيك‬

‫‪www.startimes2.com‬‬

‫لقد ت قراءة جيع السطر الوجودة ف اللف‬
‫‪Fichier.txt‬‬

‫‪El-amr‬‬

‫التعامل مع الملفات‬
‫في لغة الفيجوال بسيك‬

‫‪www.startimes2.com‬‬

‫وهكذا أيها القارئ الكري ت بمد ال‬
‫النتهاء من هذا الزء الاص بالتعامل مع‬
‫اللفات‬
‫وال أن نلتقي ف إصدار جديد إن كتبه‬
‫ال لنا‬
‫استودعك ال الذي ل تضيع ودائعه‬
‫والسلم عليكم ورحة ال‬
‫وللستفسار عن أي غموض‬
‫بريد الراسلة‬
‫‪el_amr@hotmail.fr‬‬
‫ول تنسوا الدعاء ف ظهر الغيب‬
‫مبكم ف ال‬
‫عمرو اللقب ب‪:‬‬
‫‪El-amr‬‬

Sign up to vote on this title
UsefulNot useful