You are on page 1of 114

‫مقدم من مدونة الجوهريزم‬

‫‪http://algoharism.blogspot.com‬‬

‫جميع الحقوق محفوظة ©‬


‫بسم هللا الرحمن الرحيم‬
‫تقديم‬
‫يسعد مدونة الجوهريزم أن تقدم لكم كتاب" ‪Microsoft Visual Basic 2010 Express‬‬
‫دليل للمبتدئين جدا" ‪،‬فما هو إال ملخص و ترجمة لبعض المواد التعليمية الخاصة بتعليم لغة‬
‫الـ‪ Visual Basic‬حيث اقتصر دورى على ترجمة و توضيح بعض المواد األجنبية و العربية و‬
‫تنقيتها لتناسب المستخدم العربى المبتدئ فى البرمجة‪ ،‬و قد روعى عند اختيارشرح هذه اللغة أنها‬
‫سهلة و تقترب فى أوامرها من اللغة االنجليزية ‪ ،‬و روعى أيضا ترجمة المفاهيم االنجليزية الصعبة‬
‫بلغة عربية مع أمثلة لتوضيح المعنى‪.‬‬
‫هذا الدليل مقدم للمبتدئ من الصفر فى لغة البرمجة ‪ ،‬فالدليل ال يبدأ كما تبدأ معظم الكتب و‬
‫إنما يبدأ بإنشاء برنامج دون معرفة أى قواعد عن اللغة ثم نتطرق من خالل هذا البرنامج فى شرح‬
‫بعض المقومات و المفاهيم األساسية فى لغة الـ‪.visual basic‬‬

‫استخدمنا فى الشرح برنامج ‪ Microsoft Visual Studio Express 2010‬و هو مجانى و‬


‫يمكنك تنزيله من ‪:‬‬

‫‪http://www.microsoft.com/express/Downloads‬‬

‫و أخيرا أرجو أن يكون عمال مفيدا و نيتى اإلفادة ‪ ،‬و كل ما أتمناه دعوة صالحة لظهر الغيب‬
‫‪ ،‬و يمكنم التواصل عن طريق ‪:‬‬

‫المدونة‪http://algoharism.blogspot.com :‬‬

‫صفحة الفيس بوك‪http://www.facebook.com/algoharism :‬‬

‫البريد االلكترونى‪algoharism@gmail.com :‬‬

‫الجوهريزم‬
‫الحياة بعيون جوهرية‬

‫مارس ‪3122‬‬
‫انفهرس‬
‫الدرس األول‬
‫‪.........................‬‬
‫‪................................‬‬
‫‪7‬‬ ‫‪................................................................................................‬‬ ‫‪.2‬التشغيل‪:‬‬
‫‪................................‬‬
‫‪...‬‬
‫‪9 ................................................................................................‬‬ ‫‪.3‬مكونات الصفحة الربيسية‬
‫‪...............................‬‬
‫‪22................................................................................................‬‬ ‫‪.3‬أول برنامج ‪Hello world‬‬
‫‪.........................‬‬
‫‪................................‬‬
‫‪26‬‬ ‫‪................................................................................................‬‬ ‫‪.5‬تدريب‬
‫الدرس الثانى‬
‫‪................................‬‬
‫‪28.. ................................................................................................‬‬ ‫‪.2‬الخصابص ‪Properties‬‬
‫‪................................‬‬
‫‪33. ................................................................‬‬ ‫‪.3‬أهم العناصر فى صندوق األدوات(األدوات الشابعة)‬
‫‪................................‬‬
‫‪............‬‬
‫‪36‬‬ ‫‪................................‬‬ ‫‪.4‬أهم العناصر فى صندوق األدوات(أدوات القابمة و صندوق األدوات)‬
‫‪......................‬‬
‫‪................................‬‬
‫‪43‬‬ ‫‪................................................................‬‬ ‫‪.5‬نصابح فى تصميم واجهة المشاريع‬
‫‪.........................‬‬
‫‪................................‬‬
‫‪4:‬‬ ‫‪................................................................................................‬‬ ‫‪.6‬تدريب‬
‫الدرس الثالث‬
‫‪................................‬‬
‫‪......‬‬
‫‪52‬‬ ‫‪................................................................................................‬‬ ‫‪.2‬مقدمة عن الـ‪Events‬‬
‫‪................................‬‬
‫‪...........‬‬
‫‪54‬‬ ‫‪................................................................................................‬‬ ‫‪.3‬كيف أكتب الكود؟‬
‫‪..........................‬‬
‫‪................................‬‬
‫‪59‬‬ ‫‪................................................................‬‬ ‫‪.4‬أدوات تساعدك فى كتابة الكود‬
‫‪.........................‬‬
‫‪................................‬‬
‫‪62‬‬ ‫‪................................................................................................‬‬ ‫‪.5‬تدريب‬
‫الدرس الرابع‬
‫‪.....................‬‬
‫‪................................‬‬
‫‪64‬‬ ‫‪................................................................‬‬ ‫‪.2‬مقدمة عن الـ‪ Variables‬المتغيرات‬
‫‪................................‬‬
‫‪67‬‬
‫‪.... ................................................................................................‬‬ ‫‪.3‬كيفية تعريف المتغيرات‬
‫‪......................‬‬
‫‪................................‬‬
‫‪6:‬‬ ‫‪................................................................‬‬ ‫‪.4‬كيفية التحويل بين أنواع المتغيرات‬
‫‪...........................‬‬
‫‪................................‬‬
‫‪75‬‬ ‫‪................................................................‬‬ ‫‪.4‬بعض التعريفات فى المتغيرات‬
‫‪.........................‬‬
‫‪................................‬‬
‫‪76‬‬ ‫‪................................................................................................‬‬ ‫‪.6‬تدريب‬
‫الدرس الخامس‬
‫‪..........................‬‬
‫‪................................‬‬
‫‪78‬‬ ‫‪................................................................................................‬‬ ‫‪.2‬مقدمة‬
‫‪............................‬‬
‫‪79‬‬
‫‪................................................................................................‬‬ ‫‪.2.2‬الجمل التشعبية‪If…Then :‬‬
‫‪.......................‬‬
‫‪................................‬‬
‫‪83‬‬ ‫‪................................................................‬‬ ‫‪.3.2‬الجمل التشعبية‪Select Caseٍ :‬‬
‫‪.......................‬‬
‫‪................................‬‬
‫‪84‬‬ ‫‪................................................................‬‬ ‫‪.4‬متغيرات متعددة المحتوى‪Arrays‬‬
‫‪................................‬‬
‫‪...............‬‬
‫‪88‬‬ ‫‪................................................................‬‬ ‫‪ .2.5‬الجملة الحلقية التكرارية‪for/each :‬‬
‫‪.........................‬‬
‫‪................................‬‬
‫‪89‬‬ ‫‪................................................................‬‬ ‫‪ .3.5‬الجملة التكرارية‪for/next :‬‬
‫‪................................‬‬
‫‪..............‬‬
‫‪91‬‬ ‫‪................................................................‬‬ ‫‪ .6‬تركيبات بين الجمل التكرارية و التشعبية‬
‫‪.........................‬‬
‫‪................................‬‬
‫‪94‬‬ ‫‪................................................................................................‬‬ ‫‪.7‬تدريب‬
‫الدرس السادس‬
‫‪................................‬‬
‫‪...........‬‬
‫‪96‬‬ ‫‪................................................................................................‬‬ ‫‪.2‬إنشأ مشروع جديد‬
‫‪................................‬‬
‫‪..............‬‬
‫‪97‬‬ ‫‪................................................................................................‬‬ ‫‪.2‬أبدأ فى التصميم‬
‫‪................................‬‬
‫‪........‬‬
‫‪:1‬‬ ‫‪................................................................................................‬‬ ‫‪.4‬غير أسماء العناصر‬
‫‪................................‬‬
‫‪.....‬‬
‫‪:2 ................................................................................................‬‬ ‫‪.5‬أضف مربعات الحوار‬
‫‪................................‬‬
‫‪..........‬‬
‫‪:3‬‬ ‫‪................................................................................................‬‬ ‫‪.6‬ابدأ فى كتابة الكود‬
‫‪................................‬‬
‫‪:5‬‬
‫‪.... ................................................................................................‬‬ ‫‪.7‬إلخراج البرنامج مستقل‬

‫‪.........................‬‬
‫‪................................‬‬
‫‪:8‬‬ ‫‪................................................................................................‬‬ ‫الملحقات‬
‫‪Microsoft‬‬
‫‪VB Express‬‬
‫للمبتدئين‪2010‬‬
‫الدرس األول‬

‫‪algoharism.blogspot.com‬‬

‫الدرس األول يتضمن مقدمة سريعة لواجهة التشغيل و‬


‫انشاء و حفظ أول مشروع ‪.Hello World‬‬
algoharism.blogspot.com Microsoft Visual Basic 2010 Express‫مقدمة فى الـ‬

:‫انتشغيم‬.1
1. Start menu >> Programs >> Microsoft Visual Studio 2010 Express >> Microsoft Visual Basic
2010 Express
2. New Project… ‫مشروع جديد‬
3. Windows Forms Application ‫انشاء برنامج يستخدم النوافذ‬
4. ‫النافذة الربيسية للبرنامج‬

3
1

6
‫الدرس األول – المقدمة و التعريف بواجهة البرنامج و صناعة أول برنامج‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪4‬‬

‫‪5‬‬

‫‪7‬‬
‫الدرس األول – المقدمة و التعريف بواجهة البرنامج و صناعة أول برنامج‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.2‬مكىناث انصفحت انرئيسيت‬


‫سنعرض المكونات األساسية للصفحة الربيسية للبرنامج حتى تكون مألوفة عند الشرح فيما بعد‪ .‬سيتم توضيح بعض الخصابص و التعمق أكثر‬
‫فيها عند التقدم فى البرنامج‪.‬‬

‫شريط المهام‬

‫‪Solution Explorer‬‬

‫شاشة التصميم المرئى‬


‫صندوق األدوات‬

‫الخصائص‬

‫‪ - 2‬شريط المهام‬

‫يكون فى أعلى الصفحة و يمكنك من القيام بجميع خصابص البرنامج‬

‫‪Solution Explorer - 3‬‬

‫يكون فى الجانب األيمن من الصفحة و يوضح لك العناصر و الكابنات المستخدمة فى المشروع الخاص بك‬

‫‪8‬‬
‫الدرس األول – المقدمة و التعريف بواجهة البرنامج و صناعة أول برنامج‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ - 4‬الخصابص ‪Properties‬‬

‫يعرض خصابص و مميزات الكابن (سواء زر ‪ ،‬قابمة ‪ ...‬إلخ) و يكون فى الجانب األيمن فى األسفل‬

‫‪ - 5‬صندوق األدوات‬

‫و هو كصندوق العدد حيث يوفر لك جميع األدوات التى ستحتاجها خالل التصميم المربى و يكون فى الجانب األيسر‬

‫‪9‬‬
‫الدرس األول – المقدمة و التعريف بواجهة البرنامج و صناعة أول برنامج‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫عند االشارة بالماوس على صندوق األدوات ‪ Toolbox‬سيظهر أوتوماتيكيا و سيختفى عند ابتعاد الماوس عنه كما هو‬
‫موضح بالشكل األعلى‬

‫‪ - 6‬شاشة التصميم (مربى \ عن طريق كود البرمجة)‬

‫و هو النافذة الربيسية فى البرنامج‬

‫‪10‬‬
‫الدرس األول – المقدمة و التعريف بواجهة البرنامج و صناعة أول برنامج‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.3‬أول برنامج ‪Hello world‬‬


‫سنتعمق أكثر فى مكونات ال‪ Visual Basic‬و ذلك من خالل برنامج افتتاحى عن طريقه سنستكشف بعض المهارات‬
‫المعرفية‪.‬‬

‫‪ - 2‬اشر (شاور) بالماوس على صندوق األدوات ‪. Toolbox‬‬


‫‪Button‬‬ ‫‪ - 3‬من ‪ Common Controls‬اضغط واستمر فى الضغط على‬
‫‪ - 4‬اسحبه و ضعه فى النافذة الربيسية‪.‬‬

‫يمكنك ادخال ‪Button‬عن‬


‫طريق ضغطتين متتاليتين‬
‫‪Double click‬على‬
‫رمز‪.Button‬‬

‫‪11‬‬
‫الدرس األول – المقدمة و التعريف بواجهة البرنامج و صناعة أول برنامج‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ - 5‬اضغط عليه ‪ Double Click‬لتظهر لك نافذة التكويد‬

‫‪ - 6‬اكتب فى مكان كتابة الكود‬

‫)"!‪ Hello World‬العالم أيها مرحبا"(‪MessageBox.Show‬‬

‫‪12‬‬
‫الدرس األول – المقدمة و التعريف بواجهة البرنامج و صناعة أول برنامج‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫يمكنك االنتقال بين نافذة التصميم المربى و نافذة التكويد من أعلى الصفحة‬

‫فى شريط األدوات‪.‬‬ ‫‪ - 7‬اضغط على زر ‪Debug‬‬

‫‪ ‬زر ‪ Debug‬عمله هو معاينة كيفية سير عمل البرنامج و مراجعة إذا كان فيه أطاء‬
‫برمجية‪.‬‬
‫‪ ‬يمكنك الضغط على ‪ F5‬كوصلة سريعة لـ‪.Debug‬‬

‫‪ - 8‬ستظهر هذه النافذة التى صممتها ‪،‬ثم اضغط على ‪ Button 1‬ستظهر لك رسالة كما هو موضح‪.‬‬

‫و ستعود إلى نافذة التصميم‪.‬‬ ‫‪ - 9‬و عند االنتهاء اضغط على ‪X‬‬

‫‪13‬‬
‫الدرس األول – المقدمة و التعريف بواجهة البرنامج و صناعة أول برنامج‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ - :‬لقد انتهينا من أول برنامج و نريد حفظ المشروع ‪File >> Save All‬‬

‫اضغط ‪.Save‬‬ ‫‪- 21‬‬

‫‪14‬‬
‫الدرس األول – المقدمة و التعريف بواجهة البرنامج و صناعة أول برنامج‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.4‬تذريب‬

‫‪ ‬اصنع برنامج مكون من ثالثة ازرار ‪ 3 Buttons‬و بحيث عندما تضغط على األول يظهر لك (لقد ضغط‬
‫األول) و عندما تضغط على الثانى يظهر لك (لقد ضغطت الثانى) و الثالث كذلك‪.‬‬
‫‪ ‬عاين عمل البرنامج‪.‬‬
‫‪ ‬احفظ المشروع باسم ‪ Hello World‬فى مجلد المستندات‪.‬‬

‫‪15‬‬
‫الدرس األول – المقدمة و التعريف بواجهة البرنامج و صناعة أول برنامج‬
‫‪Microsoft‬‬
‫‪VB Express‬‬
‫للمبتدئين‪2010‬‬

‫الدرس الثانى‬

‫‪algoharism.blogspot.com‬‬

‫الدرس الثانى سنتعرف على بعض أهم العناصر فى‬


‫صندوق الخصابص و أفضل طرق تصميم واجهة‬
‫االستخدام ‪.‬‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.1‬انخصائص ‪Properties‬‬

‫تحدثنا باختصار عن صندوق الخصابص و هو خاص بتجهيز االعدادات المناسبة لكل أداة مستخدمة‬
‫فى المشروع و الخصابص تعنى أساسا بالصفات الشكلية لألداة المستخدمة‪.‬‬

‫لقد قمنا فى الدرس األول بوضع زر ‪ Button‬و كتابة كود بسيط له‪ ،‬اآلن سنتعامل مع بعض‬
‫الخصابص و التى تعتبر عامة فى كل العناصر التى سنستخدمها فيما بعد‪.‬‬

‫‪17‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪- 1‬الموقع ‪:Location‬‬


‫و هى الخاصية التى تتعامل مع موقع (مكان) العنصر المستخدم ‪ ،‬و‬
‫تتكون من خاصيتين فرعيتين ‪ X :‬و ‪ X( Y‬يتعامل مع المسافة‬
‫الرأسية و ‪Y‬يتحكم فى المسافة األفقية من الجانب األيسر)(انظر‬
‫الشكل التالى‪.‬‬

‫‪18‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪X= 81‬‬

‫‪Y= 94‬‬

‫‪- 2‬النص ‪:Text‬‬


‫و هو خاص بتغيير النص المعرض على الزر‪.‬‬

‫‪19‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪- 3‬لون الخلفية ‪:Backcolor‬‬

‫‪- 4‬لون النص ‪:Forecolor‬‬

‫‪- 5‬الخط ‪:Font‬‬

‫‪20‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪- 6‬اسم العنصر )‪:(Name‬‬


‫و هو عنوان العنصر فى لغة البرمجة حيث يجب أن‬
‫يحصل كل عنصر على اسم حصرى‪.‬‬

‫‪ ‬يمكنك ان تسمى العنصر كاآلتى‬


‫‪BtnOk‬‬
‫جيث يعنى أن هذا العنصر هو الزر الخاص‬
‫بـ‪ OK‬و ذلك لتسهيل معرفة نوع العنصر و‬
‫وظيفته‪.‬‬

‫‪ ‬لو كنت تملك أكثر من عنصر و تريد التنقل بينهم يمكنك استخدام قابمة العناصر من صندوق‬
‫الخصابص‪.‬‬

‫‪21‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.2‬أهم انعناصر فً صنذوق األدواث(األدواث انشائعت)‬

‫سنعرض أهم األدوات و أكثرها شيوعا الموجودة و وظابفها من خالل واجهة برنامج خدمة عمالء ‪.‬‬

‫أوال هذا هو صندوق األدوات و فيه أكثر األدوات شيوعا فى برامج النوافذ‪.‬‬

‫يستخدم لعمل زر أمر لتنفيذ وظيفة معينة يحددها‬


‫زر ‪Button‬‬
‫المبرمج‬
‫أسبلة نعم\ال و يستخدم لتحديد عدد من الوظابف إما‬ ‫صندوق التعليم‬
‫كل على حدة و أما معا‬ ‫(االختيار)‬
‫يستخدم لعرض نصوص على النماذج ال يستطيع‬
‫‪label‬‬
‫المستخدم تعديلها أثناء تشغيل البرنامج‬
‫يستخدم الدخال نصوص من لوحة و هو يمكن تعديل‬
‫‪TextBox‬‬
‫محتوياته بمعرفة المستخدم اثناء التشغيل‬

‫‪22‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫يستخدم لالختيار بين عدة اختيارات و يصلح عندما‬


‫‪Radio button‬‬
‫يكون عدد االختيارات محدودا‬
‫و هو يستخدم لالختيار بين عدة اختيارات و يصلح‬
‫‪List Box‬‬
‫عندما يكون عدد االختيارات كبيرا‬
‫و هو يجمع بين الـ ‪ ListBox‬و الـ ‪Textbox‬و هو‬
‫يستخدم لالختيار بين متعدد و يصلح عندما يكون عدد‬ ‫‪Combo Box‬‬
‫االختيارات كبيرا‬

‫‪ ‬مثال على هذه الخيارات‪ :‬مثال مشروع "خدمة العمالء"‪:‬‬


‫‪ .2‬سنضيف العناصر السابقة كالتالى‪:‬‬

‫‪Text box‬‬

‫‪Labels‬‬ ‫‪Combo Box‬‬

‫‪List box‬‬

‫‪Radio Box‬‬
‫‪Check Box‬‬

‫‪Button‬‬

‫‪ .3‬اضافة معلومات إلى الـ ‪.Combo box‬‬

‫‪ ‬اضغط على ‪ Combo box‬هتظهر هذه العالمة‬

‫‪ ‬ستظهر نافذه فيها ‪Edit items‬‬

‫‪23‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ ‬ثم تظهر النافذة التالية لكتابة المعطيات فى العنصر‪:‬‬

‫‪ ‬سنكتب فيها كما هو موضح(اكتب كل معطى فى سطر)‪:‬‬

‫‪ ‬سنعيد الكرة مع الـ ‪List Box‬‬

‫‪24‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.3‬أهم انعناصر فً صنذوق األدواث(أدواث انقائمت و صنذوق‬


‫األدواث)‬
‫سنعرض بعض أهم األدوات و هى كيفية اضافة قابمة ‪ menu‬و صندوق أدوات ‪ToolBox‬‬
‫للمشروع الخاص بك‪.‬‬

‫و صلنا فى مشروعنا السابق إلى هذا التصميم‪:‬‬

‫‪25‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ ‬راعى بين الفترة و األخرى أن تحفظ المشروع حتى ال تضيع البيانات عند انقطاع الكهرباء‬
‫بشل مفاجا‬
‫اضغط فقط ‪Ctrl+S‬‬

‫اآلن مختصر ألهم األدوات فى أدوات القابمة ثم سنعرض مثال على كل عنصر ‪:‬‬
‫تعرض أوامر البرنامج فى مجموعات مرتبطا وظيفيا‬ ‫‪Menu strip‬‬
‫لعرض معلومات عن البرنامج و تقدم عمله‬ ‫‪Status Strip‬‬
‫إلنشاء صندوق أدوات‬ ‫‪Tool Strip‬‬
‫‪ ‬مثال على هذه الخيارات‪ :‬مثال مشروع "خدمة العمالء" قائمة ‪:Menu strip‬‬
‫‪ - 2‬سنضيف ‪ Menu Strip‬من صندوق األدوات‬

‫‪ - 3‬يمكنك كتابة عناصر القابمة عن طريق الضغط على ‪Type Here‬‬


‫‪ - 4‬ستظهر ‪ 4‬مربعات كاألتى‪:‬‬

‫‪26‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫ثان عنصر فى القابمة‬


‫الربيسية‬

‫أول عنصر‬
‫فى القابمة‬ ‫القابمة الفرعية‬
‫الربيسية‬ ‫ألول عنصر‬

‫‪ - 5‬ستجد فى أسفل الصفحة ‪MenuStrip1‬‬

‫‪ - 6‬اضغط عليها بالماوس ‪ Right Click‬و بعدين ‪ Insert Standard Items‬و ذلك و انشاء‬
‫قابمة كما قوابم الويندوز األساسية كما هو موضح بالشكل‬

‫‪27‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫القابمة األساسية‬
‫فى نظام نوافذ‬
‫ويندوز‬

‫‪28‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ ‬مثال على هذه الخيارات‪ :‬مثال مشروع "خدمة العمالء" قائمة ‪:tool Strip‬‬
‫‪ - 2‬سنضيف ‪ Tool Strip‬من صندوق األدوات‬

‫‪.‬‬ ‫‪ - 3‬إذا أردت إضافة عنصر للشريط األدوات إضغط على السهم المشير ألسفل‬
‫‪ - 4‬ستظهر قابمة كاآلتى‪:‬‬

‫و غير اعدادات الصورة من صندوق‬ ‫‪ - 5‬إذا أردت إضافة صورة (رمز) اضغط على‬
‫االعدادات‪:‬‬

‫‪29‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ ‬مثال على هذه الخيارات‪ :‬مثال مشروع "خدمة العمالء" قائمة ‪:Status Strip‬‬
‫‪ - 2‬سنضيف ‪ Status Strip‬من صندوق األدوات‬

‫‪ - 3‬سيتم التعامل مع ال ‪Status Strip‬كما اآلخرين‪.‬‬

‫‪30‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ ‬عند إلضافة أى بيانات ألى عنصر ( مثل الـ ‪List Box , Combo Box , Menu Strip ,‬‬
‫‪ )....Status strip‬ابحث عن هذه العالمة‬

‫ثم اضغط عليها و اختر ‪ Edit Items‬و أضف كل ما تريد‪.‬‬

‫‪31‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.4‬نصائح فً تصميم واجهت انمشاريع‬


‫سنقدم هنا بعض النصابح البسيطة يجب مراعاتها فى تصميم واجهة المشروع ‪ ،‬سنقسم هذه النصابح‬
‫إلى أفضل الطرق المتبعة فى التصميم و طرق تسهل الوصول إلى معلومات و تسهل قراءة واجهة‬
‫البرنامج على المستخدم النهابى (المعنى باستخدام البرنامج)‪.‬‬

‫‪ ‬سنبدأ بأفضل الطرق لتصميم واجهة البرنامج‪:‬‬


‫‪- 2‬فكر بطريقة "األعمدة و الصفوف"‪:‬‬

‫‪Labels‬‬ ‫‪Text Boxes‬‬

‫عمود أيسر‬ ‫عمود أيمن‬

‫‪Buttons‬‬

‫ركن أيمن سفلى‬

‫أى من األفضل أن تكون ‪ Labels‬فى عمود واحد على اليسار و العناصر التى تحتوى على إدخال‬
‫بيانات فى عمود على اليمين و األزرار ‪ Buttons‬التى ستقوم بفعل أو وظيفة تكون فى الركن اليمين‬
‫السفلى‪( .‬كما هو موضح بالشكل)‪.‬‬

‫‪ ‬هذه المواصفات و النصابح للبرامج المكتوبة باللغة االنجليزية لكن إذا كانت واجهة البرنامج‬
‫مكتوبة بالعربية راعى تغيير اليسار إلى اليمين و العكس فى االتجاهات‪.‬‬

‫‪32‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪- 3‬عند كتابة البيانات فى واجهة البرنامج راعى سهولة و وضوح هذه البيانات (مثال إذا أردت أن‬
‫تجعل ‪ button‬لتأكيد االختيار فال تجعل تسميته "اذهب" فلتجعله بسيطا كـ" موافق") ‪ ،‬ال‬
‫تجعل المستخدم النهابى يحتار فى معانى و وظابف العناصر المعروضة‪.‬‬
‫‪- 4‬استخدم األلوان و األساليب المتعارف عليها فى تصميم البرامج و فى إدخال البيانات حتى ال‬
‫يحتار المستخدم النهابى و ال تصعب عليه الموقف (مثال ال تختار مثال للزر ‪ button‬لون‬
‫أسود)‪.‬‬

‫‪ ‬انتهينا من بعض النصابح فى تصميم‪ ،‬و سنعرض فى التالى نصابح تسهل للمستخدم النهابى‬
‫الوصول إلى المعلومة و ادخال البيانات‪:‬‬
‫‪:Tab key- 2‬‬

‫هل جربت استخدام زر ‪ Tab‬من لوحة المفاتيح للتنقل بين الـ‪ Text Boxes‬فى البرامج دون استخدام‬
‫الماوس‪ ،‬الحظ أنه يتم االنتقال بينهم بترتيب معين‪.‬‬

‫‪ ‬مثال على استخدام ‪ Tab‬فى االنتقال بين عناصر االدخال المختلفة‪:‬‬

‫(ستجده فى شريط األدوات فى األعلى) أو اضغط على‬ ‫‪ - 2‬اضغط على زر ‪Debug‬‬


‫‪ F5‬فى لوحة المفاتيح‪.‬‬
‫‪ - 3‬سيعمل البرنامج كالتالى‪:‬‬

‫‪33‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ - 4‬إذا ضغطت على ‪Tab‬هتالقى مؤشر االدخال (الذى يضا و يطفى عند الكتابة و شكله | )‬
‫سينتقل بين صناديق االدخال بترتيب عشوابى‪:‬‬

‫‪ - 5‬لتعديل هذا الترتيب سنذهب إلى قابمة ‪ view‬ثم ‪Tab order‬‬

‫‪34‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫لو لم تجد ‪ Tab order‬افتح قابمة ‪ tools‬ثم ‪ Settings‬ثم ‪ expert settings‬ثم‬


‫اذهب إلى قابمة ‪ view‬فـ ‪tab order‬‬

‫‪ - 6‬ستظهر أرقام بجانب عناصر المشروع‬

‫‪35‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ - 7‬لتغيير ترتيب العناصر اضغط على األرقام بالترتيب الذى تريده لالنتقال بين العناصر‪.‬‬

‫‪:LayoutToolbar- 3‬‬

‫و هو شريط أدوات يتيح لك تنظيم عناصر العرض و يسهل عملية الترتيب المربى و محاذاتها‪.‬‬
‫إلظهار شريط أدوات ‪ layout‬افتح قابمة ‪view‬فـ ‪ toolbars‬فـ ‪layout‬‬

‫‪36‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ ‬كيفية استخدام ‪ Layout Toolbar‬فى تنظيم العناصر المعروضة‪:‬‬

‫‪ :‬لمحاذاة العناصر على اليسار‬ ‫‪Aligns left - 2‬‬


‫‪ -‬اختر أكثر من عنصر‪:‬‬

‫الحظ عدم محاذاة‬


‫العناصر على نفس الخط‬
‫الحظ المربع األبيض ‪،‬‬
‫سيتم محاذاة بقية العناصر‬
‫على هذا العنصر‬

‫الحظ المربعات السوداء ‪،‬‬


‫سيتم محاذاة هذه العناصر‬
‫على يسار العنصر‬
‫الموسوم بالمربع األبيض‬

‫يمكنك اختيار أكثر من عنصر بالضغط على ‪ Ctrl‬و اختر بالمواس على العناصر‬
‫المرادة‪.‬‬

‫‪ -‬اضغط على محاذاة على اليسار ‪ ،‬سيتم محاذاة العناصر المختارة على يسار العنصر‬
‫الموسوم بالمربع األبيض‬

‫‪37‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫الحظ محاذاة جميع‬


‫العناصر على يسار‬
‫العنصر الموسوم بالمربع‬
‫باألبيض‬

‫‪ :‬للمحاذاة على اليسار‪.‬‬ ‫‪Aligns right - 3‬‬

‫‪ :‬للمحاذاة باألعلى‪.‬‬ ‫‪Aligns top - 4‬‬

‫‪38‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.5‬تذريب‬
‫أنشأ واجهة برنامج لتأجير سيارات ‪ ،‬حيث يتيح اختيار البرنامج للموظف ادخال اسم المستأجر و‬
‫عنوانه و طريقة الدفع ( ‪ ، credit card‬كاش ‪ ،‬شيك) ‪ ،‬و اجعل الترتيب االنتقال بين الخانات ترتيبا‬
‫منطقيا (‪.)Tab order‬‬

‫‪39‬‬
‫الدرس الثانى – األدوات األكثر شيوعا و تصميم واجهة المشروع‬
‫‪Microsoft‬‬
‫‪VB Express‬‬
‫للمبتدئين‪2010‬‬

‫الدرس الثالث‬

‫‪algoharism.blogspot.com‬‬

‫الدرس الثالث ستاعرف فيه على مقدمة لكيفية كتابة الكود‬


‫و ما هى الـ‪ Events‬و أهم خصابص الـ‪Events‬‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.1‬مقذمت عن انـ‪Events‬‬
‫سنتعرف أكثر فى هذا الدرس عن أول خطوة فى كتابة الشفرة البرمجية ( الكود) الخاص بالبرنامج ‪،‬‬
‫حيث يصمم ‪Visual Basic Express‬برامج تعرف بـ " برامج تعتمد على حدث" ‪“Event Driven‬‬
‫”‪.Programs‬‬

‫يكون هذا الحدث ‪ Event‬مثال ضغطة زر أو تغيير من برنامج آخر أو من الويندوز نفسه ‪ ،‬و يكون‬
‫البرنامجج مصمم إما أن ستجيب أو يتجاهل هذا الحدث‪.‬‬

‫‪ ‬مثال‪ :‬مشروع "مرحبا أيها العالم ‪ "Hello World‬المشروح فى الدرس األول‪:‬‬

‫‪ - 2‬ضغطة مزدوجة ‪ Double Click‬على ‪ Button 1‬لتظهر نافذة التكويد‪:‬‬

‫‪ - 3‬سنجد الكود اآلتى‪ :‬و من خالله سنعرف على بعض األساسيات فى التكويد‬

‫‪41‬‬
‫الدرس الثالث‪ -‬األحداث ‪Events‬‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬
‫‪ :Button 1‬أى أن العنصر ‪ Button 1‬هو الذى سيتم‬
‫التعامل معه‬

‫‪ : Click‬هو الحدث(الضغط على الزر) الذى سيتم تنفيذ الرد‬


‫عليه‬

‫من ‪Private Sub‬إلى ‪End Sub‬‬ ‫من ‪Public Class‬إلى‬


‫يسمى ‪ Code Block‬أو جزء كودى‬ ‫‪ End Class‬يسمى‬
‫و هو البناء المتخصص فى بناء الكود‬ ‫‪ Method‬و هو‬
‫الوحدة األساسية فى‬
‫هم االجراء الذى سيتم تنفيذه كرد على ‪(Click‬الضغط )‬ ‫بناء الكود‬
‫على ‪Button 1‬‬

‫لتوضيح العملية أكثر‪ :‬هى أن يوجد وحدة بنابية أساسية فى تصميم الكود و هى ‪Method‬و يبدأ من ‪Public‬‬
‫‪ class‬و ينتهى عند ‪End Class‬‬
‫وهو يحتوى على وحدات أكثر تخصص و تسمى بـ ‪Code Block‬و هى الخاصة بعنصر أو كابن محدد و‬
‫تحتوى هى بدورها على أصغر وحدة بنابية للكود و هى فى مثالنا الحالى ‪Button1_Click‬و تعنى أننى أريد‬
‫عند الضغط بالماوس ‪ ( Click‬و هو الحدث ‪ )Event‬على ‪ Button 1‬سيتم إظهار ‪ Show‬رسالة‬
‫‪ MessageBox‬تقول ”‪ ( “Hello World‬و هو الرد ‪ Response‬على الحدث‪) Click‬‬

‫‪ -‬يمكنك التحول من نافذة التصميم إلى نافذة الكود عن طريق الضغط على ‪ F7‬و العودة من‬
‫نافذة الكود إلى نافذة التصميم عن طريق ‪Shift+F7‬‬

‫‪ -‬يمكنك تقليص عرض الكود عن طريق الضغط على عالمة( – )بجانب الكود الذى تريد‬
‫إخفاءه‪.‬‬
‫‪ -‬بوضع مؤشر الماوس على الكود المخفى سيظهر فى نافذة فرعية كاآلتى‪:‬‬

‫‪42‬‬
‫الدرس الثالث‪ -‬األحداث ‪Events‬‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.2‬كيف أكتب انكىد؟‬


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

‫يمكنك الوصول إلى نافذة األحداث‬

‫‪ Events‬عن طريق الضغط على‬

‫و تحتوى نافذة ‪Events‬فى نافذة ‪ Properties‬على جميع األحداث التى يمكن للعنصر االستجابة له‬
‫للقيام برد برمجى معين‪.‬‬

‫‪43‬‬
‫الدرس الثالث‪ -‬األحداث ‪Events‬‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ -‬لسهولة الوصول إلى الحدث ‪ Event‬المعين يمكنك الضغط على‬

‫حيث يرتب الـ‪ Events‬فى مجموعات تسهل لك الوصول إلى الحدث المرغوب‬

‫‪ -‬عند الوصول إلى الحدث المرغوب يمكنك الضغط المزدوج ‪ Double Click‬للوصول إلى‬
‫النافذة البرمجية لهذا الحدث‬

‫‪ -‬مثال كيفية كتابة كود لحدث و له رد برمجى ( سيكون الهدف من البرنامج إنه عند الضغط على‬
‫‪ Button 1‬سيكتب داخل ‪" TextBox1‬أهال بأيها العالم!")‪:‬‬
‫‪ - 2‬أنشا مشروع جديد‪:‬‬

‫‪44‬‬
‫الدرس الثالث‪ -‬األحداث ‪Events‬‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫مشروع يستخدم‬
‫واجهة عرض‬
‫النوافذ‬

‫اسم المشروع‬

‫‪Lesson03‬‬

‫‪ - 3‬صمم الواجهة التالية‪:‬‬

‫‪Button‬‬
‫‪1‬‬

‫‪TextBox 1‬‬

‫‪45‬‬
‫الدرس الثالث‪ -‬األحداث ‪Events‬‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ - 4‬اذهب إلى النافذة البرمجية و أدخل الكود اآلتى‪:‬‬


‫عند الحدث‬
‫‪Click‬للعنصر‬
‫‪Button1‬‬

‫ستتغير خاصية الكتابة ‪text‬‬


‫فى العنصر ‪TextBox1‬‬
‫لتظهر "مرحبا أيها العالم!"‬
‫داخل العنصر‬

‫‪ -‬و خطواته أنه عند الحدث ‪Click‬للعنصر ‪ Button1‬ستتغير خاصية الكتابة ‪ text‬فى العنصر‬
‫‪TextBox1‬‬
‫‪ - 5‬عند الضغط على زر ‪Debug‬‬

‫سيعمل البرنامج كالتالى‪:‬‬

‫‪46‬‬
‫الدرس الثالث‪ -‬األحداث ‪Events‬‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ -‬ستالحظ عند كتابة الكود السابق ستظهر قابمة كالتالى‪:‬‬

‫قابمة تذكيرية بالعناصر أو‬


‫الكابنات المستخدمة فى‬
‫المشروع الذى يتم العمل فيه‬

‫قابمة تذكيرية بالخصابص التى يتم التحكم‬


‫فيها للعنصر المحدد و تظهر عند كتابة‬

‫‪.‬‬
‫النقطة " " و يمكنك الختيار أيا من هذه‬
‫الخصابص عن طريق االختيار بالماوس‬
‫أو الختيار باالسهم او حتىى االستمرار فى‬
‫الكتابة و اختيار الكلمة بالمسافة‬

‫سنالحظ عند الوقوف على الخاصية‬


‫المرادة سيظهر مربع يشرح لك أكثر عن‬
‫الخاصية‬

‫حيث تمثل الصورة األولى اقتراحات(تذكيرية) للعناصر المستخدمة فى المشروع و الصورة الثانية مرجع‬
‫للخصابص التى يمكن تغييرها كرد للحدث‪. Event‬‬

‫‪47‬‬
‫الدرس الثالث‪ -‬األحداث ‪Events‬‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.3‬أدواث تساعذك فً كتابت انكىد‬


‫يوجد بعض األدوات التى ستساعدك فى عملية كتابة الكود و مراجعته‪.‬‬
‫‪- 2‬كتابة تعليق أو مالحظة على الكود‪:‬‬
‫يمكنك من خالل كتابة مالحظات (ليس لها داللة برمجية) داخل الكدة حتى تمكنك من معرفة وظيفة‬
‫الكود أو تخبرك عن أهمية جزء معين من الكود‪.‬‬
‫يمكنك كتابة مالحظة عن طريق " ‘ " و ستظهر باللون األخضر كاألتى‪:‬‬

‫يمكنك أن تجعل جزء من الكود فى مالحظة أو تعليق حتى يمكنك تذكره فيما بعد ‪ ،‬و لكن تذكر أنه لن‬
‫يعمل فى تنفيذ البرنامج سيتحول إلى مجرد تعليق‪ ،‬و هذا سيساعدك إذا أردت كتابة كود ال تحتاجه فى‬
‫الوقت الحالى و لكن ال تريد حذفه مجرد تذكره‪.‬‬
‫ستعلّم على الجزء المطلوب من الكود و ثم ابحث عن الزر التالى فى شريط األدوات فى األعلى‪:‬‬

‫و سيظهر الكود كاآلتى‪:‬‬

‫‪48‬‬
‫الدرس الثالث‪ -‬األحداث ‪Events‬‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫يمكنك ادخال موقع داخل التعليق حيث ينفع فى ارفاق الكود مع موقع‪:‬‬

‫فقط عليك كتابة (داخل التعليق)‪ http:// :‬ثمم اسم الموقع‪.‬‬

‫‪- 3‬اظهار أرقام السطو‪:‬‬


‫يتيح لك إظهار أرقام السطور طريقة سهلة للوصول إلى سطر معين داخل الكود‪.‬‬
‫يمكنك إظهار األرقام كالتالى‪:‬‬
‫‪Tools >> Options :‬‬

‫‪1‬‬
‫‪2‬‬

‫‪3‬‬

‫ستظهر األرقام بجانب السطور كالتالى‪:‬‬

‫‪49‬‬
‫الدرس الثالث‪ -‬األحداث ‪Events‬‬
algoharism.blogspot.com Microsoft Visual Basic 2010 Express‫مقدمة فى الـ‬

50
Events ‫ األحداث‬-‫الدرس الثالث‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.4‬تذريب‬
‫‪ -2‬استكشف األحداث ‪ events‬للعنصر ‪ button‬عن طريق ادخال ‪ Button1‬داخل المشروع ‪ ،‬و‬
‫اكتب حسب الحدث الذى تم اختياره داخل كود البرمجة‪:‬‬
‫)”‪MessageBox.show("Name of Event‬‬
‫و ذلك لألحداث التالية‪:‬‬

‫‪Click‬‬ ‫‪‬‬
‫‪Enter‬‬ ‫‪‬‬
‫‪Leave‬‬ ‫‪‬‬
‫‪MouseHover‬‬ ‫‪‬‬

‫لو لم تفهم وظيفة الـ ‪ Event‬يمكنك اختيار الـ ‪ Event‬ثم اضغط ‪ F1‬فى لوحة المفاتيح لتعرف أكثر عن الوظيفة‪.‬‬

‫‪ -3‬جرب ان تستخدم ‪textbox‬و تجرب الكود‪:‬‬

‫)”‪MessageBox.show("Name of Event‬‬

‫مع الـ ‪Events‬التالية‪:‬‬

‫‪keyPress‬‬ ‫‪‬‬
‫‪KeyDown‬‬ ‫‪‬‬
‫‪KeyUp‬‬ ‫‪‬‬
‫‪TextChanged‬‬ ‫‪‬‬

‫‪51‬‬
‫الدرس الثالث‪ -‬األحداث ‪Events‬‬
‫‪Microsoft‬‬
‫‪VB Express‬‬
‫للمبتدئين‪2010‬‬

‫الدرس الرابع‬

‫‪algoharism.blogspot.com‬‬

‫ما هى المتغيرات و ما جدواها و كيفية استخدامها و‬


‫بعض التعريفات المهمة فى المتغيرات ‪ ...‬كل هذا‬
‫سنتعلمه فى هذا الدرس‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.1‬مقذمت عن انـ‪ Variables‬انمتغيراث‬


‫سنبدأ بتعريف المتغير ‪ Variable‬و هو يشير إلى موقع تخزينى فى الذاكرة و يمكن أن يحتوى على‬
‫بيانات (عددية أو حرفية) ‪ ،‬و يتم تعريف المتغير أثناء كتابة البرنامج ‪ ،‬و يمكن تغيير محتوى هذا‬
‫المتغير أثناء سير البرنامج ‪ ،‬و كل متغير له اسم وحيد يعرف به و ال يمكن وجود متغيرين أثناء سير‬
‫البرنامج ‪ ،‬و كل متغير له اسم وحيد يعرف به و ال يمكن وجود متغيرين أو أكثر بنفس االسم فى‬
‫مكان واحد بالذاكرة‪.‬‬
‫عند تحديد اسم المتغير يجب اتباع شروط محددة‪:‬‬
‫أن يبدأ بحرف هجابى (انجليزى) ‪A,B, …..Y,Z or a,b,….,y,z :‬‬ ‫‪.2‬‬
‫أال يحتوى على عالمات خاصة (؟‪).... ، :، !،‬‬ ‫‪.3‬‬
‫أال يكون هذا السم من الكلمات المحفوظة فى اللغة البرمجية مثل ‪End , Byte‬‬ ‫‪.4‬‬
‫السك قد يتضمن أرقام و حروف‪.‬‬ ‫‪.5‬‬
‫سنتحدث عن أنواع المتغيرات ‪:‬‬

‫الطول‬ ‫البيانات‬ ‫‪Data types‬‬ ‫أنواع البيانات‬


‫بالبايت‬
‫‪2 byte‬‬ ‫يتضمن أعداد صحيحة‬ ‫‪Integer‬‬ ‫عدد صحيح‬
‫‪4 byte‬‬ ‫يتضمن أعداد صحيحة‬ ‫عدد صحيح طويل ‪Long‬‬
‫‪1 byte‬‬ ‫يتضمن القيمة ‪ true 2‬أو ‪false 1‬‬ ‫‪Boolean‬‬ ‫نعم\ ال‬
‫‪4 byte‬‬ ‫يتضمن أعداد بها كسور‬ ‫‪Single‬‬ ‫مفرد‬
‫‪8 byte‬‬ ‫يتضمن أعداد بها كسور‬ ‫‪double‬‬ ‫مزدوج‬
‫‪8 byte‬‬ ‫يتضمن أعداد بها كسور و رمز العملة‬ ‫‪Currency‬‬ ‫عملة‬
‫‪1 byte‬‬ ‫يتضمن بيانات حرفية‬ ‫‪String‬‬ ‫سلسلة حرفية‬
‫‪8 byte‬‬ ‫يتضمن بيانات تاريخ‬ ‫‪Date‬‬ ‫تاريخ‬
‫يتضمن كابن مثل صورة أو فيلم ‪....‬إلخ‬ ‫‪Object‬‬ ‫كائن‬
‫يتضمن بيانات من نوع أرقام أو حروف‬ ‫‪variant‬‬ ‫عام‬
‫نأتى لجزء مهم فى تكويد المتغيرات و هو تعريف المتغير و هو اإلعالن عن اسم المتغير و نوعه‬
‫داخل نافذة البرمجة ‪ ،‬و من صور المتغير داخل نافذة البرمجة‪:‬‬
‫‪Dim VariableName As DataType‬‬

‫‪53‬‬
‫الدرس الرابع‪ -‬المتغيرات و أنواعها و استخداماتها‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫أمثلة تعريف على أنواع المتغيرات السابقة‪:‬‬

‫التعريف‬ ‫‪Data types‬‬ ‫أنواع البيانات‬


‫‪Dim myIntegr As Integer = 3‬‬
‫‪Integer‬‬ ‫عدد صحيح‬
‫‪Dim myBoolean As Boolean = true‬‬
‫‪Boolean‬‬ ‫نعم\ ال‬
‫‪Dim myDouble As Double = 3.14‬‬
‫‪double‬‬ ‫مزدوج‬
‫”‪Dim myString As String = “Algoharism‬‬
‫‪String‬‬ ‫سلسلة حرفية‬
‫‪ -‬الحظ فى األمثلة السابقة عند كتابة اسم المتغير ‪ Variable‬اتباعه للشروط المتبعة‪.‬‬
‫‪ -‬بالنسبة للتعريف المتغير ‪ String‬نكتب الكلمات بين عالمتى تنصيص " "‪.‬‬
‫‪ -‬ال تخلتف الكلمات المكتوبة بحروف ‪capital‬عن المكتوبة بحروف ‪small‬أى‬
‫‪myIntegr=myintegr‬‬

‫‪ ‬مثال‪ :‬على كيفية كتابة متغير و تعريفه فى نافذة البرمجة‬


‫‪-‬انشأ مشروع جديد باسم ‪Lesson04‬‬
‫‪ -‬صممه كالتالى‪:‬‬

‫‪-‬اضغط ‪Double Click‬على ‪Button 1‬‬


‫‪ -‬اكتب اآلتى‪:‬‬

‫‪54‬‬
‫الدرس الرابع‪ -‬المتغيرات و أنواعها و استخداماتها‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ -‬مالحظة فى تعريف ‪String‬‬


‫يتم كتابة التعريف ‪ string‬فى علمتى تنصيص" " و عند عدم كتابة عالمات التنصيص سيتعرف‬
‫البرنامج عليهم على إنه اسم لمتغير آخر و ليس ما يتضمنه المتغير‬
‫مثال‪:‬‬

‫عالمتى التنصيص هى كوعاء ‪hello‬و يتضمن رسالة ‪hello world‬‬

‫‪55‬‬
‫الدرس الرابع‪ -‬المتغيرات و أنواعها و استخداماتها‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.2‬كيفيت تعريف انمتغيراث‬


‫تعلمنا ما هى المتغيرات و أنواعها و كيفية تعريفها ‪ ،‬و سنتعلم اآلن كيفية استخدامها داخل الكود‪.‬‬
‫سنستخدم المثال السابق و الذى تصميمه ‪:‬‬

‫سنذهب إلى نافذة التكويد الخاصة بـ‪ Button1‬و نكتب الكود التالى‪:‬‬

‫‪56‬‬
‫الدرس الرابع‪ -‬المتغيرات و أنواعها و استخداماتها‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫سنكتب الكود من السطر‪ 39‬حتى السطر ‪:43‬‬


‫‪' Example 2‬‬
‫‪Dim firstTextBox As String = TextBox1.Text‬‬
‫‪Dim secondTextBox As String = TextBox2.Text‬‬

‫‪Label1.Text = firstTextBox & " " & secondTextBox‬‬

‫فى هذه السطور سنجد أنه تم تعريف المتغير األول و اسمه ‪ firstTextBox‬متغير نصى ‪String‬‬
‫ومحتواه هو النص ‪ Text‬المكتوب فى العنصر ‪TextBox1‬‬

‫و أيضا تم تعريف المتغير الثانى و اسمه ‪ secondTextBox‬كمتغير نصى ‪ String‬و محتواه هو‬
‫النص المكتوب ‪Text‬المكتوب فى العنصر ‪TextBox2‬‬

‫و تم تكويد العنصر ‪ Label1‬ليظهر النص داخله ‪:Text‬‬

‫ما يحتويه المتغير‪( firstTextBox‬و هو النص المكتوب فى ‪)Textbox1‬‬


‫‪ ( +‬و هو ما تمثله عالمة &) ما هو مكتوب بين عالمتى التنصيص ( المسافة)‬
‫‪ +‬ما يحتويه المتغير ‪secondTExtBox‬‬

‫أو اضغط‬ ‫لفهم الهدف من التكويد السابق اضغط على ‪ Debug‬فى صندوق األدوات فى األعلى‬
‫‪ F5‬ليظهر البرنامج كالتالى‪:‬‬

‫‪ -‬إذا كنت تعمل على نفس المشروع السابق فى نفس الدرس قبل البدء فى تنفيذ البرنامج يجب‬
‫إيقاف العمل فى الكود فى السطرين ‪ 33:‬و ‪ 37‬عن طريق التعليم على الكود و اضغط على‬

‫‪-‬‬

‫‪57‬‬
‫الدرس الرابع‪ -‬المتغيرات و أنواعها و استخداماتها‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫اكتب "المتغير ‪ "2‬فى المربع‬


‫النصى ‪ 2‬و اكتب "المتغير‬
‫‪ "3‬فى المربع النصى ‪ 3‬ثم‬
‫اضغط على ‪Button1‬‬

‫‪58‬‬
‫الدرس الرابع‪ -‬المتغيرات و أنواعها و استخداماتها‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.3‬كيفيت انتحىيم بين أنىاع انمتغيراث‬


‫تعلمنا فى الجزء األول من هذا الدرس أن المتغيرات هى مساحات يتم شغلها فى الذاكرة( مثل وعاء‬
‫يحتوى بيانات) و أيضا هذه المتغيرات تختلف فى أنواعها و بالتالى تختلف حسب كل نوع فى‬
‫المساحة التى تشغلها‪.‬‬

‫‪ -‬ارجع لجدول أنواع المتغيرات و مساحاتها فى الجزء األول من الدرس الرابع‪.‬‬

‫الغرض من التحويل بين أنواع البيانات هو الترشيد فى المساحات المشغولة بسبب البيانات التى‬
‫تحويها ‪.‬‬
‫يوجد طريقتان للتحويل بين أنواع المتغيرات ‪ ،‬سنتناولهما ثم سنعرض مثال على كل طريقة‪:‬‬
‫‪ Implicity- 2‬تحويل مطلق‪:‬‬
‫‪ o‬و هى تتضمن تعريف المتغير أثناء شحنه بالقيمة أو البيانات أى تعريفه و شحنه‬
‫بالبيانات و حجز مساحته فى الذاكرة فى نفس الوقت‪.‬‬
‫‪ o‬يعيب هذه الطريقة عدم إمكانية التأكد من صحة أنواع البيانات المدخلة مسبقا‪.‬‬
‫‪ Explicity- 3‬تحويل محدد واضح‪:‬‬
‫‪ o‬و تتضمن تعريف المتغير و تحديد نوعه قبل شحنه بالبيانات‪.‬‬
‫‪ o‬تتميز هذه الطريقة أنه يتم اكتشاف المتغيرات بسهولة و التأكد أن جميع العمليات‬
‫الحسابية تتم بشكل صحيح‪.‬‬
‫اآلن سنعرض مثال لكل طريقة‪:‬‬

‫‪ ‬مثال‪ :‬على التحويل بين أنواع البيانات باستخدام طريقة ‪:Implicit‬‬

‫‪ - 2‬حول الكود السابق فى البرنامج الحالى إلى تعليقات‬


‫‪ - 3‬اكتب الكود التالى‪:‬‬

‫‪59‬‬
‫الدرس الرابع‪ -‬المتغيرات و أنواعها و استخداماتها‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫إذا الحظنا السطر ‪ 46‬تم تعريف المتغير ‪ myValue‬كـ ‪( Integer‬يشغل ‪ 3‬بايت فى الذاكرة)‬ ‫‪-‬‬
‫السطر ‪ : 47‬تم تعريف المتغير ‪ myOtherValue‬كـ ‪( Double‬يشغل ‪ 9‬بايت فى الذاكرة) و‬ ‫‪-‬‬
‫يحتوى على البيان ‪4.25‬‬
‫السطر ‪: 48‬تم تحويل المتغير ‪ myOtherValue‬إلى ‪( myValue‬تصغير المساحة التى يشغلها‬ ‫‪-‬‬
‫من ‪ 9‬إلى ‪ 3‬بايت)‬
‫السطر ‪ :4:‬سنجد اننا قمنا بعملية تحويل أخرى للمتغير ‪ myValue‬من ‪ 3( Integer‬بايت) إلى‬ ‫‪-‬‬
‫‪ 2 (String‬بايت) حيث الحدث ‪ Show‬فى ‪ MessageBox‬ال يعرض إلى متغير ‪String‬‬
‫لتلخيص هذه العملية من التحويل بين أنواع المتغيرات‬ ‫‪-‬‬

‫السطر‪MessageBox.Show 39‬‬ ‫السطر ‪33‬‬


‫)‪myValue(message‬‬ ‫‪myOtherValue  myValue‬‬
‫)‪Integer (2Bytes)String (1Byte‬‬ ‫)‪Double (8 Bytes) Integer(2 bytes‬‬
‫‪ - 4‬عند تشغيل البرنامج ‪Debug‬‬

‫‪ -‬عند الضغط على ‪ Button 1‬ستظهر رسالة "‪"4‬‬


‫‪ -‬على الرغم من أن المتغير األساسى كان ‪ 4.25‬إال أنه تحول إلى‬
‫"‪ "4‬فقط ‪ ،‬فقد حدث فقد فى البيانات عند التحويل من ‪Double‬‬
‫(يحتوى أعداد فيها كسور) إلى ‪( Integer‬يعرض أعدادا دون‬
‫الكسور) و لذلك تعتبر عملية التحويل بين المتغيرات بطريقة‬
‫‪ Implicit‬خطيرة ألنها قد تؤدى إلى فقد بيانات‪.‬‬

‫‪60‬‬
‫الدرس الرابع‪ -‬المتغيرات و أنواعها و استخداماتها‬
algoharism.blogspot.com Microsoft Visual Basic 2010 Express‫مقدمة فى الـ‬

: ‫ ملخص عملية التحويل‬-


Double Integer Line 37
3.14 - 3
(8 Bytes) (2 bytes)
Integer String Line 39
3  “4”
(2bytes) (1 byte)

61
‫ المتغيرات و أنواعها و استخداماتها‬-‫الدرس الرابع‬
‫‪:Explicit‬‬
‫‪algoharism.blogspot.com‬‬ ‫‪Microsoft‬أنواع البيانات باستخدام طريقة‬
‫التحويل بين‬ ‫على‬
‫‪Visual‬‬ ‫مقدمة فى الـ‪2010Express‬‬
‫مثال‪:‬‬
‫‪Basic‬‬

‫‪ - 2‬حول الكود السابق فى البرنامج الحالى إلى تعليقات‬


‫‪ - 3‬اكتب الكود التالى‪:‬‬

‫‪ -‬فى السطور ‪ 52‬و ‪ 53‬و ‪ 54‬تم تعريف ‪ 4‬متغيرات كـ ‪Integer‬‬


‫‪ -‬فى السطرين ‪ 56‬و ‪ : 57‬سيحتوى المتغير ‪ firstTextBox‬على البيانات المدخلة فى ‪TextBox1‬‬
‫و كذلك بالنسبة ‪secondTextBox‬‬
‫‪ -‬فى السطرين ‪ 59‬و ‪ : 5:‬جعل المتغير ‪ result‬يحتوى على ما يحتويه المتغير‬
‫‪(firstTextbox‬أرقام و كسور ‪( SecondTextBox + )Integer‬أرقام و كسور ‪، ) Integer‬‬
‫و العنصر ‪ Label1‬سيعرض ما يحتويه المتغير ‪result‬‬
‫‪ - 4‬لفهم أكثر شغل البرنامج ‪Debug‬‬

‫سنجد أنه جمع محتوى ‪ textbox1‬و ‪ textbox2‬مثل اآللة الحاسبة أى أنه لم يحول ‪ integer‬إلى‬
‫‪ string‬لتحديد أنواع المتغيرات سابقا و عدم ترك عملية التحويل للبرنامج‬

‫‪62‬‬
‫الدرس الرابع‪ -‬المتغيرات و أنواعها و استخداماتها‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ -‬عند ادخال حروف بدال من األرقام سيحدث خطأ‪:‬‬

‫‪ -‬و ذلك دليل على عدم تغيير نوع المتغيرات ‪،‬حيث "‪ "five‬هو متغير نصى ال يقبله المتغير‬
‫‪Integer‬‬

‫‪63‬‬
‫الدرس الرابع‪ -‬المتغيرات و أنواعها و استخداماتها‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.4‬بعض انتعريفاث فً انمتغيراث‬


‫سنعرض بعض التعريفات التى سنحتاجها فى عملية بناء و تحديد المتغيرات ‪ ،‬و أهمها تعريفين‪:‬‬
‫‪ statement‬و ‪ ، expression‬سنعرضهما من خالل المثال التالى‪:‬‬

‫إذا كتبنا الكود التالى و قمنا بتشغيله‪:‬‬


‫‪Dim x As Integer‬‬
‫‪x + 3‬‬
‫عند تشغيله سيحدث خطأ ‪ ،‬و ذلك ألن السطر الثانى من الكود السابق هو ‪ Expression‬و ليس‬
‫‪.Statement‬‬

‫سيوضح الجدول التالى أكثر الفرق بينهما‪:‬‬

‫‪ Statement‬جملة‬ ‫‪Expression‬تعبير‬
‫هو إفادة أو تصريح‬ ‫هى عبارة جبرية أو مقدار جبرى‬
‫مجرد إفادة أة تصريح بعملية برمجة‬ ‫يمكن تقييمها باألرقام ألنها تتعلق بالعمليات‬
‫الحسابية‬
‫تتضمن تعريف المتغير ‪Dim x as Integer‬‬ ‫تتضمن عمليات طرح و قسمة و سائر العمليات‬
‫أو شحن المتغير بالبيانات‪MyInteger=3‬‬ ‫الحسابية‬
‫أو إظهار رسالة‬ ‫أو حتى كالمثال التالى‪:‬‬
‫نصية”‪MessageBox.Show”Hello world‬‬ ‫‪ 2<3‬صح أم خطأ؟ ‪ .....‬خطأ‬
‫أو حتى إعالن عنصر جديد‬
‫‪ -‬فى تعريف آخر للـ‪:Expression‬‬
‫هى هبارة عن ربط مجموعة من العناصر (سواء كانت هذه العناصر ثوابت أو متغيرات أو معامالت‬
‫) و يشترط فى ذلك أن تكون مكونات التعبير ‪ expression‬الواحد متجانسة مع بعضها فى نوع‬
‫البيان المرتبط فى هذا التعبير )‪. (data type‬‬

‫‪64‬‬
‫الدرس الرابع‪ -‬المتغيرات و أنواعها و استخداماتها‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.5‬تذريب‬
‫قم ببناء البرنامج الخاص بخدمة العمالء المشروح فى الدرس الثانى ‪ ،‬مع إضافة زر ‪OK‬و الذى‬
‫سيقوم بتسجيل جميع البيانات المدخلة إلى متغيرات قم بتحديدها مع مراعاة تعريف األنواع الصحيحة‬
‫للمتغيرات المستخدمة‪.‬‬

‫‪Text box‬‬

‫‪Labels‬‬ ‫‪Combo Box‬‬

‫يحتوى على (أحمد – محمد – ممدوح)‬

‫‪List box‬‬

‫يحتوى على (خضر‪ -‬فاكهة‪ -‬بقالة‪ -‬ألبان)‬

‫‪Radio Box‬‬
‫‪Check Box‬‬

‫‪Button‬‬

‫زر ‪ok‬و اآلخر ‪cancel‬‬

‫‪65‬‬
‫الدرس الرابع‪ -‬المتغيرات و أنواعها و استخداماتها‬
‫‪Microsoft‬‬
‫‪VB Express‬‬
‫للمبتدئين‪2010‬‬

‫الدرس الخامس‬

‫‪algoharism.blogspot.com‬‬

‫شرح لبعض أنواع الجمل ‪ statements‬وكيفية‬


‫استخدامها و أنواعها‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.1‬مقذمت‬
‫فى هذا الدرس سنتعمق أكثر فى عملية بناء الكود ‪ ،‬فسنوضح أمثلة على الـ‪ ،Statements‬فقد قلنا‬
‫فى الدرس السابق أن الـ‪ Statements‬الجمل ما هى إال إفادات أو تصريحات‪.‬‬

‫‪ -‬راجع الجزء الخاص بالـ ‪Statements‬و ‪Expressions‬فى الدرس الرابع‬

‫نذكر من هذه األمثلة ‪:‬‬


‫‪Branching Statements .2‬الجمل التشعبية‪.‬‬
‫‪ Recursion Statements .3‬الجمل الحلقية التكرارية‪.‬‬
‫‪ Arrays .4‬متغيرات متعددة المحتوى‪.‬‬

‫‪Recursion Statements‬‬ ‫‪Branching Statements‬‬


‫الجمل الحلقية التكرارية‬ ‫الجمل التشعبية‬
‫يسمح هذا النوع من الجمل بتغيير أو تفريع تنفيذ أما هذا النوع فيسمح لنا التكرار فى تنفيذ الكد‬
‫الكود حسب تقييم المقدار الجبرى ‪ expression‬داخل مجموعة من البيانات و الهدف منه كمثال‬
‫مراجعة البيانات خالل عملية التنفيذ‬
‫أمثلة‪:‬‬ ‫أمثلة من اإلفادات‪:‬‬
‫‪For Each .2‬‬ ‫‪If….Then .2‬‬
‫‪For …Next .3‬‬ ‫‪Select Case .3‬‬
‫‪Do While…Loop .4‬‬
‫لمعرفة المزيد عن هذه الجمل تابع الشرح التالى‪ .‬قم بإنشاء التصميم التالى و سميه ‪:lesson5‬‬

‫‪ComboBox‬‬

‫يحتوى على(محمد – ممدوح – أحمد)‬

‫‪ListBox‬‬

‫يحتوى على(كمبيوتر مكتبى – محمول – نقال ‪ -‬إضافات)‬

‫‪TextBox‬‬

‫‪Button‬‬

‫‪67‬‬ ‫الدرس الخامس – الجمل ‪statements‬‬


‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.1.2‬انجمم انتشعبيت‪If…Then :‬‬


‫هى جملة تشعبية وظيفتها تقرير ما إذا سيتم تنفيذ أو عدم تنفيذ مجموعة من األوامر حسب تقييم مقدار‬
‫جبرى ‪.expression‬‬

‫اكتب الكود التالى فى ‪Button1‬‬

‫و معنى الكود ‪ If…Then‬أنه فى حالة اختيار "محمد" من العنصر ‪ ComboBox1‬ستظهر رسالة‬


‫"لقد اخترت محمد" ‪،‬لكن فى حالة عدم اختيار "محمد" لن يتم نفيذ الكود بعد ‪ ،Then‬و وظيفة ‪End If‬‬
‫لتقرير نهاية الجملة ‪ statement‬ليعلم الـ‪ VB‬أنها نهاية جملة ‪.If..Then‬‬

‫‪ ‬مثال‪ :‬على ‪IF…Then‬‬


‫‪ -‬فى حالة تنفيذ المثال السابق و اختيار "محمد"‪:‬‬

‫أما فى حالة عدم االختيار لن يحدث شا‪.‬‬

‫‪68‬‬ ‫الدرس الخامس – الجمل ‪statements‬‬


‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ -‬سنالحظ أنه تم تنفيذ الكود أو عدم تنفيذه حسب تقييم التعبير ‪( expression‬نعم أو ال) للجملة‬
‫اختيار محمد‪:‬‬
‫أى فى حالة اختيار محمد ‪ ‬تقييم التعبير بـ "نعم"‪ ‬سيتم تحقيق الكود‬
‫و فى حالة عدم اختيار محمد ‪ ‬تقييم التعبير بـ "ال" ‪ ‬لن يتم تحقيق الكود‬
‫لننتقل إلى مثال أصعب عن جملة ‪ If..Then‬وهى أن تكون فى سياق الكود‪:‬‬

‫خطوات تنفيذ هذا الكود ستكون كاآلتى‪:‬‬

‫‪69‬‬ ‫الدرس الخامس – الجمل ‪statements‬‬


‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ComboBox1.text‬‬

‫النص المدخل فى ‪ComboBox1‬‬

‫لو لم يكن االختيار "محمد"‬

‫”محمد“ >< ‪If Combox1.text‬‬

‫ملحوظة‪ >< :‬معناها ال يساوى ≠‬

‫لو تم تحقيق هذا الشرط‬ ‫لو لم يتم تحقيق هذا الشرط‬

‫‪then‬‬ ‫‪else‬‬

‫لو كان االختيار "ممدوح"‬ ‫أظهر رسالة "لقد اخترت محمد"‬

‫”ممدوح”=‪If ComboBox2.text‬‬ ‫”لقد اخترت محمد”= ‪Messagebox.show‬‬

‫لو تم تحقيق هذا الشرط‬ ‫لو لم يتم تحقيق هذا الشرط‬

‫‪then‬‬ ‫‪else‬‬

‫أظهر رسالة "لم أتأكد من االحتيار"‬


‫أظهر رسالة "لقد اخترت ممدوح"‬
‫لم أتأكد من ”= ‪Messagebox.show‬‬
‫”لقد اخترت ممدوح”= ‪Messagebox.show‬‬
‫”االحتيار‬
‫”وح‬
‫”وح‬

‫‪70‬‬ ‫الدرس الخامس – الجمل ‪statements‬‬


‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫عند تنفيذ البرنامج ‪ ،‬عند اختيار ممدوح ستظهر رسالة "لقد اخترت ممدوح" ‪ ،‬و أيضا عند اختيار‬
‫"محمد" ستظهر رسالة " لقد اخترت محمد" ‪ ،‬أى اختيار آخر ستظهر رسالة " لست متأكدا من‬
‫اختيارك"‪.‬‬

‫‪71‬‬ ‫الدرس الخامس – الجمل ‪statements‬‬


‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.2.2‬انجمم انتشعبيت‪Select Caseٍ :‬‬


‫تماثل الجملة التشعبية ‪. If..Then‬‬

‫اكتب الكود التالى ‪:‬‬

‫‪ -‬خصابص ‪ listbox‬فى الكود )(‪ ListBox1.SelectedItem.ToString‬سنتطرق له‬


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

‫‪72‬‬ ‫الدرس الخامس – الجمل ‪statements‬‬


‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.3‬متغيراث متعذدة انمحتىي‪Arrays‬‬


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

‫لتعلم كنابة ‪ array‬انظر إلى الكود التالى‪:‬‬

‫السطر ‪45‬‬ ‫هى إلعالن المتغير ‪Dim:‬‬


‫اسم المتغير ‪myArray(2): myArray:‬‬ ‫عدد البيانات التى سيحويها المتغير المتعدد المحتوى ‪(2):‬‬
‫تعريف المتغير كمتغير خطى (يحتوى على نصوص) ‪As String:‬‬
‫السطور‬ ‫هى المتغير الفرعى رقم ‪(2‬المحتوى رقم ‪myArray(0): )2‬‬ ‫محتويات المتغير ”محمد“ =‬
‫المتغير الفرعى ‪46 myArray(1):3‬و‪47‬و‪48‬‬
‫المتغير الفرعى ‪myArray(2):4‬‬
‫السطر ‪49‬‬ ‫إفادة بإظهار رسالة بمحتويات المتغير الفرعى ‪MEssageBox.Show(myArray(2)) 4‬‬
‫لفهم أكثر للمتغير متعدد المحتوى‪:‬انظر الشكل التالى‬

‫‪73‬‬ ‫الدرس الخامس – الجمل ‪statements‬‬


‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫متغير متعدد المحتوى‬

‫فى المثال السابق يكون )‪myArray(2‬‬

‫تعريفه‬
‫يتكون من‬

‫عدد المتغيرات (المحتوى)‬ ‫‪String‬‬


‫اسمه‬
‫الفرعى‬
‫متغير نصى‬
‫‪myArray‬‬
‫‪ 4‬متغيرات‪(2) ‬‬

‫‪myArray‬‬

‫)‪myArray(0‬‬ ‫)‪myArray(1‬‬
‫متغير فرعى ‪1‬‬ ‫متغير فرعى‪2‬‬
‫"محمد"‬ ‫"ممدوح"‬

‫)‪myArray(2‬‬
‫متغير فرعى ‪3‬‬
‫"الجوهرى"‬

‫‪ -‬نالحظ على الرغم من أننا حدننا عدد المتغيرات الفرعية برقم ‪ 3‬إلى إنه العدد الفعلى‬
‫للمتغيرات الفرعية كان ‪ 4‬ألن العد يبدأ من الرقم ‪1‬‬

‫‪74‬‬ ‫الدرس الخامس – الجمل ‪statements‬‬


‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫إذا قمنا بتشغيل ‪ debug‬البرنامج ‪ ،‬سنجد أنه أظهر رسالة بالمتغير الفرعى ‪:4‬‬

‫إذا غيرنا الكود بإضافة متغير فرعى رابع مع عدم تحديد عدده فى المتغير األساسى‪:‬‬

‫ثم قمنا بتشغيل البرنامج ‪،‬ستظهر رسالة خطأ تفيد بأن يوجد متغير فرعى خارج نطاق المتغير‬
‫األساسى‪:‬‬

‫‪75‬‬ ‫الدرس الخامس – الجمل ‪statements‬‬


‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫طريقة أخرى لكتابة كود المتغير المتعدد المحتوى بدون تحديد عدد معين للمغيرات الفرعية منه‪:‬‬

‫حيث يمكنك اى عدد من المتغيرات الفرعية أو تغيير عددها خالل عملية التكويد ‪ ،‬الحظ أنه تمت‬
‫كتابة المتغيرات الفرعية داخل } { ‪ ،‬و عند تشغيل ‪ debug‬الكود ستظهر رسالة نصية بمتوى المتغير‬
‫الفرعى ‪.4‬‬

‫‪76‬‬ ‫الدرس الخامس – الجمل ‪statements‬‬


‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ .1.4‬انجمهت انحهقيت انتكراريت‪for/each :‬‬


‫كما عرفنا فى الجزء االول من هذا الدرس أن الجمل التكرارية تتيح لك التكرار داخل جزء من الكود‬
‫أو يمر على كل متغير فرعى فى متغير متعدد المحتوى‪ ،‬لنر ذلك فى المثال التالى‪:‬‬

‫فى هذا الكود تم تعريف ‪ myArray‬كمتغير نصى متعدد المحتوى ‪ ،‬و المتغير ‪ person‬تم تعريفه‬
‫أيضا كمتغير نصى و تم استخدامه فى السطر ‪ 61‬ليحتوى متغير فرعى واحد فى كل مرة من خالل‬
‫الكود ‪ for each‬لتظهر رسالة نصية فى كل خطوة بمحتوى المتغير ‪ ،person‬لفهم أكثر قم بتشغيل‬
‫البرنامج‪:‬‬

‫أى أنه ينتقل كل خطوة (بشكل تكرارى) فى الكود المحدد له(هنا المتغير متعدد المحتوى) حتى نهاية‬
‫التكرار‪.‬‬

‫‪77‬‬ ‫الدرس الخامس – الجمل ‪statements‬‬


‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ .2.4‬انجمهت انتكراريت‪for/next :‬‬


‫تستخدم لتكرار جزء من الكود عدد محدد من المرات يتم تحديدها مسبقا ‪ ،‬سيتم شرحها من خالل‬
‫الكود التالى‪:‬‬

‫سطر ‪:67‬تم تعريف المتغير ‪ i‬كـ ‪ integer‬و شحنه بالقيمة ‪. 1‬‬

‫سطر ‪ 68‬و ‪ :69‬تكويد المتغير ‪ i‬بأنه يبدأ من ‪ 1‬حتى يصل إلى رقم ‪ ، 6‬فيما معناه أنه سيتم إعادة‬
‫الكود ‪ 6‬مرات و فى كل مرة سيظهر رقم من ‪ 1‬إلى ‪ 6‬بالترتيب فى رسالة‬

‫سطر ‪ :6:‬نهاية اإلفادة‪.‬‬

‫لفهم أكثر انظر الشكل التالى للكود ‪:for/next‬‬


‫‪Var1‬‬
‫‪Counter‬‬ ‫متغير عددى يمثل‬
‫متغير عددى يستخدم‬ ‫القيمة االبتدابية‬
‫كعداد لإلفادة التكرارية و‬ ‫للمتغير ‪counter‬‬
‫عادة ما يكون ‪integer‬‬
‫‪Var2‬‬
‫متغير عددى يمثل‬
‫‪For Counter = Var1 To Var2 Step Var3‬‬ ‫القيمة النهابية‬
‫للمتغير ‪counter‬‬
‫‪Statements‬‬
‫مجموعة اإلفادات أو‬
‫األكواد المراد تكرارها و‬ ‫‪Next‬‬
‫هى تمثل محتوى اإلفادة‬ ‫‪Var3‬‬
‫التكرارية‬ ‫متغير عددى يمثل القيمة المراد‬
‫إضافتها للمتغير ‪ counter‬فى‬
‫كل مرة تكرار‬

‫‪78‬‬ ‫الدرس الخامس – الجمل ‪statements‬‬


algoharism.blogspot.com Microsoft Visual Basic 2010 Express‫مقدمة فى الـ‬

:‫عند تشغيل البرنامج‬

......

79 statements ‫الدرس الخامس – الجمل‬


‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ .5‬تركيباث بين انجمم انتكراريت و انتشعبيت‬


‫بعض التركيبات بين الجمل لتوضيح بعض المجاالت التى يمكن استخدامها مجتمعة‪ ،‬و سنبدأ بالجمع‬
‫بين ‪for/next‬و ‪:if …then‬‬

‫السطر ‪ :82‬تم تعريف متغير متعدد المحتوى ‪ myArray‬و شحنه بالبيانات المذكورة فى الكود‪.‬‬

‫السطر ‪ :84‬تم تعريف المتغير ‪ i‬كـ ‪integer‬‬

‫السطر ‪ :85‬أصبح المتغير ‪ i‬هو العداد لإلفادة ‪ for/next‬و قيمته االبتدابية ‪ 1‬و قيمته النهابية هى‬
‫عدد القيم فى المتغير متعدد المحتوى (‪ ، 2 – )myArray.length‬حيث سينتقل فى كل تكرار إلى‬
‫قيمة من قيم المتغير متعدد المحتوى بالترتيب‪.‬‬

‫‪ -‬راجع الـ‪ Arrays‬لمعرفة الفرق بين عدد القيم الفعلى داخل المتغير ‪ myArray‬و عدد القيم‬
‫التى نحددها بين أقواس المتغير )(‪ myArray‬لمعرفة سبب الكود (ناقص ‪)2‬‬
‫السطر ‪86‬و‪ :87‬هى محتوى إفادة ‪ for/next‬و يتكون من اإلفادة ‪ if…then‬لترشد الكود أنه إذا‬
‫وصلت اإلفادة التكرارية فى المتغير متعدد المحتوى ()‪ )myArray(i‬إلى القيمة "الجوهرى" ستظهر‬
‫رسالة نصية "تم اختييار الجوهرى"‪.‬‬
‫السطر ‪ Exit for :88‬لتفيد الخروج من اإلفادة التكرارية و عدم اكمالها و ذلك من خالل اإلفادة‬
‫‪.if..next‬‬

‫‪80‬‬ ‫الدرس الخامس – الجمل ‪statements‬‬


‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫السطر‪ 89‬و ‪ :8:‬هى نهايات الجمل ‪if‬و ‪.for‬‬

‫الكود(ال تقم‬ ‫لفهم أكثر عن عملية تنفيذ البرنامج ‪ ،‬سنشرح كيف سينفذ الكمبيوتر‬

‫اقرأ الجدول من هذا االتجاه‬


‫بتشغيل البرنامج فى هذه اللحظة ‪:)don’t debug‬‬

‫الجملة ‪for‬‬ ‫الجملة ‪if‬‬


‫ستتكرر حسب محتوى المتغير ‪ i‬والذى‬ ‫شرطها أن يكون قيمة‬
‫”الجوهرى”=‪ myArray‬سيبدأ من ‪ 1‬حتى عدد قيم المتغير‬
‫‪ myArray‬ناقص ‪2‬‬
‫= من ‪ 1‬حتى (‪ = )2-5‬من ‪ 1‬حتى ‪4‬‬
‫)‪myArray(i‬‬ ‫من الجملتين السابقتين سيستنتج الكمبيوتر أن المطلوب منه اآلتى‪:‬‬
‫لو وصلت لالختيار "الجوهرى" فى المتغير ‪ myArray‬حسب العداد ‪ i‬الخاص‬
‫باإلفادة ‪: for‬‬
‫خطوة ‪0‬‬ ‫مما يتنافى مع ‪ if‬ولن يتم تنفيذ و سينتقل سيقع االختيار على القيمة رقم ‪ 2‬و هى‬
‫)‪myArray(0‬‬ ‫"محمد"‬ ‫إلى الخطوة التالية‬
‫خطوة ‪1‬‬ ‫مما يتنافى مع ‪ if‬ولن يتم تنفيذ و سينتقل سيقع االختيار على القيمة رقم ‪ 3‬و هى‬
‫)‪myArray(1‬‬ ‫"ممدوح"‬ ‫إلى الخطوة التالية‬
‫خطوة‪2‬‬ ‫سيقع االختيار على القيمة رقم ‪ 4‬و هى‬ ‫يتناسب مع شرط ‪ if‬وسيتم تنفيذ الكود‬
‫)‪myArray(2‬‬ ‫"الجوهرى"‬ ‫التالى‪:‬‬
‫إظهار رسالة نصية‬
‫و الخروج من اإلفادة التكرارية و عدم‬
‫إكمالها‬

‫لكن عند تشغيل البرنامج ‪ debug‬سنجد أن الكمبيوتر ينتقل إلى خطوة ‪ 2‬على الفور ألنه لم يأخذ‬
‫تعليمات أخرى (كود لينفذه) فى الخطوة ‪ 1‬و ‪ 2‬لينفذها لذلك لم يكن واضحا النتقال بين الخطوتين ‪ 1‬و‬
‫‪ 2‬إنما الخطوة ‪ 3‬كانت الواضحة‪.‬‬

‫‪ -‬دابما ما يفكر الكمبيوتر(برنامج الـ‪ )Visual Basic‬بهذه الطريقة ‪ ،‬مما يمكنك من من معرفة‬
‫كيفية التصميم المثلى للبرنامج و كيفية اكتشاف األخطاء‪.‬‬

‫‪81‬‬ ‫الدرس الخامس – الجمل ‪statements‬‬


‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫التركيبة الثانية هى بين ‪for/next‬و ‪select case‬‬

‫الهدف من الكود أنه عند ضغط ‪ button1‬سيتم تنفيذ إفادة تكرارية عدادها ‪ i‬وقيمته االبتدابية ‪ 1‬و‬
‫النهابية هو عدد العناصر داخل ‪ listbox1‬ناقص ‪ ، 2‬و فى كل تكرار سيتحدد االختيارت التى قام بها‬
‫المستخدم لتظهر له رسابل نصية بمحتوى االختيار ‪ ،‬لفهم أكثر قم بتشغيل البرنامج و قم بالتعليم على‬
‫أكثر من اختيار فى ‪ ( listbox1‬وذلك من خالل التعليم بالماوس مع الضغط على ‪ )Ctrl‬و اضغط‬
‫‪ button1‬عندما تفرغ‪.‬‬

‫‪82‬‬ ‫الدرس الخامس – الجمل ‪statements‬‬


‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.6‬تذريب‬
‫‪ – 2‬ابدأ فى تنفيذ برنامج آلة حاسبة بسيطة مكون من ‪:‬‬

‫‪ :2 textboxes -‬إلدخال األرقام‬


‫‪listbox 2 -‬منسدل‪ :‬يحتوى على هذه القيم ‪:‬جمع ‪ ،‬طرح‪ ،‬قسمة ‪ ،‬ضرب‬

‫اكتب الكود حيث حسب االختيار فى الـ‪ listbox‬ستتم عملية الحساب بين األرقام فى ‪textbox‬‬

‫ستستخدم العمليات الحسابية التالية‪:‬‬


‫الجمع ‪+‬‬
‫الطرح –‬
‫الضرب *‬
‫القسمة ‪/‬‬

‫راع التعريفات االزمة للمتغيرات المستخدمة و طرق التحويل بينها و ذلك ألن القيم كلها رقمية‪.‬‬
‫‪ -3‬اجعل قابمة بأسماء أفالم ‪ Dvd‬فى متغير متعدد المحتوى ‪ Array‬و هذه القابمة هى المراد تأجيرها‬
‫‪ ،‬بفرض أن كل فيلم سعره ‪ 4‬جنيهات ‪ ،‬اعرض المجموع الكلى لسعر األفالم و عدد األفالم فى‬
‫القابمة فى ‪ ، label‬و اعرض اسم كل فيلم و سعره فى ‪ label‬آخر و حاول أن يكون اسم كل فيلم و‬
‫سعره فى سطر خاص به‪.‬‬

‫‪83‬‬ ‫الدرس الخامس – الجمل ‪statements‬‬


‫‪Microsoft‬‬
‫‪VB Express‬‬
‫للمبتدئين‪2010‬‬

‫الدرس السادس‬

‫‪algoharism.blogspot.com‬‬

‫درس تلخيصى لكل الكتاب حيث سيتم صناعة أول‬


‫برنامج متكامل فى لغة الفيجوال بيسك‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.1‬إنشأ مشروع جذيذ‬


‫سنحاول التعرض لبعض العناصر التى تم شرحها سابقا من خالل مشروح تصفح صور‪.‬‬
‫انشأ مشروعا جديدا ‪ ،‬افتح البرنامج من قابمة البداية الخاصة بويندوز ‪Start menu‬ثم اكتر من‬
‫‪programs‬برنامج ‪Microsoft Visual Basic 2010 Express‬‬
‫اختر ‪ New Project‬ثم ‪Windows Forms Application‬و اسم البرنامج الجديد ‪MyFirstVBApp‬‬

‫الدرس السادس – أول برنامج‬


‫‪85‬‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.2‬أبذأ فً انتصميم‬
‫‪ .2‬اذهب إلى ‪ Toolbox‬على يسار النافذة لتظهر لك ‪ ،‬اختر من قسم ‪ Containers‬العنصر‬
‫‪TableLayoutPanels‬‬

‫‪ ‬يمكنك تثبيت ظهور نافذة ال‪Toolbox‬عن طريق الضغط على رمز الدبوس فى الجزء‬
‫األعلى منها‬

‫عند إضافة العنصر المراد ستظهر نافذة التصميم كاآلتى‪:‬‬

‫الدرس السادس – أول برنامج‬


‫‪86‬‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ .3‬اذهب إلى نافذة ‪ properties‬فى الجانب األيمن من الشاشة و تأكد من اختيار‬


‫‪ TableLayoutPanel1‬كما فى الصورة‬

‫إذهب إلى الخاصية ‪ Dock‬فى نافذة ال‪ properties‬و تأكد أنها غير مفعلة ‪ None‬ثم اضغط على‬
‫السهم الظاهر لتظهر لك قابمة بها مبرعات ‪ ،‬اختر المربع األوسط ليظهر لك االختيار ‪ fill‬كما فى‬
‫الصورة‪:‬‬

‫عند اتمام االختيارات ستجد أن ‪ TableLayoutPAnel‬قد مأل نافذة التصميم‪.‬‬

‫وظيفة ‪ TableLayoutPanel‬كما وظيفة الجدول فى الورد حيث تتكون من أعمدة و سطور ‪ ،‬و كل‬
‫خلية ممكن أن تحتوى عنصر‬

‫‪ .4‬اذهب إلى نافذة التصميم و اختر‬


‫ال‪ TableLayoutPAnel‬لتجد سهم على يمين‬
‫العنصر فى األعلى اضغط عليه ثم اختر ‪Edit‬‬
‫‪ Columns and Rows‬كما فى الشكل‪:‬‬

‫الدرس السادس – أول برنامج‬


‫‪87‬‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫ستظهر لك نافذة ‪ ،Column and Row Styles‬تأكد من التعليم على ‪ Column1‬و اضبط حجمه‬
‫ب‪ %26‬و ‪ column2‬ب‪ ، %96‬و كذلك ‪ Row1‬ب‪ %:1‬و ‪Row2‬ب‪ ،%21‬ثم اضغط ‪ok‬‬

‫‪ .5‬اذهب إلى نافذة التصميم و اختر من ال‪ Toolbox‬العنصر ‪( PictureControl‬عن طريق‬


‫الضغط عليها مرتين) ‪ ،‬سيتم إضافة العنصر فى أول خانة على اليسار فى األعلى‪.‬‬
‫اضغط على السهم الموجود فى أعلى العنصر المضاف ‪ PictureControl‬لتظهر لك قابمة اختر‬
‫‪Dock in Parent Container‬‬

‫تأكد أن الخاصية ‪ dock‬فى نافذة ال‪ Properties‬محتواها ‪ ،Fill‬ثم اذهب إلى ‪ColumnSpan‬و‬
‫غيره إلى ‪، 3‬و غير ‪ BorderStyle‬ل‪ Fixed3d‬إلظهار العنصر حتى لو فارغ‪.‬‬

‫الدرس السادس – أول برنامج‬


‫‪88‬‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪ .6‬أضف ‪ checkbox‬من ال‪ toolbox‬عن طريق ضغطتين متتالتين بالماوس على‬


‫العنصرلتضاف إلى أول خانة فارغة و هى الخانة السفلى على اليسار (ألن الخانتين العلويتين‬
‫مشغولتين بال‪.)picturebox‬‬

‫قم بتغيير خاصية ‪ text‬ألى "م ّدد"‪.‬‬

‫‪ .7‬اذهب إلى ال‪ toolbox‬مرة أخرى و اختر من مجموعة ‪ containers‬العنصر‬


‫‪ FlowLAyoutPanel‬لتضاف إلى آخر خانة ‪ ،‬ثم اضغط على السهم و اختر ‪Dock in‬‬
‫‪parent container‬‬

‫وظيفة ‪ FlowLayoutPanel‬أنها من الممكن أن تحتوى على عناصر أخرى لترتبها فى صفوف‬


‫منظمة‪ ،‬و عند تغيير مساحتها يمكنها أن ترتب محتوياتها فى سطور ‪ ،‬سنستخدمها هنا فى احتواء ‪5‬‬
‫ازرار‪.‬‬
‫إلضافة األزرار‪:‬‬ ‫‪.8‬‬
‫اختر ‪ FlowLayoutPanel‬ثم إذهب إلى ‪ toolbox‬و أضف ‪ 5‬أزرار( ‪button1‬و‬ ‫‪‬‬
‫‪button2‬و ‪ button3‬و ‪ )button4‬ليتم إضافتهم فى ‪. FlowLayoutPanel‬‬
‫غير ال‪ text‬فى نافذة ‪ property‬لزرار األول لـ" أظهر الصورة" و الثانى لـ"امسح‬ ‫‪‬‬
‫الصورة" و الثالث لـ"اضبط لون الخلفية" و الرابع " أغلق"‪.‬‬
‫يمكنك تغيير ترتيب أماكن األزرار ‪ ،‬إذهب إلى خاصية ‪ flowdirection‬الخاصة‬ ‫‪‬‬
‫بـ‪ FlowlayoutPanel‬و اختر ‪ RightToLeft‬لتكون محاذاة األزرار من اليمين إلى اليسار‪.‬‬
‫علم بالماوس على زر "أغلق" ‪ ،‬ثم اضغط على زر ‪ Ctrl‬فى لوحة المفاتيح باستمرار ثم علم‬ ‫‪‬‬
‫على بقية ال‪ 4‬أزرار ‪ ،‬ثم اذهب إلى نافذة‬
‫‪ properties‬ثم ‪ autosize‬و غيرها‬
‫لـ‪ True‬ليتم ضبط حجم األزرار تلقابيا‪.‬‬

‫ليكون نتيجة ذلك ‪:‬‬

‫الدرس السادس – أول برنامج‬


‫‪89‬‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.3‬غير أسماء انعناصر‬


‫سنبدأ فى عملية تغيير أسماء العناصر الموجودة فى التصميم حتى تسهل علينا تمييزهم فى عملية‬
‫الكود‪ ،‬سنبدأ فى تغيير أسماء األزرار ‪ ،‬اختر زر "أغلق" بالماوس ثم اذهب إلى خاصية )‪ (Name‬و‬
‫غيرها إلى ‪ closeButton‬و قم بالسابق مع زر "أظهر الصورة" ل ‪ showButton‬و "امسح‬
‫الصورة" ل‪ clearButton‬و "اضبط لون الخلفية" ل‪. backgroundButton‬‬

‫الدرس السادس – أول برنامج‬


‫‪90‬‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.4‬أضف مربعاث انحىار‬


‫مربعات الحوار ‪ DialogBoxes‬سنستخدمها لفتح ملف الصورة الذى نريد عرضه باإلضافة الختيار‬
‫لون الخلفية ‪ ،‬و هذا سنقوم بإنشابه اآلن‪.‬‬
‫‪- 2‬اذهب إلى ‪ toolbox‬و اختر من مجموعة ‪ Dialogs‬العنصر و أضف ‪ OpenFileDialog‬و‬
‫‪ ColorDialog‬ليظهروا كاآلتى‪:‬‬

‫اختر ‪ OpenfileDialog1‬و فى ‪ properties‬ستجد ‪ Filter‬اكتب السطر التالى فيها‪:‬‬


‫*‪ (*.*)|*.‬كل الملفات|‪ (*.bmp)|*.bmp‬ملفات ‪ (*.png)|*.png|BMP‬ملفات ‪ (*.jpg)|*.jpg|PNG‬ملفات ‪JPEG‬‬

‫و فى خاصية ‪ :Title‬اختر ملف صور‬

‫كمثال توضيحى على ‪ OpenFileDialog‬اذهب إلى برنامج ‪ Paint‬فى ويندوز و شغله و اذهب إلى قابمة ‪ file‬ثم اختر‬
‫‪open‬‬

‫يمثله خاصية‬
‫‪ filter‬فى‬
‫التكويد‬

‫الدرس السادس – أول برنامج‬


‫‪91‬‬
algoharism.blogspot.com Microsoft Visual Basic 2010 Express‫مقدمة فى الـ‬

‫ابذأ فً كتابت انكىد‬.5


:‫هنا سيت كتابة الكود الخاص بالعناصر‬
‫ سنذهب إلى نافذة التصميم و نظغط بالماوس ضغطتين على‬، showButton ‫سنبدأ من‬- 2
:‫ سنكتب الكود التالى‬،‫ "أطهر الصورة" لننتقل إلى نافذة التكويد‬showButton

‫ سيتم تحميل‬OK ‫ و ضغط زر‬OpenFileDialog ‫اى فى حالة أن المستخدم اختار ملف من خالل‬
.PictureBox1 ‫هذا الملف فى مربع‬

‫ "امسح الصورة" ثم اضغط‬clearButton ‫اذهب إلى نافذة التصميم و اضغط على زر‬- 3
:‫ضغطتين متتالتين لتذهب إلى نافذة الكود و اكتب‬
Private Sub clearButton_Click() Handles clearButton.Click
' Clear the picture.
PictureBox1.Image = Nothing
End Sub
.‫و معناه أن يتم عرض الشا فى مربع الصورة عند الضغط على الزر‬
:"‫ " اضبط لون الخلفية‬backgroundButton ‫و فى‬- 4
Private Sub backgroundButton_Click() Handles backgroundButton.Click
' Show the color dialog box. If the user clicks OK, change the
' PictureBox control's background to the color the user chose.
If ColorDialog1.ShowDialog() = DialogResult.OK Then
PictureBox1.BackColor = ColorDialog1.Color
End If
End Sub

‫الدرس السادس – أول برنامج‬


92
algoharism.blogspot.com Microsoft Visual Basic 2010 Express‫مقدمة فى الـ‬

.ColorDialog1 ‫يمكنك من اختيار لون خلفية مربع الصورة حسب اختيارك فى‬
:"‫ "أغلق‬closeButton ‫و فى‬- 5
Private Sub closeButton_Click() Handles closeButton.Click
' Close the form.
Close()
End Sub
: checkbox ‫و فى‬- 6
Private Sub CheckBox1_CheckedChanged() Handles CheckBox1.CheckedChanged
' If the user selects the Stretch check box, change
' the PictureBox's SizeMode property to "Stretch". If the user
' clears the check box, change it to "Normal".
If CheckBox1.Checked Then
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
Else
PictureBox1.SizeMode = PictureBoxSizeMode.Normal
End If
End Sub
.‫و وظيفته عند التعليم فيه سيتم تمديد الصورة المعروضة بحجم النافذة‬
F5 ‫اآلن انتهينا من كتابة الكود للبرنامج األول فى الفيجوال بيسك ابدأ فى تجريب البرنامج من خالل‬

‫الدرس السادس – أول برنامج‬


93
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫‪.6‬إلخراج انبرنامج مستقم‬


‫فى هذه الخطوة سنستكشف كيفية سنتعلم كيفية صنع برنامج مستقل يمكننا مشاركته مع اآلخرين دون‬
‫الحاجة إلى الفيجوال بيسك‪.‬‬
‫أسرع طريقة هى بعد االنتهاء من البرنامج نذهب إلى قابمة ‪ Build‬ثم ‪ Publish‬اتظهر لنا نافذة‬

‫اكتب المسار الذى تريد فيه نشر البرنامج‪.‬‬

‫الدرس السادس – أول برنامج‬


‫‪94‬‬
‫‪algoharism.blogspot.com‬‬ ‫مقدمة فى الـ‪Microsoft Visual Basic 2010 Express‬‬

‫يمكنك أن تغير اسم البرنامج و بعض االعدادات األخرى الخاصة بالبرنامج من خالل القابمة‬
‫اسم البرنامج بعد‬ ‫‪ Project‬ثم ‪Properties‬‬
‫تجميعه‬ ‫شكل األيقونة الخاصة‬
‫بالبرنامج‬

‫عنوان و وصف و نسخة و شركة البرنامج‬

‫بعد االنتهاء يمكنك الذهاب إلى‬


‫هذه القابمة لنشر البرنامج‪.‬‬

‫اذهب إلى مسار الملف الذى‬


‫حددته سيكون هناك جميع‬
‫ملفات البرنامج‬

‫الدرس السادس – أول برنامج‬


‫‪95‬‬
‫الملحقات‬
‫الملحقات الخاصة بالدليل‬

‫‪algoharism.blogspot.com‬‬

‫‪96‬‬
‫انمراجع‪:‬‬

‫كتاب الحاسب اآللى – للصف األول الثانوى – وزارة التربية و التعليم – مصر طبعة ‪.3114/3113‬‬ ‫‪‬‬
‫البرمجة بلغة ال‪ – Visual Basic‬المستوى األول – هيبة قناة السويس‪ -‬مصر ‪.3112‬‬ ‫‪‬‬
‫فيديوهات لتعليم ‪ Visual Basic Express 2005‬موقع مايكروسوفت ‪-‬‬ ‫‪‬‬
‫‪.3121 - http://msdn.microsoft.com/en-us/beginner/bb308891.aspx‬‬
‫موقع ‪ MSDN‬من ميكروسوفت ‪http://msdn.microsoft.com/en--‬‬ ‫‪‬‬
‫‪.3121 – us/library/dd492135%28VS.100%29.aspx‬‬
‫وزارة التربية و التعليم – محاضرة أساسيات البرمجة ‪-‬‬ ‫‪‬‬
‫‪http://knowledge.moe.gov.eg/NR/rdonlyres/327B0AF2-677C-459F-B6C7-‬‬
‫‪.3121 - 6F2A6708E9DD/15719/1672009.ppt‬‬

‫‪97‬‬
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
:‫بعض خدمات المدونة‬

http://algoharism.blogspot.com/search/label‫كتب‬/ ‫كتب‬

http://store.ovi.com/content/94223 ‫تطبيق نوكيا‬

‫تغريدات‬
http://twitter.com/algoharism
Twitter

http://algoharism.blogspot.com/search/label‫فيديو‬/ ‫قناة فيديو‬

‫صفحة‬
http://www.facebook.com/algoharism
‫الفيس بوك‬

http://algoharism.blogspot.com/search/label‫راديو‬/ ‫اسمع الراديو‬

114

You might also like