Book Without Heading
تأليف المبرمج :أحمد فرا س نبيل /\4
Book Without Heading كتاب يقوم بشرح عن الفيجوال بيسك 6من الصفر مقدمة :
أساس عمل هذا الكتاب هو شرح البرمجة بوساطة الفيجوال بيسك 6من الصفر وكتابي هذا موجه لجميع المبتدئين أو الذين يودون الدخول للغة حاولت قدر المستطاع أن ابسط ما موجود في هذا الكتاب من معلومات كما أني حاولت جاهدا أن انسق ما فيه ليصبح صورة مفهومه لك شرحت المعلومات التي حسب معقدتي أنها سوف تكفي الذين يودون الدخول للغة الدخول فيها ولو قليل أرجو من ال إن أكون قد وفقت بطرح الفكار المناسبة والمفاهيم المناسبة وأدعو من ال عز وجل إن ينفعكم هذا الكتاب للبدء والدخول في هذه اللغة أليكم فهرس الكتاب ول أرجو منكم مقابل هذا الكتاب وثمنا له سوى
الدعاء لو ولوالدي بالغفران وحسن الجزاء وبهذا يصبح الكتاب ملكا لك
الفهرس كآلتي
الفصل
الصفحة
الول
2
يقوم هذا الفصل بأخذك برحله بيسك لستكشاف برنامج فيجوال بيسك والتعامل معه وغيرها من الوامر
الثاني
7
يبدأ هذا الفصل بالشرح عن الشفرات والحداث وغيرها
الثالث
12
يقوم بالشرح عن جمل الشرط If Select Case
الرابع
17
يقوم هذا الفصل بالشرح عن المتغيرات والثوابت
الخامس
23
يقوم هذا الفصل بالشرح عن جمل التكرار
Book Without Heading
عن
30
كيفية البدء مع
VB6
ا ل ف ص ل ا لوول
كيفية تشغيل البرنامج , يمكننا تشغيل برنامج فيجوال بيسك بكل سهولة وذلك من خلل الضغط على زر >>> >>> All Programs >>> Microsoft Visual Studio 6.0 VB6.EXE بعد فتح برنامج الفيجوال بيسك عن طريق المسار السابق وفور فتح برنامج فيجوال بيسك
Book Without Heading
سوف يظهر لنا مربع الحوار في الصورة أدناه لختيار نوعية المشروع المراد عمله
1
كما نلحظ من الصورة أعله يوجد العديد من أنواع المشاريع التي يمكننا عملها لكننا سوف نركز وفي الوقت الحالي على المشاريع Stander Exeالتي تعطينا مشاريع قياسية ذات امتداد Exeوسوف نتعرف على باقي أنواع المشاريع حال احتياجنا لها ,فور فتح برنامج فيجوال بيسك وظهور هذا المربع سوف نختار المشروع Stander Exeوبعدها نقوم بالضغط على زر Openليقوم برنامج فيجوال بيسك بتجهيز المشروع للعمل عليه وفي حال أردنا أن ل يقوم برنامج فيجوال بيسك يفتح النافذة السابقة بكل مره نشغل فيها البرنامج وفتح مشروع معين في كل مرة نقوم بإلغاء هذا الختيار من خلل تعليم اختيار
أسفل مربع الحوار ثم اختيار نوع المشروع الذي نود إن يقوم بفتحه في كل مره والضغط على زر Open
وبعد اختيار نوعية المشروع والضغط على زر Openنلحظ إن برنامج فيجوال بيسك قد قام ببناء المشروع لنا بكامل أجزائه بنافذة رئيسية واحدة بالضافة إلى الدوات الفتراضية التي يمكننا إضافتها وسوف نقوم ألن بالتعرف على بيئة هذا البرنامج خطوة بخطوة للحتراف بإذن ال أول قائمة أو صندوق الدوات :
يحتوي هذا الصندوق على جميع الدوات التي سوف نحتاجها وتستخدمها لصناعة تطبيقاتك المختلفة فهو يحتوي على أهم الدوات التي نحتاجها لنشاء إي مشروع وسوف أقوم بشرح كل أداة من الدوات الفتراضية في الجدول التي عملها
اسم الداة
Labelيمكننا استخدام هذه الداة لوضع أو عرض إي نص على واجهة المشروع Picture Boxتستخدم هذه الداة لعرض الصور في مشروعنا مع أمكانية التغير عليها من خلل الكود Text Boxمربع النص العتيادي للكتابة فيه لدخال قيمة ما أو إخراجها Frameوهو عبارة عن إطار ثانوي ضمن مشروعنا يمكننا أدارج الدوات فيه بصورة مستقلة
Check Boxمربع الختيار العادي Option Buttonصناديق الختيار العتيادية الذي نائلفه في الكثير من التطبيقات لختيار اختيار واحد من ضمن عدة اختيارات Combo Boxمربع السرد الذي يمكننا من خلله إدراج مجموعة من القيم النصية وعرضها بشكل قائمة ليختر المستخدم إي قيمة منه List Boxصندوق العرض وهو يشبه صندوق السرد السابق في العمل إل انه يختلف عنه في كيفية عرض العناصر حيث الفكرة إن المستخدم سوف يختار عنصر محدد من ضمن العناصر المدخلة مسبقا
Book Without Heading
Command Buttonزر المر العتيادي المستخدم في أغلب البرنامج
30
H Scroll Barشريط التمرير الفقي وهي تستخدم في انزلق الصور والكائنات الكبر من اللزم عرضيا V Scroll Barنفس الخاصة السابقة إل انه شريط طولي Timerتستخدم هذه الداة لتنفيذ أمر ما كل مده زمنيه محدده Drive List Box
يستخدم لعرض بارتشنات الجهاز الشغال عليه البرنامج
Dir List Boxأداة تستخدم لعرض مجلدات مسار معين File List Boxأداة تقوم بعرض ملفات الموجودة ضمن مجلد معين مع أمكانية تحديد عرض نوع من الملفات ذات امتداد معين كأن Exeأو Bmpوغيرها إلى الخ.... Shapeأداة تستخدم لرسم المربعات وغيرها من الشكال الهندسية لضافة جمالية إلى المشروع Lineأداة تستخدم لرسم الخطوط المستقيمة Imageأداة تستخدم لعرض الصور أيضا ضمن مشروعنا لكن بخيارات مختلفة قليل عن الداة السابقة Picture Box ) Data Control (DAOأداة الربط مع قواعد البيانات الخارجية Oleأداة تستخدم لضافة كائن لمشروعنا كان مستند أوفس أو صورة أو صوت أو غيرها
كما يمكننا إضافة أيا مما سبق من الدوات من خلل النقر عليها نقرا مزدوجا أو السحب والفلت على سطح الفور
Book Without Heading
ثانيا قائمة أجزاء المشروع :
1
لعرض أي جزء من المشروع نود أن نراه يمكننا ذلك عن طريق النقر المزدوج عليه
ثالثا أطار خصائص الدوات :
يمكننا هذا الطار بالتحكم بخصائص أي أداة قد نضيفها على المشروع واليكم جدول بأهم خصائص الدوات وعملها اسم الخاصية
عملها
Nameتحديد اسم الداة البرمجي الذي سوف نستخدمه في كتابة الكود الخاص بها Back Colorتحديد لون الخلفية للداة Border Styleخصائص أطار الداة
Fontsتنسيق الخطوط للداة Fore Colorلون الكتابة التي سوف تظهر على الداة Heightارتفاع الداة Mouse Iconشكل الفائرة عند المرور فوق الداة Mouse Pointerشكل الفائرة عند المرور على الداة وهي تحتوي على مجموعة من اليكونات الفتراضية ولستخدام الشكل الذي اخترناه من الخاصية السابقة يجب اختيار الخاصية Customمنها
Book Without Heading
Captionعنوان الداة الظاهر لن يؤثر على طريقة كتابتنا للكود
30
Right To Leftتقوم هذه الخاصية بتنسيق كتابة الخط وغيرها من جهة اليمين ألي اليسار إي الكتابة من الجهة العريبه للتطبيقات العريبه بالغالب Pictureلضافة صورة للداة Visibleخاصة لظهار أو إخفاء الداة Widthخاصة تحدد عرض الداة Tab Indexخاصية لتحدد متى يأتي دور الداة لتأخذ التركيز Tab topمنع وصول التركيز إلى الداة عن طريق Tab
وطبعا يمكننا تغير أي خاصية من الخصائص السابقة بالنقر عليها وتغيرها مباشرة أو عن طريق الكود بقى علينا أن نشرح جزء بسيط من القائمة العليا لبرنامج الفيجوال والتي فيها أوامر مهمة سوف نستخدمها لعمل مشاريعنا وهي
Book Without Heading
ألن وبعد إن قمت بشرح واجهة برنامج الفيجوال بيسك وتعرفنا عليه يمكننا البدء بالدخول إلى عالم الشفرات المصدرية لكن قبل ذلك أود أن أطرح مقدمة بسيطة عنها سوف نبدأ في هذا الشرح بالتعرف على كيفية كتابتنا للشفرات وأين نضع هذه الشفرات وما هي الحداث بداية سوف نقوم بعرض مكان كتابتنا لشفرات قم بالضغط على الفورم أو واجهة المشروع ضغطا مزدوجا سوف تلحظ ظهور شاشة مختلفة كليا وهذه هي شاشة الكود أو الشفرات يهمنا ألن أن نعرف أين يجب وضع الكود يوضع كل كود في حدثه الخاص ( سوف نشرح بعد قليل الحداث ) فلو أردنا أن يغلق البرنامج فور الضغط على زر محدد سوف نضعه بحدث الضغط ولو أردنا فور كتابة شيء معين وضعنه بالحدث الفلني لذا الحداث هي عبارة عن ردود لما يقوم بها المستخدم كان الضغط المزدوج تحريك النموذج كتابة شيء ليقوم البرنامج بعمل رد فعل مقابل كل فعل وتنفيذ الكود الواقع ضمن هذا الحدث تعال لنجرب معا ونكتب أول كود لنا في حدث تشغيل البرنامج في حدث Form_Loadقم بالضغط على النموذج ضغطا مزدوجا وضع الكود التي فيه
1
”MsgBox “congratulation This Your First Code لحظ الصورة أدناه لمزيد من التوضيح
قم بتجربة تشغيل البرنامج من خلل الضغط على زر تجربة الموجود في الموجود في القائمة العليا ولحظ ظهور رسالة فور تشغيل البرنامج
الشفرات الفصل الثاني قد يتخاطر الن على فكرك أين تضع الكود وغيرها الكثير من المور بداية يجب أن تعرف انك لو أردت أن تضيف أي كود على أداة معينة فأول ما سوف تقوم بعمله هو الضغط المزدوج على هذه الداة لتظهر منطقة كتابة الكواد ومن ثم اختيار الحدث المناسب للكود وبعدها البدء بكتابة الكود فلو أردنا مثل طباعة كلمة معينة على النموذج سوف نقوم أول باختيار الحدث المناسب لتنفيذ هذا الكود فلو فرضنا أننا سوف نقوم باستخدام زر أمر سوف نقوم بإدراج هذا الزر على واجهة النموذج بالسحب و الفلت أو النقر عليه نقرا مزدوجا بالفائرة ليتم إضافته فورا بعد ذلك نعيد تسميته من خلل الخاصية Captionكما سبق أن ذكرنا وبعد ذلك سوف نختار الحدث فمثل نختار عند النقر على الداة الحدث Clickونقوم بكتابة الكود التي
)(Private Sub Command1_Click ”Print ”Ahmed Feas End Sub
Book Without Heading
من الجدير بالذكر أنه يمكنك تعلم اختيار وإضافة الحدث المناسب من خلل الصور التية
30
ألن جرب تشغيل البرنامج لتجربته واضغط على زر المر لحظ طباعة الكلمة فور الضغط على الداة ألن حاول الممارسة قليل وغير الحدث الموجود فيه الكود وتعال لنكمل معا الصيغة العامة لكتابة الكود هي أسم الداة.الخاصية = الضبط فمثل أضف أداة Text Boxعلى واجهة نموذجك وأضف زر أمر ثم قم بالنقر على زر المر نقرا مزدوجا وجرب اكتب أسم أداة (Text Boxأسم الداة البرمجي ) Nameثم ضع النقطة لتظهر قائمة بخواص و إمكانيات الداة لحظ الصورة أدناه
الن يمكنك أن تجرب أي خاصية من الخواص كمثال خاصية Textإي النص الذي سوف يظهر في الداة جرب كتابة المر التي وشغل البرنامج ولحظ النتيجة
)(Private Sub Command1_Click ”Text1.Text = ”Ahmed Feras End Sub
Book Without Heading
ألن لنقم إنا وأنت بصناعة برنامج بسيط لظهار الوقت والتاريخ والترحيب الخاص عندما نطلب منه ذلك بالضافة إلى زر للخروج من البرنامج قم بإضافة الدوات التية
1
اسم الداة
العنوان Caption
Command Button
اظهر الوقت
Command Button
اظهر التاريخ
Command Button
اظهر الترحيب الخاص
Command Button
خروج
Text Box
اتركها فارغة ل تكتب شيء
Book Without Heading
وبعد ذلك قم بترتيب الدوات على المشروع لتبدو بالشكل التالي :
30
ألن نبدأ بكتابة اكواد مشروعنا الرئيسية :
نقوم أول بكتابة كود إظهار الوقت اضغط ضغطا مزدوجا على زر المر ولنقم بإضافة الكود التي )(Private Sub Command1_Click Text1.Text = Time End Sub وبعد ذلك شفرة إظهار التاريخ ()Private Sub Command2_Click Text1.Text = Date End Sub ثم الترحيب الخاص )(Private Sub Command3_Click “ Text1.Text = “Welcome In your First program End Sub بالنهاية كود الخروج من البرنامج ()Private Sub Command4_Click End End Sub
Book Without Heading
الن أضف زر أمر أخر واجعل اسمه مسح النصوص واكتب الكود الخاص به
1
ملحظة لتغير أي خاصية من خصائص أي أداة يمكن تغيرها من خلل الكود بالطريقة التية
اسم الداة البرمجي ( . ) Nameالخاصية = القيمة وسوف اعرض لك بعض المثلة ألن
أضف زر أمر واحد لمشروع جديد واضغط نقرا مزدوجا عليه وقم بإضافة الكود التي ”Command1.Caption = “Ahmed شغل البرنامج وانقر على الزر لتلحظ تغير عنوانه على ما مكتوب بين علمتي التنصيص من الجدير بالذكر إننا في برنامج فيجوال بيسك نكتب إي قيمة نصية بين علمتي التنصيص " " وكذلك هو الحال عند كتابة الرقام كأنها قيم نصية الن لنأخذ أمثله أخرى مثل أضف أداة Picture Boxثم أضف زر أمر واكتب الكود التي لتغير لون خلفية أداة Picture Box Picture1.BackColor = VbRed كم تلحظ أننا نستطيع تغير اغلب خصائص الدوات عن طريق الكود الن سوف أعطيك بعض النشطة لتقم بها للتدرب قليل وبعدها ندخل على جمل القرار
سو / 1اكتب كود لتغير لون الكتابة الظاهرة في مربع نص اعتيادي Text Box سو / 2أكتب كود لتغير اتجاه النص اجعله من اليمين إلى اليسار في أداة Text Box سو / 3اجعل طول أداة Picture Boxاكبر مما هو عليه ب 10
ج مل القرار
Book Without Heading
لو نجحت في ما قمت بعملة تابع الفصل التي جمل القرار
30
الفصل الثالث سوف نتعرف في هذا الفصل على جمل القرار التي ل نستطيع الستغناء عنها مطلقا في البرمجة إليك توضيح لجمل القرار هي جمل تستخدم لتخاذ قرارات أو تنفيذ كود برمجي معين عند حدوث أحد الشروط التي يضعها المبرمج عند كتابته لجملة القرار تستخدم في هذه الحالة جمل القرار والتي نقسم إلى نوعين هما جملة القرار Ifوجملة القرار Select Caseسوف نبدأ أول بشرح جملة القرار Ifتكون الصيغة العامة لكتابة هذه الجملة هي بالشكل التي
ا ل ص ي غ ة ا لوول ى :ل ج م ل ة ا ل ق ر ا ر If الكود في حال تنفذ الشرط Thenالشرط ..… If هذه هي ابسط صورة لجملة ( Ifالشرطية فنكتب أول Ifوهي تعني في حال تحقق الشرط التي) ثم الشرط وكلمة Thenوالتي تعني فقم بالتي في حال تحقق الشرط يمكننا تجربة جملة Ifبالطريقة التية في المثال التي وهو يقوم على التحقق مما قد كتبه المستخدم فإذا كان ما كتبه هو 1993 فيقوم بعرض رسالة نقوم أول بفتح برنامج فيجوال بيسك وإدراج زر أمر واحد ومربع نص ثم نقوم بإضافة الكود التي في حدث الضغط على زر المر : )(Private Sub Command1_Click " If Text1.Text = "1993" Then MsgBox "This is a simple End Sub نقوم بتجربة المثال السابق ونكتب 1993في مربع النص لنلحظ ظهور الرسالة وعدم ظهورها في حال كتابة إي شيء أخر لن تظهر لننا حددنا شرط ظهور الرسالة السابقة وهو إن تكون القيمة النصية المكتوبة في مربع النص = 1993وهذه كانت الصيغة الولى كما يمكن كتابة هذه الصيغة بالشكل التي لتقبل إضافة أكثر من أمر في حال تحقق الشرط وهي
الصيغة الثانية : Thenالشرط .… If الكود الول في حال تحقق الشرط الكود الثاني الثالث
Book Without Heading
إلى الخ..... End If وهذه هي الصيغة الثانية نفس السابقة إل إن جملة Ifأصبحت بأكثر من شرط لمكانية إضافة أكثر من Private )(SubIfCommand1_Click Endفي أمر في تحقق الشرط نفس الطريقة السابقة إل إننا هنا سوف يتحتم علينا إضافة جملة تصبح=بأكثر من سطر Thenسوف نهاية الجملة لكي يعرف البرنامج أن الجملة انتهت في المكان المحدد لنها If Text1.Text ""1993 وليس من المعقول إن تمتد لنهاية الجراء أو الحدث "MsgBox "This is the First Code لتجربة الصيغة السابقة يمكننا عمل نفس البرنامج السابق لكن نستخدم هذه المرة الكود بالصورة التية "MsgBox "The Second لعرض أكثر من رسالة أو تنفيذ أكثر من كود "MsgBox "Etc Text1.backColor = VbRed 1
End If End Sub
جرب تشغيل البرنامج ولحظ تنفيذ أكثر من كود وهذه كانت الصيغة الثانية لجمل Ifالشرطية ألن ننتقل إلى
الصيغة الثالثة : لو أردنا تنفيذ حديثين مختلفين في كل مره مثل لو كان ما مكتوب في صندوق النص = 1993يظهر رسالة ما ولو كانت لم تكن القيمة 1993نريد تنفيذ كود أخر ما العمل ,العمل بالصيغة الثالثة والتي تكون كالتي
Thenالشرط .… If الكود في حال تحقق الشرط Else الكود في حال عدم تحقق الشرط End If
)(Private Sub Command1_Click If Text1.Text = "1993" Then "الكود في حال تحقق الشرط" MsgBox
Book Without Heading
كما تلحظ تكون الصيغة هي في حال تحقق الشرط قم بالتي ثم كتابة الكود في سطر جديد ومن ثم سطر جديد وكتابة كلمة Elseوتعني في حال عدم تحقق الشرط ثم سطر جديد والكود في حال لم يتحقق الشرط سوف تستوضح المور أكثر بالكود التي أيضا قم بإضافة مربع نص وزر أمر فقط واكتب الكود التي
Else "في حال عدم تحقق الشرط" 30MsgBox End If
لو جربت البرنامج ألن للحظت ظهور رسالتين مختلفتين حسب القيمة المدخلة وهذه هي جملة If الصيغة الثالثة وبقت الصيغة الخيرة
الصيغة الرابعة :
…. Thenالشرط If الكود في حال تحقق الشرط الول Thenالشرط الثاني ElseIf الكود في حال تحقق الشرط الثاني نهاية الجملة End if راءت شركة مايكروسوفت انه من غير الجيد انه إذا احتاج المبرمج إن ينفذ اكواد حسب المدخلت المحددة فقط وعرض ناتج لكل إدخال( كمثال عرض رسالة محددة لو كان ما مكتوب في مربع النص = 1993وعرض رسالة مختلفة أخرى في حال كان 1992ورسالة مختلفة أخرى لو كان )1991انه من غير الجيد إن يبطر إلى كتابة جملت عديدة لتمام مهمته سوف أوضح لك بمثال يقوم الكود التي بعرض رسالتين مختلفة فقط في حال تحقق احد الشرط وهذه هي فائدة الصيغة الرابعة
)(Private Sub Command1_Click If Text1.Text = "1993" Then "الكود في حال تحقق الشرط الول" MsgBox ElseIf Text1.Text = "1992" Then " في حال تحقق الشرط الثاني" MsgBox
Book Without Heading
End If End Sub )(Private Sub Command1_Click جديدIf Text1.Text "= "1993 Then وحدها وسطر كلمة Else كما يمكننا أيضا إضافة كود في حال عدم تحقق كل الشرطين بإضافة والكود وهذا مثال عن ذلك : " الكود في حال تحقق الشرط الول" MsgBox ElseIf Text1.Text = "1992" Then " في حال تحقق الشرط الثاني" MsgBox Else "في حال عدم تحقق كل الشرطين" MsgBox 1
End If End Sub
يمكننا الستغناء عن الصيغة الخيرة بجملة القرار Select Case
ج م ل ة ا ل ق ر ا ر Select Case تكون الصيغة ابسط من الصيغ السابقة وهي صيغتان واحدة موحدة كالتي
الشرط Select Case الشرط الول Case الكود في حال تحقق الشرط الشرط الثاني Case الكود في حال تحقق الشرط يمكنك إضافة ما شئت من الشروط ونهاية الجملة بو End Select أليك مثال عنها لتوضيح أكثر
)(Private Sub Command1_Click Select Case Text1.Text
"شرطك" MsgBox "Case Is = "1992 "شرطك" MsgBox "case = "1991 "شرطك" MsgBox إلى الخ ..يمكن إضافة قدر ما شئت من الشروط End Select End Sub
Book Without Heading
"Case Is = "1993
30
إموا لو أردت تنفيوذ كود فوي حال عدم تحقوق أي مون الشروط السوابقة فسووف تسوتخدم كلموة Elseمره كما في المثال آلتي )(Private Sub Command1_Click Select Case Text1.Text "Case Is = "1993 "MsgBox "Your Message1 "Case Is = "1992 "MsgBox "Your Message2 Case Else "MsgBox "Your message3 End Select End Sub
Book Without Heading
ألن ختمنا هذا الفصل فصل جمل القرار أتمنى أن أكون قد وفقت بطرح الفكرة وأنصحك بالكثير من الممارسة على هذا الفصل لتقويه خبرتك شيئا فشيء
1
المتغيرات وا لثوابت الفصل الرابع
المتغير والثابت :هو مكان يحجز بالذاكرة المؤقتة ألرام ويضع فيه قيمة ما تخزن مؤقتا فيه مع إمكانية تغير القيمة أو قراءتها لن أشرح أهمية المتغيرات والثوابت لنك سوف تكتشف أهميتها فور دخولك لهذا العالم كل ما يهمنا ألن كيفية العلن عنها يتم التعريف عن المتغيرات كالتي كيفية العلن عن المتغيرات ؟
تتم عملية العلن عن المتغيرات كالتي أول شي نبدأ التعريف بكلمة Dim حيث تقوم كلمة Dimبحجز مساحه في الذاكرة لنا لهذا المتغير ثم بعد ذلك نبدأ بكتابة أسم المتغير الذي نريد العلن عنة ثم بعد ذلك نكتب الكلمة asثم تليها نوع المتغير الذي نود العلن عنه لحظ المثال أدناه Dim Value_Name as The_Type مثال أخر Dim Ahmed as Integer ففي المثال السابق قمنا بالعلن عن متغير باسم Ahmedثم كتبنا نوعه وهو Integerوهكذا قمنا بالعلن عن متغير باستخدام كلمة الحجز Dimوالذي يحتفظ المتغير بقيمة في حالة العلن هكذا لحد نهاية عمره (سوف تفهم معنى هذه الكلمة بعد أن أقوم بشرحه) أما ألن فهنالك كلمة أخرى تقوم بحجز مساحه لنا بالذاكرة للمتغير الذي نريده وهي كلمة العلن Staticحيث يتم العلن عن المتغير في هذه الحالة بنفس الطريقة لكن باستبدال كلمة Dimبوو Staticهكذا Static Value_Name as The_Type مثال أخر Static Ahmed as Integer
– 1أن يبدأ أسم المتغير بحرف ل رقم – 2أن ل يتجاوز طوله أكثر من 40حرف – 3يجب عدم وضع رموز وفراغات فيه وينصح أذا كنت عامل متغير أسمه أكثر من كلمتين وتريد العلن أن يتم العلن باستخدام الرمز التي _ Dim or Static as ِAhmed_Feras
Book Without Heading
ففي المثال السابق أيضا أعلنا عن متغير اسمه Ahmedمن النوع Integerحسنا هنا يأتي السؤال أذن ما الفرق بين كلمة العلن Dimو Staticالفرق بينهما إن أمر العلن Staticيحجز مكان للمتغير في الذاكرة ويقوم بحفظ قيمته لحين الخروج من البرنامج إما أمر العلن Dimفهو يخضع لشروط عمر المتغير والتي سوف اشرحها فيما بعد وألن هنالك شيء يجب معرفته وهو أن تسمية المتغير خاضعة لشروط وقوانين وهي كالتي
30
– 4أن ل يكون اسما محجوزا من قبل الفيجوال كمثال Dim ,Print ,وغيرها ...إلى الخ من السماء المحجوزة
أما بالنسبة لكيفية إسناد قيمة لمتغير معين فيتم ألمر بكل بساطة بإتباع الخطوات التية
القيمة = Value_Name القيمة = أسم_المتغير كمثال : Dim X As Integer X = 10 فالمر بهذه البساطة وبالنسبة لسترجاع قيمة من متغير فيتم المر بالشكل نفسه مثل للجلب قيمة متغير إلى مربع نص Dim X As Integer X = 10 Text1.Text = X
Book Without Heading
شغل البرنامج ولحظ كيف إن القيمة سوف تظهر في مربع النص الن بعد معرفتك لكيفه العلن عن المتغيرات وإسناد واستخراج القيم منها إليك جدول بأنواع المتغيرات مع أمثله لكيفية لستخدامها
1
نوع المتغير
القيمة التي يستط يع خزنها
String
قيمة نصية
Integer
رقم
مثال ع ن استخدامه Dim X As String ”X = “Ahmed Dim No1 As Integer
No1 = 124 Single
أيضا رقم
Double
أيضا رقم مع تقبل فاصله عشريه
Date
تاريخ
Boolean
True , False
Dim No_Name As Single No_Name = 3 Dim F As Double F = 12.5 Dim A As Date A = #7/24/2008# Dim Httt As Boolean Httt = False
بقى علي في هذا الفصل أن أوضح لك بعض النقاط مجال الرؤيا للمتغير لكن قبل ذلك تأكد من يقصد بالمصطلح السابق - :وهو المكان الذي يعلن فيه المتغير ويحدد صلحية من له ألقدره على الوصول للمتغير وإجراء التغيرات عليه أو قراءته وهنالك بصورة عامة أنواع من التعريفات عن المتغير التعريف عن متغير داخل أجراء ,حدث ما ويكون مجال الرؤيا لهذا النوع من التعريفات محصور فقط داخل الجراء إي ل يمكن تغيره أو حتى قرانه من خارج الجراء لثبات صحة الكلم السابق قم بفتح برنامج فيجوال بيسك بالطريقة التي تم ذكرها سابقا واختيار مشروع من نوع Stander.Exeثم بعد ذلك نقوم بإضافة زرا أمر ونقوم بكتابة الكود التي مع إعلن متغير من النوع Integerفي الزر الول
)(Private Sub Command1_Click Dim X As Integer MsgBox X End Sub
)(Private Sub Command2_Click MsgBox X End Sub
جرب البرنامج ولحظ ظهور رسالة الخطاء :
Book Without Heading
ألن جرب تشغيل البرنامج ولحظ عند الضغط على زر المر الول ظهور الرسالة بصورة طبيعية لتخبرك بقيمة المتغير جرب ألن كتابة الكود التي في زر المر الثاني ولحظ
30
لتخبرك بعدم وجود المتغير ويعود السبب هذا لنك قمت بالعلن عن متغير داخل الجراء مما جعل مجال الرؤيا له مقتصرة على الجراء الذي أعلنت المتغير فيه فقط أتمنى أن أكون قد وفقت بطرح الفكرة السابقة ألن ننتقل بالنسبة لمجال الرؤيا للمتغير الذي يعلن في منطقة التصاريح العامة سوف يستوجب علي أول شرح لك ما هي منطقة التصاريح ألعامه ( تتم صياغ ة التعريف لحق ا ) يكون مجال الرؤيا لهذا النوع من المتغير صالح للستعمال من جميع إنحاء الفورم المعلن عنه ومن أي حدث واقع في هذا الفورم يمكنك التجربة بالعلن عن متغير وتجربة استعماله كما في المثال السابق ولحظ أنه صالح لجميع أجزاء المشروع أما ألن هنالك نوع أخر أو بالحرى صيغة أخرى يمكنك تعريف المتغير فيها ليصبح صالح للستعمال من جميع إنحاء المشروع الصيغة هي :
Public Value_Name As Value_Type
Book Without Heading
ويكون هذا النوع من التعريفات صالح فيه المتغير للستعمال من جميع إنحاء المشروع كما ذكرت سابقا هكذا أكون قد أنهيت من شرج مجال الرؤيا للمتغيرات لنتقل ألن لمعرفة ما هو عمر المتغير عمر المتغير وهي المدة التي يبقى المتغير مخزونا في الذاكرة ويرتبط عمر المتغير بمكان العلن عنه فالمتغير المعلن داخل إجراء ينمحي من الذاكرة فور انتهاء الجراء كما هو الحال بالنسبة للمجال الرؤيا له فعند انتهاء الجراء ينمحي المتغير من الذاكرة بالضافة إلى قيمته إما بالنسبة للمتغير المعلن في منطقة التصاريح العامة فهو يبقى لحد نهاية البرنامج أو الفورم المعلن فيه هنا وصلنا إلى نهاية الشرح عن المتغيرات بقى لي إن اعرف أو أوضح لك انه هنالك نوع من التعريف عن المتغيرات يبدأ بكلمة Static بدل Dimالفرق بينه وبين أمر العلن الول إن المتغير العلن عنه في هذه الحالة سوف يحتفظ بقيمته دائما ولن يخضع لشروط عمر المتغير يجب أن تعرف أيضا إن شرحنا كان السابق كان على أساس تفعيل خيار طلب العلن عن متغير قبل العمل عليه من خلل وضع جملة Option Explicit اعلي صفحة الكود من اجل إن يقوم البرنامج بطلب التعريف عن المتغير أول ثم العمل عليه وفي حال كانت هذه الجملة غير موجودة فان إي حرف جديد سوف يعتبره البرنامج متغير جديد ويبدأ بالتعامل معه على هذا الساس
1
ولجعل برنامج فيجوال بيسك 6يقوم بإضافة هذه الجملة أليا في كل مره نقوم بعمل مشروع أو واجهة جديدة قم بإتباع الخطوات التية أول أفتح برنامج فيجوال بيسك وأختر نوع مشروعك ثم اضغط على القائمة Toolsوأختر الخيار Option
ثم اضغط زر Okمع ملحظة أن مربع الحوار السابق يمكننا السيطرة على أوامر عديدة داخل برنامج الفيجوال بيسك يمكنك التعرف عليها أذا أردت
ألن وبعون ال أتممت شرح المتغيرات وأتمنى أن أكون قد وفقت بطرح الفكرة اللزمة عنها بقى أن أشرح الثوابت الثابت يتشابه كثيرا مع المتغير إل انه يختلف عنه بأنه يحمل قيمة ثابتة ل يمكن تغيرها مطلقا فالقيمة تعطي بنفس سطر العلن عنه ول يجوز تغيرها أنواع الثوابت نفس أنواع المتغيرات واليك الصيغة العامة لها
Book Without Heading
ثم بعد ذلك علم الختيار
ليصبح مربع الحوار كما في الصورة التية
30
Const Value_Name As Value_Type = Value حيث تكون الصيغة هي أمر العلن عن الثابت Constومن ثم يليه أسم المتغير والكلمة المحجوزة As ثم نوعه والرمز = وبعدها قيمة الثابت مباشرة كما إليك مثال عنه : )(Private Sub Form_Load "Const X As String = "Ahmed MsgBox X
وكما نلحظ أننا مجبرين على أن نعطي القيمة مباشرة له ولن يسمح لنا بتغيرها بعد ذلك ون الجدير بالذكر إن الثوابت تخضع لنفس قوانين مجال الرؤيا و لقانون عمر المتغير فهي تبقى في الذاكرة إلى نهاية عمرها حسب مكان المعرفة فيها ويسمح بالتعامل معها حسب مكان التعريف عنها كما سبق أن ذكر ألن قمت بإتمام شرح المتغيرات والثوابت يمكنك مراجعة الفصل مراجعة سريعة للنتقال معي للفصل التالي لكن قبل كل شيء وأحب أن أذكر بالنهاية أنه يمكنك تعريف أي متغير بالشكل التي Dim Value_Name وفي هذه الحالة سوف يصبح نوع المتغير حسب القيمة التي سوف تعطيها له أن هذه الخاصية جميله لكنها تقلل من سرعة البرنامج كما أنه من الجدير بالذكر في ختام هذا الفصل بخصوص المتغيرات من نوع Stringحيث يمكن تحديد العدد القصى للحرف التي يمكن إن يحتويها هذا المتغير بالشكل التي Dim Value_Name As String * Letter_Number Example : Dim X as String * 5
Book Without Heading
بالنهاية ل أتمنى غير أن أكون قد أتممت شرح هذا الفصل والفصول السابقة بصورة ملمة
1
ج مل التكرار
الفصل الخامس
سوف أقوم بأذن ال في هذا الفصل بالشرح عن جمل التكرار وماذا نقصد بها تخيل انك تود إن تعمل كود يتم تنفيذه أو تكراره عدة مرات كان طباعة اسم احمد 50مرة فهل سوف تقوم بكتابة الكود 50مرة من اجل إن تتم العملية بالطبع لن تفعل وإذا قلت إن نسخ ولصق نفس الكود بالعملية ألسهله لن تصبح كذلك عندما يجب إن تغير في الكود رقم أو حرف معين ونفس الكود لنبدأ جمل التكرار تقسم إلى نوعين الول For
For Variable = Start To End Statements to be repeated Next Variable وفق الترتيب السابق فان الكلمات For To Nextهي كلمات محجوزة و الو = هو العامل المطلوب فمثل لجعل البرنامج يقوم بكتابة قيمة معينة على الواجهة أربع مرات يمكننا استخدام الكود التي
)(Private Sub Command1_Click Dim X As String * 5 Dim I As Byte "X = "Ahmed For I = 0 To 4 Print X Next End Sub
)(Private Sub Command1_Click Dim I As Byte For I = 0 To 10 Print I Next End Sub
Book Without Heading
المتغير المستخدم في هذه الحلقة هو Iوهو المتغير الذي يحمل قيمة الحلقة فهو يبتدئ بالقيمة التي أعطينها له بعد علمة = ويستمر لحد القيمة بعد كلمة Toوتتم زيادة المتغير مره كل تنفيذ الكود الموجود في الحلقة وبالنسبة لبقية الكود فلم نفعل غير تعريف متغير من النوع Stringكحد أقصى من الحرف 6لن الفيجوال يبتدئ الترقيم من الصفر أعطينا قيمة المتغير وجعلنا البرنامج بطباعة الكلمة كل مرة من خلل الكود Print Xألن جرب استخدام الكود لكن بصورة مختلفة قليل كالتي
30
لحظ إن البرنامج في الحلقة يقوم بزيادة القيمة مره واحده كل مره تم فيها إكمال الحلقة
ولكننا نستطيع إن نتلعب في العداد ونجعله يضيف قيمة اكبر من خلل الكلمة المحجوزة Stepحيث تقوم هذه الجملة بتحديد زيادة العداد لو كتبت الرقم 2سوف تقوم بزيادة العدد 2في كل مره تقوم فيها بتمام الحلقة وهكذا إليك مثال عنها للتتوضح المور )(Private Sub Command1_Click Dim I As Byte For I = 0 To 10 Step 2 Print I Next
Book Without Heading
End Sub
1
جرب تشغيل البرنامج ولحظ المخرجات
هل تلحظ إن عداد الحلقة قام بالزيادة مرتان بدل المرة ألن بقى شيء أخير وهو أذا أردت أن تخرج من الحلقة كيف يتم ذلك يتم ذلك من خلل المر Exit Doحيث هذا المر سوف يخرجك مباشرة من الحلقة ولن يسمح بعمل دورة أخرى بعد تنفيذه ألن وفي نهاية شرحنا لجملة التكرار Doأليك بعض المثلة التي سوف تبين لك أهميتها قم بإضافة أداة وزر أمر الن لو أرنا أن يقوم المستخدم باختيار عمره من خلل هذه الداة هل سوف نقوم List Box بإضافة الرقام يدويا من واحد إلى المائة ونبدأ بكتابة سطر بسطر ل بل سوف نقوم باستخدام الجملة السابقة كالتي
)(Private Sub Command1_Click Dim H As Integer For H = 1 To 100 List1.AddItem H Next
جرب تشغيل البرنامج والضغط على زر المر لتلحظ أنه قائم بملء الداة أتمنى انك فهمت ما شرحته لكل لنتقل ألن إلى جملة التكرار الخيرة Do Whileفي بعض الحيان قد تحتاج لستخدام حلقه لكنك ل تعرف إل متى سوف تريد استمراره كان تريد استمرار ظهور رسالة في حالة عدم كتابة السم الذي تود في المربع الذي سوف يظهر وغيرها الكثير اليك الصيغة العامة
Book Without Heading
End Sub
30
Do While Conditions The Code Loop
حيث تكتب الجملة بالشكل السابق أليك مثال بسيط لتوضيح
)(Private Sub Command1_Click Dim X As String "Do While X <> "Ahmed )”X = InputBox("Enter the name Pz Loop End Sub
Book Without Heading
شرح الكود السابق في السطر ألول قمنا بالتعريف عن متغير من النوع Stringلسناد قيمة مربع الحوار الذي سوف يظهر له بعد ذلك كتبنا الجملة ووضعنا الشرط استمر في حالة لم يكن السم Ahmedثم كتبنا كود لعرض رسالة للمستخدم لدخال السم وإسناد القيمة التي سوف يدخلها للمتغير ومن ثم Loopنهاية الجملة
1
نهاية الكتاب أرجو أن أكون قد ساعدتكم على الفهم والبدء ولو قليل في البرمجة وأسف للقصور في الشرح لكن لي ظروفي فيما عدا ضيق الوقت وما هدفي من الكتاب أل الفادة ورضاكم في حال وجود أي خطاء في الكتاب أرجو منكم مراسلتي فبالنهاية كلنا بشر وليس هنالك من هو معصوم من الخطاء في حدوث ما سبق أو لي استفسار أرجو منكم مراسلتي
تأليف و كتابة :أحمد فراس نبيل (لحظ عندما أقول انه تأليف أي ليس اقتباس أو جمع معلومات من أي كتب ول ترجمة)
موقعي الشخصي www.ahmedferas.jeeran.com - : بريدي
[email protected] :
[email protected] هاتفي الشخصي 009647702986469 - :
Book Without Heading
أتمنى أن يعجبكم ما قدمت
30
Book Without Heading
1
Book Without Heading
30
Book Without Heading
1