Vbمدخل الى لغة البرمجة فيجوال بازيك

42
ﻟﻠﻜﻤﺒﯿﻮﺗﺮ اﻟﻌﺮﺑﯿﺔ اﻟﻤﻮﺳﻮﻋﺔ واﻹﻧﺘﺮﻧﺖ/ ﻗﺴﻢ اﻟﺪورات اﻟﺘﻌﻠﯿﻤﯿﺔ ﻛﺘﺐ ﺳﻠﺴﻠﺔ اﻟﺪورات اﻟﺘﻌﻠﯿﻤﯿﺔ اﻹ ﺘﺮ وﻧﯿﺔC4arab.com NET . VB ﺑﯿﺰﯾﻚ ﻓﯿﺠﻮال ﻧﺖ دوت ﺗﺄﻟﯿﻒ: ﺷـﺎﻛــﺮ ﻋﻀﻮ ﺗﻄﻮﻳﺮ ﺑﻤﺠﻠﺲC4arab وﺗﺠﻤﯿﻊ إﻋﺪاد: ﻟﻠﺘﻜﻨﻮﻟﻮﺟﯿﺎ ﺑﯿﻮﻛﻮم ﺮﻳﻖTechnology 4 BioCom ﺻﻮرﺗﻪ ﻋﻠﻰ اﻟﻜﺘﺎب ﺑﺘﻮزﯾﻊ ﯾﺴﻤﺢ اﻹﻟﻜﺘﺮوﻧﯿﺔ ﻫﯿﺌﺘﻪ ﺗﻐﯿﯿﺮ أو اﻟﻜﺘﺎب ﺑﻄﺒﻊ ﯾﺴﻤﺢ ﻟﻜﻦ إﻻ أﺧﺬ ﺑﻌﺪ ا ذن اﻟﻜﺎﺗﺐ ﻣﻦ ﻣﺤﻔﻮﻇﺔ اﻟﺤﻘﻮق ﺟﻤﯿﻊ© 2003-2000 - واﻻﻧﺘﺮﻧﺖ ﻟﻠﻜﻤﺒﯿﻮﺗﺮ اﻟﻌﺮﺑﯿﺔ اﻟﻤﻮﺳﻮﻋﺔ

Transcript of Vbمدخل الى لغة البرمجة فيجوال بازيك

Page 1: Vbمدخل الى لغة البرمجة فيجوال بازيك

التعلیمیةالدوراتقسم / واإلنترنتالموسوعة العربیة للكمبیوتر ونیةتركلاإل التعلیمیةالدوراتسلسلة كتب C4arab.com

NET.VB دوت نت فیجوال بیزیك

شـاكــر: تألیف C4arab بمجلس تطوير عضو

ريق بیوكوم للتكنولوجیاف : إعداد وتجمیعTechnology 4 BioCom

لكن ال یسمح بطبع الكتاب أو تغییر هیئته اإللكترونیةیسمح بتوزیع الكتاب على صورته من الكاتبذنإلا بعد أخذإال

الموسوعة العربیة للكمبیوتر واالنترنت - 2000-2003 ©جمیع الحقوق محفوظة

Page 2: Vbمدخل الى لغة البرمجة فيجوال بازيك

التواصل مع القراء

العزیز ،،،لقارئا إلى

ومن منطلق اهتمامها العام بعلوم الحاسب _ واإلنترنتحرصت الموسوعة العربیة للكمبیوتر

على تقدیم هذه هذه السلسة من _ والتقنیة واهتمامها الخاص بتقدیم هذه العلوم باللغة العربیة أجود على قراءة العربى الذى اعتادالقارئ تحقق طموحات أن التى نتمنى اإللكترونیةالكتب

.المطبوعات بكافة اللغات العالمیة تطمح لتقدیم سلسلة من الكتب بمستوى عال من _ من خالل هذه السلسلة _ الموسوعة العربیة إن

طریقة الكتابة ،_ الذى لن یتحقق بدون مالحظاتكم واقتراحاتكم حول السلسلة الشيءالجودة ، الفنى اإلخراجیم والترتیب ، طریقة نشر الكتاب وتوزیعه ، والنحویة ، التنظاإلمالئیة األخطاء

الخ...

المخصص لذلكاإللكتروني على البرید أراءكمننتظر سماع [email protected]

نرجو ذكر اسم الكتاب والكاتب والطبعة مع ذكر مالحظاتكم لنا

بیتـــــــــــــــــهانى الســـــــــــت الموسوعة العربیة للكمبیوتر واالنترنتمشرفة

Page 3: Vbمدخل الى لغة البرمجة فيجوال بازيك

.. بســــم اهللا الرحمــــن الرحیـــــم ..

مجموعة من الدورات ھي .. التعلیمیة الدوراتعة العربیة؛ بدأنا التي تقدمھا لكم الموسو

ت الدورا" مسمى تحت 2002 صیفبتقديمھا في حرصنا على . وھا ھي تعود من جديد"الصیفیة

مختلفة لنراعي أغلب مجاالت تقديم دورات فياالھتمامات كما حرصنا على انتقاء الدورات

بطريقة جادة تنقلك إلى المتكررة، المفیدة، غیرالجو الدراسي في قاعات الجامعة و صفوف

كل ھـذا !في بیئة إلكترونیة لكن المعاھد و ! ...مجــانـــا

مجموعة كذلك ساحة متخصصة لھا ضمن ديوجساحات الموسوعة العربیة للنقاش واألسئلة،

... !ھنـــا تجدھا

كنت ترغب إذا !واستثمر وقتك معنا استفدي ف ثقافتك في تطوير ذاتك و توسیع نطاق

و ال ! الحاسوب فاستغل كل دقیقة واستفد معنا .والسرعة تنسى أننا في عصر المعلومات

على لالطالع األساتذة تناسبك، انتقل لصفحة التي اختر الدورة و الدورات لصفحة انتقل !اآلن ابدأتسجل نفسك في إحدى كي التسجیل لصفحة انتقل ،قائمة األساتذة الذين سیلقون المحاضرات

تطلع على كي المراجع لصفحة انتقل. الدورات، لن تستطیع المشاركة في أي دورة قبل أن تسجلعلى بعض لتطلع الملتحقین انتقل لصفحة .الحالیة المراجع المقدمة من األساتذة بخصوص الدورات

نحن . ترسل لنا اقتراحا أو طلبا كي بنا اتصل انتقل لصفحة. المعلومات عن الملتحقین في الدوراتدورة محدود لذا ال تتأخر في التسجیل من كل لكن الوقت محدود و عدد الملتحقین في! بانتظارك

.فضلك

Page 4: Vbمدخل الى لغة البرمجة فيجوال بازيك

شكر وتقدیر

الغانم صاحب كتاب حمديدشكر خاص الى االستاذ محم Visual Basic.Netاحتراف

Page 5: Vbمدخل الى لغة البرمجة فيجوال بازيك

....هذا الكتاب

ةال دورة تم تدریسها فى ساحة الدورات التعلیمیإصل لیس فى اإل

واإلنترنت ، وتم جمع تلك الدورس وسلسلة لعربیة للكمبیوتر الموسوعة باقاشات على ، وتم وضع النتى دارت حولها هنا فى هذا الكتابالنقاش ال

،،،،،،،،،جوبة لكى یستفید الجمیع منها أهیئة اسئلة و

: التعلیمیةالدوراتسلسلة كتب لذلك تعتبر

. عربیة خاصة بالمبتدأینإلكترونیةول سلسلة كتاب أ •

شخاص من الناتجة فعال من مشاكل حقیقة ألجوبة واألاألسئلةالسلسلة الوحیدة التى تتبع نظام • .ى مشكلة وكیفیة التعامل معهاألستعداد االمما یهیىء عندك نوع من ، مختلف الدول

ى أفیمكنك االستسفار عن طوال العام، ساعةتعتبر سلسلة الكتاب الوحیدة المدعومة اربع وعشرین •

.الموسوعةبسئلة ن طریق وضعها فى ساحة النقاش واأل عمشكلة وحلها

Page 6: Vbمدخل الى لغة البرمجة فيجوال بازيك

الـدرس األول

Visual Studio.Net تنصیب

Set Upتنصيب البرنامج على جهازك الشخصي

Windows Componentتـأتي ھـذه اللغـة علـى خمـس أسـطوانات، األولـى لتحـديث مكونـات النظـام Updater وھــي المســـؤولة عـــن إعـــداد إطـــار العمـــل ،.Net Frame Work الـــذي يعتبـــر قلـــب الــــ

VisualStudio.Net .. البرمجة، واألسطوانات الثالثة المتبقیة تحتوي على والثانیة مسؤولة عن إعداد لغات .Helpملفات إرشادات اللغة

الذي يستخدم في تحلیـل البـرامج بطريقـة Visioوھناك أسطوانات إضافیة أخرى، منھا أسطوانة تطبیق ــاك ثــالث أســطوانات تحتــوي علــى وھــي زاخــرة MSDNمرئیــة لیســھل عملیــة تصــمیمھا، كمــا أن ھن

.ات البرمجیة القیمةبالمعلوم

:واآلن دعنا نرى كیفیة إعداد ھذه اللغة

)Firewallقب ل الب دء ف ي إع دادها یفض ل إغ الق ب رامج الحمای ة والج دران الناری ة *(

حت ى ت تمكن م ن Windows XP أو Windows NT أو 200Windows یجب أن یعمل جهازك على -1 .إعداد هذه اللغة

..على نظام تشغیلك) IIS(Internet Information Systemام معلومات اإلنترنت تعد نظأن یجب -2

:ولفعل ذلك اتبع ھذه الخطوات

Control Panel" لوحة التحكم"، ثم اضغط Settings" إعدادات" اضغط Start Menu من قائمة البداية -

.Add Or Remove Programs" إضافة البرامج أو إزالتھا" في نافذة لوحة التحكم اضغط -

Add/Remove Windows" إضافة أو إزالة مكونات الويندوز"اضغط " إضافة البرامج وإزالتھا" في نافذة -Components.

Page 7: Vbمدخل الى لغة البرمجة فيجوال بازيك

Internet Information في النافذة التي ستظھر لك، ابحث في قائمة مكونات الويندوز عن العنصر -System (IIS) التـالي "مربع االختیار المجـاور لھـا، ثـم اضـغط زر في صح، وتأكد من وجود عالمة "

Next.

فذلك يعني أنـه غیـر IIS أمام خیار )ü(في حالة عدم وجود عالمة : مالحظة ھامة * وعلیك تثبیته من خالل، مثبت على جھازك

CD-ROMالخاص بنظام الويندوز لديك .

فـي محـرك األسـطوانات، Windows Component Updater أسـطوانة تحـديث مكونـات النظـام أدخل-3 وتجاھل ھذه OKاضغط .. قد تظھر لك رسالة تطلب منك إدخال األسطوانة األولى.. وتصفح محتوياتھا

.الرسالة

.بھذا سیبدأ برنامج اإلعداد.. مرتین بالفأرةSETUP.EXE األسطوانة انقر الملف ملفات من -4

.. فضل أن تستخدم األسطوانة األولـى إلعـداد ھـذه األسـطوانة لك رسالة تخبرك بأنه من األ ستظھر -5 .Noاضغط زر

: لك النافذة الموضحة في الصورة التالیةستظھر -6

Page 8: Vbمدخل الى لغة البرمجة فيجوال بازيك

ساعتھا ستختفي .. وبھذا سیستمر إلى اإلعداد إلى أن تیم.. Update Now" تحديث اآلن"اضغط زر .ق برنامج اإلعداداضغطھا إلغال.. Done وستظھر مكانھا كلمة Cancelكلمة

مـرتین SETUP.EXEمـن ملفـات األسـطوانة انقـر الملـف .. ضع األسطوانة األولى، وتصـفح محتوياتھـا -7 .بھذا سیبدأ برنامج اإلعداد.. بالفأرة

: لك النافذة التالیة ستظھر-8

Page 9: Vbمدخل الى لغة البرمجة فيجوال بازيك

. Net.Visual Studioاضغط بالفأرة االختیار الثاني

اضـغط .. عداد بعض الوقت، ثم ستظھر لك نافذة تقرئك حقوق الملكیـة الفكريـة برنامج اإل سیستغرق -9، وأدخــل األرقــام المكتوبــة علــى األســطوانة فــي الخانــات "أوافــق علــى بنــود االتفاقیــة"اختیــار

.Nextالمخصصة لھا، ثم اضغط زر

: اآلن ستظھر لك نافذة تمكنك من اختیار إعدادات اللغة-10

عندئذ سینسـدل ھـذا العنصـر .. Language Tools" أدوات اللغة"المجاورة للعنصر "+" غط عالمة اض-11 Visual Basic .Netاترك عالمة االختیار بجـوار .. عن ثالثة عناصر فرعیة، ھي أسماء لغات البرمجة

ن علـى يعتمـدا VB میجـا بايـت، فھـي و 20 لن يوفر لك أكثر مـن #C، فإن إزالة Visual C# .Netو وذلك بضـغط مربـع ++Visual Cولكن أزل عالمة االختیار من أمام .. نفس الملفات والمصادر تقريبا

. میجا بايت500االختیار بالفأرة، وذلك حتى توفر حوالي

.Net Frame Work SDK. عالمة االختیار من أمام العنصر كذلك أزل -12

المجـاورة لعنصـر الوثـائق "+" عالمـة ، فاضـغط ة اإلعـداد میجا من مسـاح 600 لو أردت توفیر حوالي -13Documentation وأزل عالمة االختیار من العنصر ،Additional MSDN Documentation.

Page 10: Vbمدخل الى لغة البرمجة فيجوال بازيك

سیستھلك ذلك بعض الوقـت، وفـي خـالل ذلـك .. لیبدأ اإلعدادUpdate Now" زر تحديث اآلن اضغط-14 .Doneبعد أن ينتھي اإلعداد اضغط زر .. المطلوبةسیطلب منك برنامج اإلعداد إدخال األسطوانات

حیـث سـتجدھا ضـمن قائمـة البـرامج Start فتحھا مـن قائمـة يمكنكاآلن .. لقد أعددت اللغة -15 Programsتحت عنوان :Microsoft Visual Studio .Net .

.لة لھذه اللغةفي الدروس القادمة بمشیئة اهللا سنرى كیف نتعامل مع اإلمكانات الھائ

* انتھى الدرس األول*

________________________________________________________________ ________________________________________________________________

النقاش واالسئلة

:مالحظة

.الدورةأجاب على جزء منھا بعض األعضاء المشاركین في التالیة األسئلة

؟؟NET. ماذا نعني بولكن ..بصراحه كان في البداية اسما آخر الأتذكره..ھذا ھو مسمى البرنامج الذي اختارته الشركة

Net. مايكروسوفت رأت أن تغیره إلى دوت نت

يمكننا من خاللھا برمجة برامج تصلح لكافة أنظمة NET. عندي سؤال بسیط ، ھل بیئة التشغیل مثل الجافا ؟

الینكس عن و على Visual Studio .NET نت تعمل فقط على وندوز عن طريق.لیا الفجوال بیسك حا Mono......... طريق برنامج

......!!و المسألة وقت ال أكثر و ال أقل

برنامج أقصد أن ھناك Visual Basic .NET مع أننا نتعلم Visual Studio .NET لماذا نثبتVisual Basic .NET؟؟

ھذه ھي سیاسة شركة..لفیجوال بیزك دوت نت تأتي ضمن حزمة الفیجوال ستوديو دوت نتا

اختیار علیك..وكما ھو موضح في الدرس لست مضطرا لتثبیت كامل الحزمة على جھازك..مايكروسوفتVisual Basic.Net فقط من ضمن برامج الحزمه..

Page 11: Vbمدخل الى لغة البرمجة فيجوال بازيك

يجب تثبیته ؟؟؟ IISلماذا ال: استفسار بسیط فیما بعد تصمیم أنك في حالة احترافك الفیجوال بیزك دوت نت سوف تستطیع IIS فوائد تثبیتمن أھم

إال بتثبیت نظام معلومات وھذا لن يتأتى..تعمل على سیرفرات ASP صفحات إنترنت إلنشاء تطبیقات ..اإلنترنت

جھازي في على IIS وفي الحقیقة لم أواجه أية مشاكل عند تنصیبي للبرنامج بالرغم من عدم تثبیت ..ذلك الوقت

7فیجوال ستوديو دوت نت وأعطاني البائع طلبت السیديات للمايركوسوفت.. عندي مشكلهلم اجد اللي قلت علیه في الدرس وطلعت المھم بدأت بالسیدي األول ولكني.......سیديات

..لي النافذه حقت الخطوه الثانیه ......... يطلب منك تنصیبھاأعتقد أن المكونات موجودة لديك ولھذا لم

.............. كالكمبوننتس لیس لدي الخاص بيبدو ان سي دي التحديث او

فاذھب الى الملحق .... تنجح معك عملیة تنصیب البرنامج لمإذا خر الكتاب بآمشاكل التنصیبالخاص ب

Page 12: Vbمدخل الى لغة البرمجة فيجوال بازيك

الـدرس الثـانـي

+ Tools األدوات + Forms النماذج + IDE بیئة التطوير المتكاملة Properties الخصائص

:سیتم التعامل مع االختصارات بشكل متكرر ومن أھم ھذه االختصارات مايلي :مالحظة *

VS.Net = Visual Studio.Net

VB.Net = Visual Basic.Net

IDE = Integrated Development Environment

====================================

Integrated سندخل إلى بیئة التطوير المتكاملة أو ماتسمى بـ في درس الیوم عزيزي الدارسDevelopment Environment واختصارھا ھو IDE.

؟ IDE مـاهي الـ: أوال حیث يمكنك كتابة برامجك وعمل تطبیقاتك بلغة VS.Net للـ Interface ھي الواجھة المرئیة، باختصار

VB.Net. ح لك الـوتتی IDE العديد من األدوات المرئیة، كمصمم القوائم الرئیسیة Menu Designer، الذي وتحديد أسمائھا وخواصھا، وما يندرج تحتھا من أوامر ،Menus يساعدك على إنشاء القوائم الرئیسیة

Commands و قوائم فرعیة Submenus، أرة أي باستخدام الف (كل ذلك بطريقة مرئیةMouse ولوحة )بدال من كتابة كود لذلك وسنرى ذلك الحقا Properties Window، ونافذة الخصائص Keyboard المفاتیح

وتصـحیح Execute وتنفیـذ Design تحتوي بیئة التطوير كذلك على األدوات التي تمكنك مـن تصـمیم كما . برامجكDebugأخطاء

. في مقرر الدورة سیتم توضیحھا بالصور في ھذا الدرسجمیع األدوات التي سنحتاج إلیھا

Page 13: Vbمدخل الى لغة البرمجة فيجوال بازيك

Start Pageصفحة البداية

. ألول مرة، ستطالعك صفحة البدايةVS.NET تفتح عندما

يمكنك أن تحدد خیاراتك األولیـة باختیـار لغـة البرمجـة التـي سـتعمل حتى، "My Profile"اضغط االختیار ، وسـتجد أن Profile" الملمـح " فـي مربـع Visual Basic Developer" ال بیزيـك مبـرمج فیجیـو "اختر .. بھا

. باقي الخاناتفييمكنك أن تترك القیم االفتراضیة .. المربعین اآلخرين قد تم ملؤھما آلیا

At" لفي بدء التشـغی "، عن طريق القائمة المنسدلة VS.NET يمكنك أن تحدد ما سیحدث عن فتح كماStartupلديك الخیارات التالیة.. أسفل الصفحة :

) لظروف المـقرر--يجب اختـیـاره(: Show Start Page اعرض صفحة البداية -

.VS.NET ستظھر صفحة البداية في كل مرة تفتح فیھا حیث

:Load Last Loaded Solution مشروع افتح آخر -

وأسابیع في تطوير برنامج ضخم، اختر ھذا االختیار لفـتح مشـروعك تجد نفسك غارقا لشھور حینما .VS.NETتلقائیا كلما فتحت

:Show Open Project Dialog Box" فتح مشروع" حوار مربع اعرض -

، حیـث يمكنـك أن تختـار "فـتح مشـروع "، سـیظھر لـك مربـع حـوار VS.NETفي كل مرة تفـتح فیھـا .ذي تريد فتحهالمشروع ال

:Show New Project Dialog Box" جديدمشروع " اعرض مربع حوار -

، حیث يمكنك أن تختـار نـوع "مشروع جديد"، سیظھر لك مربع حوار VS.NETفي كل مرة تفتح فیھا . ننصحك بتجنب ھذا االختیار..المشروع وتحدد اسمه

Page 14: Vbمدخل الى لغة البرمجة فيجوال بازيك

: Empty EnvironmentShow اعرض بیئة التطوير فارغة -

. ببیئة فارغة، وعلیك أن تفتح أو تنشئ المشاريع التي تريد التعامل معھاVS.NETستبدأ

الخیار األكثر شیوعا ھو الخیار األول، حیث إن صفحة البدايـة تعـرض آخـر أربعـة مشـاريع تـم فتحھـا، إن* ".وعفتح مشر"و" مشروع جديد"باإلضافة لزري

Get Started علیك أن تحدد خیار فإنولكي ترى صفحة البداية،

علـى اإلنترنــت، حیــث توجـد أحــدث المعلومــات عــن VS.NET الخیــارات، فھـي تشــیر لمواقــع بــاقيأمـا .المنتجات، وكذلك أحدث المقاالت والوثائق، وحزم الخدمات

.VS.NETحديث نسختك من ما بین الحین واآلخر، أن تحاول توعلیك

، فإنـه يقـود لصـفحة تحتـوي علـى معلومـات عـن مواقـع الخـدمات التـي تـدعم Web Hosting خیـار أمـا ASP.NET..

لىسوف تظھر لك الصفحة التا، كما ھو موضح أعالهGet Startedعند اختیارك

إنشاء مشروع جديد

يعرض لك آخر أربعة مشاريع تم فتحھا ويقابلھا تواريخ التعديل الخاصة ) 1(الخیار رقم ، في الشكل أعاله لفتح مشروع جديد في الصورة أعاله2المعلم بالرقم New Project اضغط اآلن على زر. بكل مشروع

.IDEدخول إلى بیئة التطوير وبالتالي ال

Page 15: Vbمدخل الى لغة البرمجة فيجوال بازيك

:الصورة أدناه توضح لك الخطوة الثانیة

مظلل كما في المربع العلوي األيسر Visual Basic Projectsتأكد من أن الخیار ، كما في الصورة أعاله .1كما في الدائرة رقم Windows Application وبعد ذلك قم باختیار Project Types والمسمى

يمكنك وضع االسم الذي تريد لمشروعك وبإمكانك حفظه في المكان الذي تريد عبر Name ومن خانة .Location خانة

:انظر الصورة أدناه ?Windows Application لكي تشاھد ماھو الـ OK زر اآلن اضغط على

Page 16: Vbمدخل الى لغة البرمجة فيجوال بازيك

ھذه الصفحة ھو ماتم ترقیمه باألرقام مايھمنا في . Windows Application ھذا ھو الـ، في الصورة أعالهالذي بإمكانك أن تضیف إلیه ماتريد من أدوات Form يشیر إلى الـفورم1 حیث أن الرقم 1-2-3

Tools( خصائصوله العديد من ال) 3ستتعرف علیھا في الرقم properties ( 2ستتعرف علیھا في الرقم (ألیس كذلك؟ ! قد تبدوا األمور معقدة بعض الشيء .وھذا الفورم ھو ماستشاھده عند تنفیذك للبرنامج

وإن . لكن ثق تماما أنھا أسھل وأيسر مما تتصور وسوف تتأكد من ذلك بمجرد تنفیذك لمشروعك األول بأن ماسنشرحه في ھذا الدرس لیس بجديد علیك لكن ھذا كنت من مبرمجي الفیجوال بیزك فأعتقد

.اليعفیك من قراءة الدرس وفھمه بشكل جید

: وستظھر لك األشكال التالیة في الصورة أعاله3 و 2اآلن اضغط على األزرار المشار إلیھا باألرقام

Page 17: Vbمدخل الى لغة البرمجة فيجوال بازيك

حیث ستظھر لك قائمة بعشرات األدوات المختلفة أو ToolBox يشیر إلى صندوق األدوات1الرقم ولن نتطرق إال إلى مانحتاجه منھا في منھج الدورة وھي ثالث أو أربع أدوات ، )عناصر التحكم(ماتسمى بـ

ات لمن أراد معرفة وظائفھا فبكل بساطة علیه بوضع أما بقیة األدو. في ھذا الدرس ومثلھا في درس آخرھل تعلم عزيزي الدارس أن العديد من المشاريع الكبیرة والضخمة قد .F1الفأرة علیھا والضغط على زر

.فالعبرة لیست بالعدد)! عناصر تحكم(التستخدم أكثر من عشر أدوات

وإلعادتھا بإمكانك الضغط على الزر ، علیھابالنسبة لقائمة األدوات فھي تختفي بمجرد إزالة الفأرة من . الموضح في الرسم أعاله فكالھما سواسیة3 مرة أخرى أو الضغط على الزر رقم 1رقم

. والذي يحتوي على عشرات الخصائص المتعلقة بكل أداة Properties يشیر إلى مربع الخصائص2الرقم وأكثر مايھمنا من الخصائص ھما

(Name) و Text نحیث أ Name سیتضح الحقا (ھو اسم األداة الذي يتم التعامل معه داخل البرنامج .فھو النص المكتوب على األداة والذي سیتم عرضه في التنفیذ Text أما) بشكل أكبر

لن نتطرق إلى جمیع األدوات المتاحة لكثرة عددھا وألنھا تحتاج إلى وقت طويل للغاية ، عزيزي الدارس .ا سنشرح أھم ثالث أدوات و أكثرھا شیوعا واستخدامالكنن، لشرحھا أجمع

:التي سنتعامل معھا ھي (عناصر التحكم(أما أھم األدوات

Label و Button و Text Box

في Drag & Drop ومن ثم سحبھا وإفالتھا، قم بالضغط على كل واحدة من األدوات الثالث على حدهعلى األداة التي Double click وبإمكانك أيضا النقر مرتینوضعھا في المكان الذي تريد Form الفورم

.تريد

Page 18: Vbمدخل الى لغة البرمجة فيجوال بازيك

:والصورة التالیة ستوضح لك بشكل أكبر

عبارة عن عنوان يكتب في أي مكان من Label فالـ. أعتقد بأن الشكل أعاله أصبح مألوفا ومفھوما لديك الفورم بحسب الحاجة أما

فأوضح من أن Button أما الـزر، تابة ماتريد من نصوصفھي مساحة تسمح لك بإدخال وك TextBoxالـ .يشرح

إلى اسم أسھل ويمكنك تذكره فیما (Name) من مربع الخصائص أنصحك بتغییر االسم الموجود في خانةفبالضغط مرة واحدة بزر الفأرة األيسر على أية أداة يمكنك مشاھدة مربع . بعد بكل يسر وسھولة

يمكنك أيضا التحكم بألوان النصوص والخلفیات ونوعیة الخط . كم بھا كما تريدالخصائص الخاص بھا والتح .الخ وكل ذلك من خالل مربع الخصائص..وحجمه

شاھد الصورة ، بإمكانك القیام بھا بكل يسر وسھولة، لقد قمت بإجراء بعض التعديالت على الشكل أعاله .أدناه وحاول التطبیق

:الفورم بعد التنفیذ

Page 19: Vbمدخل الى لغة البرمجة فيجوال بازيك

:نك تنفیذ الفورم أعاله عبر خطوتین ھمابإمكا

لبناء برنامجك وتفحص األخطاء وتأكد بأن برنامجك خال من Build Solution اختر Build من قائمة: أوال :األخطاء كما في الشكل أدناه والذي سیظھر لك في أسفل الصفحة

.F5 أو بالضغط مباشرة على زر Start واختیار األمر Debug الخطوة الثانیة تتم بالذھاب إلى قائمة

.تلقائیا وإظھار النتیجة debug وسیتم عمل F5 بإمكانك اختصارا الضغط مباشرة على زر-

الموجود في شاشة Button1 أي عند الضغط على زر، بالطبع ھذه األدوات غیر مرتبطة بأية أحداثفي . بط األداة بحدث معینبساطة ألنك لم تقم بر السبب بكل! التنفیذ فلن تحصل على أية نتیجة

وستعرف كیف تتعامل مع األكواد Class Library الدروس القادمة بمشیئة اهللا سندخل إلى مايسمى بالـ . وربط األدوات بماتريد من أحداث وعملیات بحسب حاجتك إلیھا ،البرمجیة

* انتھى الدرس الثاني* .....وال توجد اى تعلیقات او أسئلة علیه

Page 20: Vbمدخل الى لغة البرمجة فيجوال بازيك

الدرس الثالث

NET . VBبعض مزايا

:معلومات عامة

- VB.Net مبنیة بالكامل على مفھوم البرمجة بالكائنات Object Oriented Programming لدرجة أن ،ــا Arrays والمصــفوفات Strings والنصــوص Integersاألعــداد الصــحیحة ، Classes قــد صــارت خالي

فمثال، أصبحت لديك وسائل جاھزة تنتمي للمتغیر .. ووسائل جاھزةوصارت لھذه العناصر خصائصكما صارت لـديك وسـائل ... إلخ... النصي، تسمح لك بالبحث فیه أو تقطیعه أو استبدال أجزاء منه

!جاھزة لعكس المصفوفة وترتیبھا والبحث فیھا

تعمـل علـى VisualStudio.Netت ، فكـل لغـا Compiler لم يعد ھناك أي قصـور فـي متـرجم الكـود -وكمثـال، صـار بإمكانـك .. ++VC قـد صـار بقـوة وسـرعة وكفـاءة VBمترجم واحـد، ممـا يعنـي أن دون أن تخشى من بطئھـا أو اسـتھالكھا Recursive Programmingاستخدام البرمجة االرتدادية

.لحجم الذاكرة، فقد صارت في منتھى السرعة والكفاءة

، مـع قـدرتك علـى ربطھـا بـأي Run Timeافة األزرار واألدوات للنماذج في وقت التنفیـذ بإمكانك إض- .إجراء، لیتم استدعاؤه عند ضغطھا

Exception Handlers أصبح بإمكانك معالجة األخطاء، عن طريـق اسـتخدام معالجـات االسـتثناءات - :في جملة

Try.. Catch.. End Try.

بـال أي Polymorphism وتعـدد األشـكال Inheritanceمفـاھیم الوراثـة صار بإمكانك اسـتخدام كـل - . للتسھیلSingle Inheritanceوإن كان مسموحا لك بوراثة خلیة واحدة فقط .. مشاكل

خلیة، تفعل كل 3500، تقدر بـ Classes ثروة ھائلة من الخاليا Net Framework. يمنحك إطار العمل - الخاصـة بالوينـدوز، APIث تريحك بدرجة كبیرة من االحتیاج الستخدام دوال ما تحلم به وأكثر، بحی

، ھـو إصـدار نسـخة جديـدة مـن )میكروسـوفت (وأحـدث مـا فعلتـه .. بما فیھا من تعقید ومشاكل DirectXمبنیة بالكامل بالخاليا .

جمـل التكراريـة والIf Statements أصبح بإمكانك تعريف المتغیرات داخل مقـاطع الجمـل الشـرطیة -Loopsبحیث تكون معزولة عن المتغیرات الموجودة خارج ھذه المقاطع ،.

. داخل أي نوع آخرType، وأي نوع Nested Classes بل أصبح بإمكانك تعريف الخاليا داخل الخاليا -

. وكتابة الخاليا التي تطبقھا وتنفذھاInterfaces أصبح بإمكانك تعريف الواجھات -

فـي تعريـف الخاليـا والوسـائل والخصـائص واألنـواع Attributesصبح بإمكانـك اسـتخدام السـمات أ - .المختلفة، مما يختصر لك الكثیر من العمل، ويمنحك العديد من القدرات

وعلـى .. لديك إمكانیات جديدة وعديدة تمنحھا لك خاليا جاھزة، للتعامـل مـع الملفـات والمجلـدات -نك أن تراقب أي تغییر يطرأ على ملفـات المجلـد الـذي تريـد، باسـتخدام األداة سبیل المثال، يمك

FileSystemWatcher كما يمكنك أن تخزن كائنا أو مصـفوفة أو مجموعـة ،Collection مـن أي نـوع .Serializationإلى ملف مرة واحدة، وإعادة قراءتھا حینما تريد، باستخدام خاليا السلسلة

Page 21: Vbمدخل الى لغة البرمجة فيجوال بازيك

يكفـي أن تعـرف أن +.. GDIانیات ھائلة في مجـال الرسـم والتلـوين تمنحھـا لـك مكتبـة ھناك إمك -بإمكانــك اآلن رســم منحنیــات معقــدة، وتكــوين أشــكال مركبــة مــن مجموعــة خطــوط ومضــلعات ــألوان متدرجــة، وتحديــد شــكل مســاحة الرســم، وتحديــد درجــة ومنحنیــات، وتلــوين الســطوح ب

.إلخ.... ییر مقايیسھا تكبیرا أو تصغیراالشفافیة، وتدوير الرسوم وتغ

في بعض األحیان، للقراءة والكتابة في الذاكرة، كمـا يمكنـك Pointers يمكنك استخدام المؤشرات - ! لم تكن لتحلم بھاSystemأداء عملیات معقدة على النظام

ا يعني أن برنامجك ، ممThreads أصبح بإمكانك تقسیم برنامجك لمجموعة من العملیات المستقلة - .Multithreadingيستطیع القیام بأكثر من عملیة في نفس اللحظة

، باإلضـافة ADO.Net ھناك إمكانیات جديدة رائعـة للتعامـل مـع قواعـد البیانـات، تمنحھـا لـك تقنیـة - .كودللعديد من األدوات المرئیة التي تساعدك في إنشاء تطبیقات قواعد البیانات بأقل قدر من ال

أما الجديد تماما، فھو قدرتك على تصمیم صفحات اإلنترنت بنفس الطريقة التي تصمم بھا النماذج - Servers تعمـل علـى الخـوادم ASP بمعظم إمكانیاته، إلنشاء تطبیقـات VBالعادية، مع كتابة كود

!!ASPبدون كتابة حرف واحد من لغة

وإن كنـا فـي الواقـع لـن VB.Net أساسیات البرمجـة بــ واآلن عزيزي الدارس سنتطرق إلى معظم -نشرحھا جمیعا بالتفصیل لضیق وقت الدورة ولكننا سنلقي الضوء على أھمھـا لكـي تكـون لـديك

ھذه الدورة كما تعلم تقدم لك األساسیات والمبادئ البرمجیة . رؤية عامة وإلمام بأساسیات اللغة وقتـا ملیئـا . در اطالعك وممارستك لھا إن كنت مھتمـا وأنت بدورك يجب علیك أن تنوع وتكثف مصا

.بالفائدة والمتعة

Page 22: Vbمدخل الى لغة البرمجة فيجوال بازيك

Variables أنواع المتغيرات

مع شرح مبسط لكل نوع من VB.NETسنلقي ھنا بعض الضوء على جمیع المتغیرات التي توفرھا لنا ال - .األخرىھذه المتغیرات وھي في الواقع التختلف عن معظم لغات البرمجة

• Boolean - صحیحة: يستخدم لتمثیل القیمتین (True) , خاطئة (False) • Date - يمثل التاريخ من( يمثل التاريخ والوقت January 1, 0001 الى December 31, 9999( • Byte - قیم موجبة فقط ( 255 و 0يمثل عدد بین ( • Decimal - 16( يمثل األرقام العشرية-byte ( • Integer - 4(يمثل عدد صحیح-byte( • Long - 8(يمثل عدد صحیح-byte ( • Short - 2(يمثل عدد صحیح-byte ( • Single - يمثل عدد غیر صحیح بخانة واحدة بعد الفاصلة. • Double - يمثل عدد غیر صحیح . • Char - يمثل حرف واحد فقط . • String - بلیون حرف2ثل قیمة حرفیة تتسع الى يم .

بل ھي عبارة عن كائنات ، إن المتغیرات في بیئة الدوت نت لیست مجرد أسماء لتخزين القیم فحسب -objects- للتخزين وإجراء العملیات على المتغیرات -علیھا بشكل أشمل في الدرس الرابعسنتعرف .

دا حیث أنھا تعتمد على البرمجة الشیئیة أو مايسمى بـ وھذا ھو مايمیز بیئة الدوت نت ولغتنا تحديObject Oriented Programming وھي لیست موضوع حديثناھنا فالحديث عن البرمجة الشیئیة يطول

.ويحتاج إلى دورات مستقلة ألنھا لیست حكرا على لغة بعینھا

مالحظة *

. الكتابة باألحرف الكبیرة أو الصغیرةمن ناحیة insensitive-Case غیر حساسة NET. VB إن لغة الحیث أن المحرر سیقوم بتحويلھا إلى الشكل ، فكالھما سواسیة integer أم INTEGER كتبت فمثال

.القیاسي وھو أن تبدأ الكلمة بحرف كبیر وبقیة الحروف تكتب صغیرة

Page 23: Vbمدخل الى لغة البرمجة فيجوال بازيك

طريقة تعريف المتغیرات

:ھوNet . VBالشكل العام لتعريف المتغیرات في

Dim MyVar As Type

فعلیك اختیار أحد أنواع المتغیرات Type أما. ويتم اختیاره من قبل المبرمج ,ھو اسم المتغیر MyVar حیث .المذكورة أعاله بحسب حاجتك إلیه

:لزيادة التوضیح دعنا نأخذ األمثلة التالیة

Dim name As String

.String تم تعريفه كنوعھو عبارة عن سلسلة حرفیة ولذلك name االسم -

Dim Age As Integer

ولذلك تم اختیار النوع، ھو عبارة عن عدد التتجاوز عدد خاناته ثالث خانات على أقصى تقدير Age العمر -Integer.

Dim phone As Long

با من عدد وكما تعلمون فإن أرقام الھاتف تتكون غال، قمت باختیاره لتمثیل رقم الھاتف phone المتغیر - .Long كبیر من الخانات اليقل في أضیق األحوال عن ست خانات ولذلك تم اختیار النوع

شروط كتابة المتغیرات

.)التي تظھر باللون األزرق في المحرر(أال يكون المتغیر من الكلمات المحجوزة -

. حرفا255أال يزيد عن -

.عوضا عن المسافات) _ ( السفلیة ويمكن استخدام رمز الشرطة، أال يتخلله مسافات -

. ينتھي بأرقام ولكن يمكن أن تتخلله أو أن،أال يبدأ بأرقام -

.أال يتم تعريف متغیرين بنفس االسم في نفس التطبیق -

:__مالحظة* .وسیتم التعرف علیھا والتعامل معھا! إمكانك كتابة أسماء المتغیرات باللغة العربیةب

.التي قد تحدث مع بعض أنظمة التشغیل نبا للمشاكللكن الأنصحك بذلك تج

Page 24: Vbمدخل الى لغة البرمجة فيجوال بازيك

Constants الثوابت :الشكل العام لكتابة الثابت ھو

Const name As datatype = value

ھو نوع datatype و-اختیاري-ھو اسم الثابت name و VB.Net ھي كلمة محجوزة للغة Const حیثفھي قیمة الثابت وعلیك value أما. المذكورة أعاله" أنواع المتغیرات" الثابت وبإمكانك تحديده من

.تحديدھا

:لنأخذ المثال المبسط اآلتي

Const pi As Single = 3.14159265358979

.وقیمتھا مكتوبة أعاله Single وھي قیمة معروفة وثابتة عالمیا أما نوعھا فھو pi اسم الثابت ھو

أن : وإن كنت التعرف فائدتھا فأيھما أسھل برأيك، زي المبرمجأعتقد بأنك فائدة الثوابت التخفى علیك عزي في ومن ثم استدعاؤه piتسند الرقم الطويل المذكور أعاله على سبیل المثال إلى ثابت اسمه

.في كل مرة تحتاج إلى كتابته؟ أعتقد بأن اإلجابة باتت واضحة! برنامجك أم كتابة ھذا الرقم المخیف

فقط إال أن ھذا اليمنع من إضافة القلیل من األساسیات VB.Net صصة للغةبرغم أن ھذه الدروس مخ .العامة قدر اإلمكان وبقدر ماتستدعیه الحاجة إلى ذلك والتلمیحات البرمجیة

Arrays المصفوفات :الشكل العام لتعريف المصفوفة

Dim Array (number) As DataType

Array شاءھو اسم المصفوفة وتضعه كما ت, number ھو عدد عناصر المصفوفة وعلیك تحديده برقمفھو نوع عناصر المصفوفة وبإمكانك تحديده من قائمة أنواع المتغیرات المذكورة DataType صحیح أما

.سابقا في ھذا الدرس

:مثال

Dim StudentsNames (20) As String

من نوع سلسلة حرفیة20 عناصرھا أسماء الطالب وعدد StudentsNames أي عرف مصفوفة اسمھا String.

:المعرفة أعاله StudentsNamesلتعبئة عناصر المصفوفة دعنا نقوم بالتطبیق على المصفوفة

StudentsNames(1)=" Ahmed"

. وھكذا مع باقي عناصر المصفوفةAhmed في المصفوفة تساوي 1أي اجعل قیمة العنصر رقم

Page 25: Vbمدخل الى لغة البرمجة فيجوال بازيك

Operators امالعمليات الحسابية على األرق

وھي في . فقد تحتاج إلیھا في أي وقت. الحسابیة كإلمامك بالمتغیرات ينبغي أن تكون ملما بالعملیات .الواقع من أساسیات البرمجة والتختلف أيضا عن مثیالتھا في أية لغة برمجیة أخرى

.عالمة الجمع + .عالمة الطرح - .عالمة الضرب * :فمثال.. يكون الناتج عددا صحیحا أو به أرقام عشريةويمكن أن.. عالمة القسمة /

X = 7 / 2

3.5ستعطي الناتج . :فمثال.. عالمة القسمة أيضا، ولكن الناتج ھو العدد الصحیح فقط \

X = 7 \ 2

.3ستعطي الناتج

، لــو شــئت أال ترتبــك بــین عالمتــي القســمة Intويمكــن أداء نفــس العملیــة باســتخدام الدالــة :ابھتین، وذلك كالتاليالمتش

X = Int (7/2) Mod ،فمثال.. ولكنھا تعطي الباقي من القسمة فحسبإحدى عالمات القسمة أيضا:

X = 7 Mod 2

.، الذي ھو عبارة عن باقي القسمة1سیعطي الناتج :، وتكتب في البرمجة كالتالي3 2 تكتب رياضیا بالصیغة 2 × 2 × 2فمثال .. األس ^

2 ^ 3

يجب أن ألفت انتباھك إلى أھمیة وضع األقواس في العملیات المتداخلة، وذلك حتـى تضـمن صـحة و :حیث. إجراء العملیة بالترتیب الذي تريدھا به

. يتم تنفیذ ما بین األقواس أوال-1

. إذا لم تكن ھناك أقواس يتم تنفیذ األسس أوال-2

. ثم يتم تنفیذ الضرب والقسمة-3

.بعد ذلك يتم تنفیذ الجمع والطرح ثم -4

Page 26: Vbمدخل الى لغة البرمجة فيجوال بازيك

مثال؟1ماذا لو أردت أن نزيد قیمة متغیر بمقدار .. بقي شيء ھام

:في ھذه الحالة سنقوم بالتالي

X = 5

Y = X + 1

X = Y

6صارت قیمة المتغیر تساوي

واحد، ثم نقلنا قیمتـه حیث اعتمدنا على متغیر وسیط، جعلنا قیمته ھي ناتج جمع المتغیر األصلي مع ال .إلى المتغیر األصلي

ولكن مثل ھذه العملیة تتكرر مرارا في البرمجة، حیث تحتاج مـرارا لزيـادة قـیم المتغیـرات أو إنقاصـھا، أو .إلخ... ضربھا في رقم

!فلو كان على المبرمج أن يكتب ھذه الخطوات في كل مرة، لصارت البرمجة جحیما ال يطاق

:يمكنك أداء ھذه العملیة في سطر واحد مباشرة كالتالي. .ال تقلق

X = X + 1

الجديـدة تسـاوي قیمتـه Xقیمـة : ألول وھلة ستبدو لك الصیغة غريبة، ولكـن حـاول أن تقرأھـا كالتـالي .1+ القديمة

:وبإمكانك جمع أي رقم تريد كالتالي

X = X + 15

X = X + Y

:، بل يمتد إلى باقي العملیات الحسابیةوال يقتصر األمر على الجمع فحسب

X = X – 4 ' 4إنقاص المتغیر بمقدار

X = X * 2 ' 2ضرب المتغیر في

X = X / 9 ' 9قسمة المتغیر على

X = X ^ 3 ' 3رفع المتغیر لألس

Page 27: Vbمدخل الى لغة البرمجة فيجوال بازيك

تتوافر في الفیجوال بیزك دوت نت طرق مختصرة للعملیات اعاله ، كما یلى :

لتقلیدیةالطریقة ا الطریقة المختصرة المكافئة X = X + 1 X + = 1 X = X + Y X += Y X = X – 4 X -= 4 X = X * 2 X *= 2 X = X / 9 X /= 9 X = X ^ 3 X ^= 3

.ولك الحرية في اختیار الطريقة التي تريد

د االنضمام؟ ھل تري !! VB.Net حتى اآلن عزيزي الدارس لم تنضم بعد إلى عالم مبرمجي .نراك في درس الغد بمشیئة اهللا تعالى..إذن

* انتھى الدرس الثالث *

Page 28: Vbمدخل الى لغة البرمجة فيجوال بازيك

________________________________________________________________ ________________________________________________________________

النقاش واالسئلة

القديمة ؟ vb من جديد ؟؟ وتم االستغناء عن vb.net ھل تم بناء لغة : االول

للمصفوفات ؟ وكیف يتم ؟؟؟ redim ھل ھناك: الثاني لكن ھذا اليعني االستغناء..الدوت نت مستقلة تماما عن الفیجوال بیزك العاديه -1

لھا محبوھافالفیجوال بیزك العاديه مازالت موجودة و..عن الفیجوال بیزك العاديه الكثیر كما أن ھنالك..وھناك الكثیر من الشبه في بعض تطبیقاتھما..ومستخدموھا الكثر ..من االختالفات أيضا

محمد حمدي/ ھذا الجزء من كتاب احتراف الفیجوال بیزك دوت نت لألستاذ الفاضل -2

:تفضل ...غانم قد يجیب على سؤالك ReDim "أعد تعريف"تعبیر من الخانات، استخدم حتاجا لحجز عدد حینما تجد نفسك أثناء البرنامج م

:كالتالي

ReDim DynArray(UserCount) .20ھو متغیر رقمي، يحتوي على عدد أدخله المستخدم، ولیكن UserCount حیث

،Dim ال تستخدم فقط إال في إجراء أو دالة أو خاصیة، فھي لیست مثل ReDim "تعريف أعد" وجملة .تظھر أبدا على مستوى النموذج وال

:بجملة كما يمكن تحديد عدد أبعاد المصفوفة ReDim

Dim Matrix() As Double ReDim Matrix(9, 9, 9) ReDim Matrix(9, 9) :فیما بعد، فجملة كالتالیة لن تكون مقبولة ھذه األبعاد ولكن ال يمكنك تغییر عدد

:أي بعد من األبعادوإن كان من الممكن تغییر طول ReDim Matrix(9, 2, 3)

:مالحظات

..ReDim المصفوفة بجملة ال يمكن تغییر نوع -1 .منھا As السبب في غیاب الجزء الخاص بتعبیر ھذا ھو

:انظر المثال التالي!.. لتغییر حجم المصفوفات ثابتة الحجم كذلك ReDim استخدام جملة يمكن -2

Dim X(3) As Integer ReDim X(4)

لم تدخل اى جديد فى جزء المتغیرات و الثوابت و المصفوفات و طريقة vb.net أرى ان لغة الیس ھذا صحیحا؟؟.... تعريفھم عن لغة الفیجوال بسك العادية

. بخصوص التعريفھناك أية فروقات تذكر في ماذكرت لیست ...كالمك صحیح أخي الفاضل

*ثالث الدرس الت اسئلةانتھ*

Page 29: Vbمدخل الى لغة البرمجة فيجوال بازيك

الدرس الرابع

Events األحداث + Objects الكائنات

Objects الكائنات

مبنیة بالكامل على مفھوم البرمجة الشیئیة أو VB.Net كما أسلفنا في الدرس السابق فإن لغة الـفھي Object Oriented Programming لن نتطرق ھنا إلى شرح البرمجة الشیئیة. البرمجة بالكائنات

.ولكننا سنتطرق إلى كیف تتعامل لغتنا مع الكائنات، ضوع حديثنالیست مو

فالمتغیرات والنماذج وغیرھا ھي كائنات حیث أن لكل .Object كل ماتستخدمه في لغتنا ھذه ھو كائن ).properties خصائص(كائن سمات

:بالمثال المبسط التالي ستتضح الصورة

وله خصائص عديدة منھا على سبیل ) شيء( ھو كائن ھذا الطالب .Student لنفرض أن لدينا طالب ,Name االسم: المثال

الخ..Age العمر

:والطريقة كالتالي VB.Net سنقوم بتمثیل الكائن وسماته باستخدام كود اآلن

ObjectName . Property

تنسدل لك س(.) ثم خاصیة أو سمة من سماته حیث أنه بمجرد كتابتك للنقطة ( . ) أي اسم الكائن ثم .قائمة تحتوي على جمیع خصائص ھذا الكائن المعرفة داخل البرنامج

:Studentلنطبق ذلك على الكائن المعرف أعاله

Student . Name

Student . Age

. ھذه األسطر البرمجیة ستتیح لك القیم الموجودة في االسم والعمر الخاصة بطالب معین

:ال كونھا فارغة قم باآلتي على سبیل المثالفي ح) الخصائص(لملء ھذه القیم

Student . Name = Ahmed

Student . Age = 20

Page 30: Vbمدخل الى لغة البرمجة فيجوال بازيك

Eventsاألحداث

األحداث باختصار ھي طرق يمكن استدعاؤھا باستخدام بعض األسالیب الخاصة ومن أشھر ھذه .النموذج مثالعلى أحد أزرار click األسالیب تفاعل المستخدم مع شيء ما على النموذج كالنقر

حیث أن المستخدم بنقره . ما أحد أشھر وأكثر األحداث شیوعا واستخداماButton على زر clickيعد النقر .على الزر يكون قد استدعى حدثا ما

:الستدعاء األحداث أربع طرق ھي

. تفاعل المستخدم مع البرنامج-1

. يستطیع الكائن تشغیل الحدث الخاص به إذا لزم األمر-2

. يستطیع نظام التشغیل تشغیل األحداث-3

. تشغیل األحداث باستخدام كود برمجي-4

.وستتعلم في التطبیق التالي كیف تقوم بحدث معین. أكثر مايھمنا من ھذه األنواع ھو النوع األول

-1-مثال تـطبـیـقي

الكائن وأيضا ستتعرف على في التطبیق التالي ستتعرف عزيزي المبرمج على كیفیة التحكم بخصائص .كیفیة استدعاء وتنفیذ األحداث

حیث يقوم الزر األول بتكبیر الفورم ويقوم Buttons يحتوي على ثالثة أزرار form سنقوم بإنشاء نموذج - .الزر الثاني بتصغیره والثالث يقوم بإغالق الفورم

أو بإمكانك الذھاب إلى . درس الثاني كما تعلمت في الWindows Application قم بفتح مشروع جديد -1 >File-- weN <--tcejorPقائمة

. على سبیل المثال Project1قم بتسمیة المشروع باسم -2

الموجودة على يمین Properties ثم من نافذة الخصائص form اضغط بزر الفأرة األيسر على النموذج -3 مشاھدتھا على يمین الشاشة بعد ضغط الزر تم توضیحھا في الدرس الثاني ويمكن( صفحة التطبیق

F4 من لوحة المفاتیحkeyboard ( من ھذه الخصائص قم بتغییر اسم النموذجName إلى c4arab على .سبیل المثال

وستشاھد ھذه القائمة Ctrl+Alt+L أو اختصارا اضغط األزرار Solution Explorer اختر View من قائمة -4التي ھي اسم Project1اآلن اضغط بالزر األيمن للفأرة على كلمة . الیمینمحل شاشة الخصائص على

: وستظھر لك ھذه الشاشةpropertiesمشروعك واختر

Page 31: Vbمدخل الى لغة البرمجة فيجوال بازيك

OK ثم Apply ثم اضغط الزر c4arab الموضحة في الصورة ومنھا اختر Startup objectاضغط على القائمة

الموجودة في يسار الشاشة في صندوق Button الزر أضف ثالثة أزرار للفورم بالضغط على أداة-5 : وإذا شئت قم باآلتيtoolboxاألدوات

أي تكبیر Enlarge لألزرار الثالثة بحیث تجعل إحداھن Text خاصیة غیر properties من قائمة الخواص .Exit أي تصغیر والثالث Shrink واآلخر

وستنتقل إلى الكود البرمجي الخاص بھذا Enlarge على الزر double click اآلن انقر مرتین متتالیتین -6 أريك شیئا أو تضیف مسافة بعد كتابة النص لكي Enter قم بكتابة السطر التالي ولكن التضغط زر. الزر :ما

me .

:ستشاھد في الكود مايلي*

Private Sub Button1_Click

.Click جراؤه على الزر ھوحیث أن الحدث الذي يتم إ Button1_Click الحظ جیدا

ھذه القائمة المنسدلة تحتوي على جمیع خصائص (.) ستخرج لك قائمة منسدلة بمجرد كتابتك للنقطه . الخاص ببرنامجكform وھو يرمز إلى النموذج meالكائن ) سمات(

.IntelliSenseھذه القوائم المنسدلة تسمى قوائم ، للمعلومیة

Page 32: Vbمدخل الى لغة البرمجة فيجوال بازيك

: البرمجي كما يلياآلن أكمل كتابة الكود

me . width = me . width + 30

me. height = me . height + 30

.height أما السطر الثاني فیقوم بزيادة االرتفاع 30 الفورم بمقدار widthالسطر األول يقوم بزيادة عرض

:كما ھو موضح في الصورة ) Designشاشة التصمیم (اآلن قم بالعودة إلى الفورم

: بحیث تنتقل إلى الكود البرمجي واكتب األوامر التالیةShrink انقر اآلن نقرا مزدوجا على الزر الثاني -7

me . width = me . width - 30

me . height = me . height - 30

. كما في الخطوة أعالهDesignثم قم بالرجوع مرة أخرى إلى شاشة التصمیم

: واكتب األمر التاليExitر الثالث قم بالنقر مرتین على الز-8

me . close

.حیث يقوم ھذا األمر بإغالق التطبیق عند الضغط على ھذا الزر

Page 33: Vbمدخل الى لغة البرمجة فيجوال بازيك

.F5 ثم قم بتنفیذ برنامجك بالضغط على زر Designقم بالرجوع مرة أخیرة إلى شاشة التصمیم ..أخیرا

.Exitروج اضغط وللخShrink ثم عدة مراتEnlargeاآلن جرب أن تضغط على الزر

العرض : على سبیل المثال) السمات(شاھدنا في المثال أعاله كیف ان الفورم ھو كائن له من الخصائصwidth واالرتفاع height وقمنا بالدخول على ھذه الخصائص وتعديلھا كما رغبنا .

ل مع البرنامج كما في النقر على األزرار بالتفاعclick بتشغیل حدث - كمستخدمین للبرنامج -كما قمنا .الطريقة األولى في األحداث أعاله

*انتھى الدرس الرابع *

________________________________________________________________ ________________________________________________________________

النقاش واالسئلة

الفورم الخاص بنا؟ نقوم باستبداله باسماسم محجوز في اللغة أم me ھل ..اسم محجوز me نعم

:مشاكل محلولة

ولكني ولقد قمت ببعض األشیاء الخاطئة أثناء تطبیق المثال وبالطبع ظھر لي رسائل الخطأ name كتبتھا في خانة text عرفت الخطأ وھو أنني بدال من أن أكتب إسم الزر في خانة

.یث حدث تداخل بین اسم الزر واألمروبالتالي حدث خطأ ح .بمنتھى النجاح أحد آخر والبرنامج يعملئحیح الخطأ وأردت ذكره حتى ال يخطعلى كل حال قمت بتص

الخاصة بالمشروع ونختار األسم الذي properties سؤال وحید فقط ھو لماذا ندخل علي ال !!!مل ھذه الخطوة؟؟؟حددناه للفورم حیث أنه في الفیجوال بیسك العادية ال نع

..سأجیب من باب التجربه الشخصیهوبعد أن ..ماھي تحديدا الأذكر..فإن الكومبايلر يعطي رسالة خطأ..عند عدم تغییر الخیار إلى اسم الفورم

ولألسف لم أھتم ..بھذه الخطوه اكتشفت أنه البد من القیام..بحثت في مصادري الشخصیه والمعتمده !!..كذلمعرفة لماذا نقوم بب

*رابع الدرس الت اسئلةانتھ*

Page 34: Vbمدخل الى لغة البرمجة فيجوال بازيك

الدرس الخامس

Proceduresاالجراءات + InputBox و MsgBox دوال

التفاعل مع المستخدم باستخدام دوال

MsgBox & InputBox

ھي عبارة عن مربع حوار صغیر يعرض رسالة للمستخدم وبإمكانك تطبیقھا MsgBoxدالة مربع الرسالة :كالتالي

اآلن اكتب . إلى الفورم ثم اضغط مرتین متتالین على الزر لكي تصل إلى الكودButtonقم بإضافة زر :السطر التالي

MsgBox ( " This is Visual Basic.Net Course")

عند الضغط على الزر سوف تشاھد ھذه . ونفذ برنامجكDesignثم قم بالرجوع إلى شاشة التصمیم :الرسالة

و Yes أو Cancel و OKالرسالة عدة أشكال فبإمكانك جعل المربع يحتوي على زرين ولیكونا مثال لمربع NO.. الخ أو حتى ثالثة أزرار وذلك بتحديد نمطStyle المربع من الخصائص التي توفرھا VB.Net لھذا

شاھد . نصبعد عالمة التنصیص الخاصة بال ) ،(الكائن المسمى مربع الرسالة حیث يجب علیك وضع :المثال اآلتي

msgbox( " I am about to do something" , MsgBoxStyle.OKCancel )

msgbox( " Are You Ahmed? " , MsgBoxStyle.YesNo )

.قمنا بكتابة رسالتنا ومن ثم تحديد نوعھا من قائمة الخصائص المنسدلة التي سوف يتم عرضھا لك

Page 35: Vbمدخل الى لغة البرمجة فيجوال بازيك

كنك من الحصول على مدخالت معینة من المستخدم كأن تطلب منه فیم، مربع اإلدخال InputBoxأما .إدخال اسمه أو أية معلومات عنه

InputBox( " What is Your Name ? " , " Student Name " )

:ھو عنوان مربع اإلدخال كما في الصورة Student Name ( , ) الفاصلة النص الذي بعد عالمة

دخال لیس الطريقة الوحیدة للحصول على بیانات مدخلة من قبل المستخدم، ويجب ان تعلم ان مربع اإل .على فورم وتحصل على البیانات منه ) Textbox( بل يمكن عن طريق اخر مثل ان تنشىء مربع نص

Page 36: Vbمدخل الى لغة البرمجة فيجوال بازيك

Proceduresاالجراءات

الخاص بإجراء معین؟ علیك قبل أن نتحدث عن االجراءات البد أن تعرف أوال أين ستقوم بكتابة الكود

ھي المكان الذي يتم في تخزين الكود الذي Moduleعزيزي المبرمج إنشاء وحدة نمطیة والوحدة النمطیة :إلنشاء وحدة نمطیة جديدة اعمل اآلتي. IDEتكتبه وھي التحتوي على واجھات رسومیة كما في الـ

وسمه بأي Windows Applicationع جديد ابدأ بتشغیل برنامج الفیجوال بیزك ثم قم بإنشاء مشرو-1 .اسم تشاء

.Open من يمین الصفحة ثم اضغط Module قم باختیار .Add New Item اختر Project من قائمة-2

:الذي قمت بإنشائه كالتالي Module اآلن سوف تشاھد الوحدة النمطیة

.برمجیة وإجراءاتك كما تشاءالذي تستیطع أن تكتب فیه أكوادك ال Module ھذا ھو الـ

.Edit من قائمة Save All التنسى أن تحفظ المشروع باختیار -

Page 37: Vbمدخل الى لغة البرمجة فيجوال بازيك

. وھما اليختلفان عن معظم لغات البرمجة األخرى Procedures ھناك نوعان من االجراءات :ھذان االجراءان ھما

.Functions قیم وتسمى) إرجاع(اجراءات تقوم بإنتاج -1

Sub ج قیما وتسمىاجراءات التنت -2

ھذه . لتنفیذ وظائف معینة ويستحسن أن تجعل كل إجراء يقوم بوظیفة واحدة فقط تستخدم االجراءاتفمثال لنفترض أنك ترغب بتطبیق المثال التطبیقي في الدرس . الوظائف تحددھا رغبة وحاجة المستخدم

لفورم وستحتاج إلى إجراء آخر يقوم ستحتاج إلى إجراء يقوم بتكبیر حجم ا، السابق باستخدام االجراءاتھذه الطريقة احترافیة بعض الشيء حیث أنك تقوم . بتصغیره وستحتاج إلى ثالث إلغالق الفورم وھكذابعد ذلك علیك استدعاء ھذه االجراءات بكتابة أمر . بكتابة الكود وتحديد نوع االجراء ووظیفته كما تشاء

.االستدعاء الذي سنتعرف علیه بعد قلیل

Sub تعريف اجراء من نوع

:اكتب الكود التالي بین الوسمین التالیین، الذي قمت بإنشائھا قبل قلیل Moduleفي الوحدة النمطیة

Module Module1

" ھنا يكتب الكود "

End Module

: Enter اكتب مايلي ثم اضغط

public Sub CreateSub ( ByVal frm As Windows . Forms . Form )

أي نھاية االجراء بحیث End Subسوف تنشئ الفیجوال بیزك النص التالي Enterد الضغط على زر بع . يمكنك كتابة كودك الخاص في ھذا المجال

أي يمكنك ا ستدعاؤه في Publicومجال ھذا اإلجراء ھو Subاآلن أصبح لديك إجراء جديد من النوع المجاالت عديدة ومتشعبة ولن ( ا اإلجراء مرة أخرىوحدات نمطیة أخرى دون الحاجة إلى كتابة ھذ

).نتطرق إلیھا في دورتنا ھذه

Windows .Forms .Form من نوع frm اسمھا اإلجراء في األعلى يقوم بإنشاء فورم فارغة

:Functionتعريف إجراء من نوع

الذي قمنا بتعريفه قبل Sub أعاله وتأكد بأنك تكتبه خارج حدودModuleقم بكتابة السطر التالي داخل :قلیل

public function CreateFunction ( ByVal name as String ) As Integer

وإرجاع قیمة من String ويقوم بإرسال قیمة من نوع public ومجاله أيضا Functionھذا اإلجراء من النوع

.Integer أي أن ھذا االجراء من النوع Integerنوع

.بیقي التالي سیوضح لك الكثیر من األمورالمثال التط

Page 38: Vbمدخل الى لغة البرمجة فيجوال بازيك

-2-مثال تطبیقي

كما Windows Application من نوع New Project افتح الفیجوال بیسك وأنشئ مشروعا جديدا -1 .تعلمت سابقا

. Module ثم اختر Add New Item ومنھا اختر Project اذھب إلى القائمة -2

:ثم اكتب اإلجراء التالي Module الـبداية ونھاية ضع المؤشر بین -3

Public Sub ReadName ( ByVal frm As Windows . Forms . Form )

:واكتب اآلتي Enterثم اضغط زر

InputBox ( " Enter Your Name " )

وستشاھد الفورم الخاص ، كما تعلمت في درس سابقDesign اآلن انتقل إلى شاشة التصمیم -4 النص) خاصیة( وقم بتغییر ، إلى الفورم وضعه في المكان الذي تريدButton قم بإضافة زر .ببرنامجك

على الزر لكي تنتقل إلى Double Click ومن ثم انقر نقرا مزدوجا أو أي شيء آخرName إلى Textللزر .الكود الخاص به

:جراء وھو كالتالي في الكود الخاص بالزر الذي أضفته قبل قلیل اكتب أمر استدعاء اإل-5

Call ReadName ( Me )

وذلك عند عمل حدث الـ Me إلى الفورم الخاص بك ReadNameسیقوم ھذا األمر باستدعاء اإلجراء Clickعلى الزر.

ولكن تأكد بأنك تكتبه داخل ، وقم بإضافة اإلجراء التاليModule اآلن عد مرة أخرى إلى شاشة الـ -6 .End Module وقبل جملة End Subأي بعد جملة ، وخارج حدود أي إجراء آخر Moduleمجال الـ

Public Sub ShowMessage (ByVal frm As Windows . Forms . Form )

MsgBox ( " Good Luck With C4arab Summer Courses " )

End Sub

في نفس الفورم السابق Button وأضف زرا آخرا Design اآلن عد مرة أخرى إلى شاشة التصمیم -7 . مثالMessage للزر إلى Textوغیر خاصیة

Page 39: Vbمدخل الى لغة البرمجة فيجوال بازيك

انقر نقرا مزدوجا على الزر الجديد لكي تصل إلى كود الحدث الخاص به ثم قم باستدعاء اإلجراء الثاني -8 :كالتالي

Call ShwoMessage(Me)

InputBoxھد صندوق اإلدخال اضغط على الزر األول لتشا . اآلن قم بتنفیذ برنامجك وشاھد النتیجة-9 .MsgBoxثم أغلقه واضغط على الزر الثاني لتشاھد مربع الرسالة

.انتھى التطبیق

*بحمد اهللا وتوفیقهانتھى الدرس الخامس واألخیر *

________________________________________________________________ ________________________________________________________________

النقاش واالسئلة

أن يظھر لي DEBUG لقد قمت بتطبیق المثال مرتین ولم يظھر أي نتائج، عندما يقوم بعمل :ھناك أخطاء وھي كما كتبھا كاآلتي

name 'showmessage' is not declared

type expected comma or '(' expected

..أ مطبعيالخط.. األمر سھل ويسیر للغايه ..التنصیص عالمات في والمشكلة عندك تحديدا..فقط تأكدي جیدا من الكتابة السلیمة لألوامر " "الحظي أن عالمة التنصیص ثنائیه أي ھكذا

!!بالضبط ME بودي لو أعرف ما ھي داللة الـفورم في الزر فھو سیطبق في ال Me وضعت امر وفیه حیث أني فھمي يقول ان انه مثال اذا

أھذا صحیح؟؟...الحالي ؟ماذا تعني بالضبط ByVal وبالنسبة لـ

..الفورم السم) او اختصار ان صح التعبیر(اسم بديل ..تشیر إلى الفورم الحالي me الكلمه ھناك نوع آخر أيضا ھو ،،لكن للفائده ..فصدقیني أنه اليھمكم كمبتدئین معرفة ماذا تعني ByVal أما

ByRef..االفتراضي واألول ھو...مر للتعامل مع المتغیرات المرسله من قبل االجراءاتوھي أوا..

* خیرخامس واأل الدرس ال انتھت أسئلة *

Page 40: Vbمدخل الى لغة البرمجة فيجوال بازيك

الملحق األول مشاكل تنصیب فیجول بیزيك دوت نت

نعرض ھنا مشاكل التنصیب ......تمتمة للدرس االول وألھمیة موضوع تنصیب برنامج فیجوال بیزيك نت .......الموجودمع تحديد نظام التشغیل ..بالتفصیلو

......حلھا وكیف استطاعوالھا تعرضوا عن أى مشاكل نجحوا في التنصیب نالذيوكذلك عرض تجارب

:انتبھوا للنقاط التالیة ....... بداية

ھذه ..اقصهالغالب تحتوي على ملفات معطوبه أو ن فھي في.. األقراص التي لديكم منسوخه إذا كانت ..للكثیرين المشكلة حدثت

لن تخسروا ، كاملة المحتويات بمقارنة أحجامھا بمايلي بإمكانكم التأكد من أن األقراص التي لديكم ..شیئا

CD1= 652,014 KB CD2= 603,282KB CD3= 635,986KB CD4= 37,128KB CD5= 358,078KB

..النورتون انتي فايروس وبخاصة.. والفايروولز كما أؤكد على إغالق كافة برامج الحماية0

ولو ..ستديو كامال لالحتیاط أو حذف الفیجوال Analyzer والنقطة الثالثه ھي حذف الفیجوال ستوديو0 ........إلى حین انتھاء تنصیب الدوت نت..بشكل مؤقت

ئي لم يتمكنوا من بعض أصدقا..........Analyzerألنه في الغالب يتسبب في بعض المشاكل خصوصا ال ......بعد أن أزالوا الفیجوال ستوديو تحمیله إال

Page 41: Vbمدخل الى لغة البرمجة فيجوال بازيك

تم تنصیب القرص األول تمام، والثاني يطلع لي الخطأinternal error 2337؟؟؟

التالیه لمن ظھرت لديھم رسالة الخطأ

internal error 2337

:الحل بإذن اهللا

خصوصا نورتون انتي ..الفیروسات ة ومكافحةقم بإغالق جمیع برامج الحماي Norton Anti Virusفايروس

سیديات احدھا ال يحمل رقم 7 السیديات الخاصة بالفیجوال ستوديو دوت نت وكانتاحضرت دي ولم يظھر لي ما ذكرتموه ،، استخدمت اول سي2والبقیه كانت مرقمه بداية من الرقم

؟؟؟وظھرت لي النافذه الثالثهفي الدرس االول الصوره الثانیه

؟..تأكدي فیما إذا كان السیدي الذي أدخلتیه ھو المطلوب أم ال ..جمیعا حاولي أن تجربیھا..على السیدي set up ھناك العديد من ملفات السیت أب..وللمعلومیه

..الموجودة على السیدي set up فلقد حدثت ھذه المشكلة وكان حلھا بتجربة جمیع ملفات

حاولي ...components وعن السیدي الخاص با..ا أنه بإمكانك سؤال البائع عن أرقام السیديز وترتیبھاكمبالشكل فبإذن اهللا ستتمكنین من تنصیبھا ..التیأسي..ولكن..أيضا تجربة جمیع السیديز واحدا بعد اآلخر

..الصحیح

Page 42: Vbمدخل الى لغة البرمجة فيجوال بازيك

:مشاكل محلولة

.....!!!مرقمة ماذا تفعل اذا كانت االسطوانات غیر

!لیست مرقمه سیديات 7امج وھي انه الانا عانیت من مشكله واحده لما نزلت الرن

،،، انيثالرف الأعو visio برامجا النھمجانبا 7 و6 الاتركوا : اوال

update windows component على اول خیار تضغطوا اول سي دي الزم تضعوا االول ، وبعدين :ثانیا ..خمسه للتحديث ضع سي دي التحديث ،،، ضعوا السي دي رقم منكم وبیطلبطبعا

سیديز مثل ارقام التتبععلى الخیار الثاني وبحیث تضغط رجعك للصفحه الرئیسیه یيخلص ب وبعدھا لما .مايخبرك

ايا كانت ،،،، اغلقوا جمیع البرامج: مثلما قال االستاذ شاكر : مالحظه وقت طويل تحتاجو G B 1.2النھا Documentation تعمق بدراسته ال ينزل ال يذي اليريد أنال : نصیحه

جدا ،،، لكم حريه االختیار ،،،

والبرنامج ال يريد أن المشكلة التي واجھتني أثناء النتصیب ھي أن درايف سي عندي ملیانت، جیجا باي4و5آخر علي الرغم من أختیاري درايف جي ألنه فاضي ينزل علي أي درايف .الدرايف ينزله في السي وكل مرة أختار ھذا

drives حذفت كل عالمات األختیار من أمام الshow/hide drives جربت من زر وفي اآلخر ..اآلنثنین، والحمد هللا ھو شغال ونصبت البرنامج وتم تنصیبه علي األ.....والجي إال السي

*تم الكتاب بحمد اهللا *