Professional Documents
Culture Documents
استخدام البرامج الجاهزة في التعليم
استخدام البرامج الجاهزة في التعليم
جامعة دمياط
قسم اعداد معلم الحاسب االلي
حماضرات يف
الفصل األول
مقدمة عن لغات الربجمة
ويتم تنفيذ
حددة في أجيزة الكمبيوترّ ،بأنيا عممية استخدام المنطق لمقيام بعمميات ووظائف ُم ّ
عرف البرمجة ّ
تُ ّ
ىذه العمميات المنطقية بمغات برمجية ُمعينة ،تتمثّل في مجموعة من التعميمات واألوامر المكتوبة بطريقة
عين ،وتوجييو إلى جياز الكمبيوتر لتنفيذه ،كما تُنظّم لغات البرمجة طريقة تواصل
حددة إلنشاء برنامج ُم ّ
ُم ّ
األجيزة اإللكترونية ببعضيا البعض؛ كالروبوتات واألجيزة الطرفية كالطابعات وغيرىا من أنواع األجيزة
الذكية األخرى ،كما تسمح لإلنسان بالتواصل مع اآللة ،وعمى الرغم من امتالك العديد من لغات البرمجة
المميزة ،وتضم ك ّل لغة مجموعةً ُمتميزةً من
أن لك ّل لغة تركيبتيا الفريدة و ُ
المتشابية ّإل ّ
لمعديد من الخصائص ُ
عين.
الكممات الرئيسية الخاصة بيا لبناء برنامج ُم ّ
تاريخ لغات البرمجة:
يعود تاريخ ظيور لغات البرمجة إلى ما قبل ظيور الكمبيوتر نفسو بما يزيد عن 521عام؛ حيث ظيرت
مرة في بعض الستخدامات الصناعية؛ فقد اعتُمدت في التح ّكم في إنتاج المنسوجات لغات البرمجة ألول ّ
عين عمى أنواع مختمفة من البطاقات ،بحيث يتم تغيير تمك البطاقات إلنتاج
عن طريق تصميم ثقوب بشكل ُم ّ
أنواع مختمفة من المنسوجات.
ُيعتبر الظيور الحقيقي ألول لغة برمجة في العام 5511م؛ حيث قام فريق من شركة ) (IBMبتطوير لغة
ثم تالىا في العام 5511م ظيور ثاني أقدم لغة برمجة ُعرفت باسم
برمجة ُعرفت باسم)ّ ، (FORTRAN
المختمفة عبر القرن العشرين حيث ظيرت بعض لغات البرمجة التي
) ،(LISPوتوالى ظيور لغات البرمجة ُ
ستخدم حتى اآلن كمغة برمجة ) (Basicالتي اختُرعت في العام 5511م ،شيدت فترة السبعينيات
ل تزال تُ َ
ظيور مفيوم جديد لمغات البرمجة وىو مفيوم البرمجة الشيئية )(Object-oriented programming
صمم لتوجيييا إلى األشياء التي يستخدميا اإلنسان ،وظيرت خالل تمك الفترة العديد
حيث كانت تمك المغات تُ ّ
تم تطويرىا في المختمفة التي ل يزال العديد منيا ُمستخدماً حتّى اآلن كمغة باسكال التي ّ
من لغات البرمجة ُ
العام 5595م من ِقبل نيكالوس ويرث ،ولغة البرمجة ) (Cالتي ظيرت في العام 5592م ،بينما ظيرت لغة
1
الفصل األول :مقدمة عن لغات البرمجة
تم تطويرىا من ِقبل إدجار كود في العام 5591م ،ول تزال ىذه المغة
برمجة قواعد البيانات ) (SQLالتي ّ
الميمة حتّى الوقت الحالي ،كما ظيرت لغة البرمجة ) (++Cفي العام 5595مّ .أدى
إحدى المغات الرئيسية و ّ
طور تيم بيرنرز لي لغة البرمجة )(HTMLانتشار اإلنترنت إلى استحداث العديد من لغات البرمجة؛ حيث ّ
في العام 5551م ،تالىا في العام التالي ظيور اثنتين من أىم لغات البرمجة في العالم وىي لغة برمجة
بايثون ) (Pythonولغة برمجة فيجوال بيسك) ، (Visual Basicوكان العام 5551م سنة ظيور لغة
تم تقديميا من ِقبل ُمبرمجين في شركة صن ميكروسيستمز (Sun البرمجة جافا ) (Javaالتي ّ
المختمفة فضالً عن
)] 9[،Microsystemsوفي الوقت الحالي ىناك عشرات اآللف من لغات البرمجة ُ
المصممون أنيا ستُساىم في ح ّل ّأية مشكمة موجودة في حياة اإلنسان.
ّ ستمر لمغات جديدة يرى
الم ّالتطوير ُ
خصائص لغات البرمجة:
لمستخدمييا ،ومن ىذه الخصائص ما يأتي: يوجد العديد من الخصائص التي يجب أن توفرىا لغات البرمجة ُ
بد أن تتمتّع لغات البرمجة ببساطة وسالسة تُم ّكن الم ِ
ستخدمين من التعامل معيا بطريقة البساطة :ل ّ
ُ
سيمة.
الكفاءة :يتحتّم أن تمتاز لغات البرمجة بالقدرة عمى العمل بكفاءة كبيرة عمى األجيزة؛ ويكون ذلك
عندما تكون لغة البرمجة ل تتطمّب الكثير من الوقت لتشغيميا ول تحتاج الكثير من المساحة
التخزينية عمى األجيزة.
المنظّمة
لمستخدمييا كتابة برامجيم وفقاً لمفاىيم البرمجة ُ
بد أن تسمح لغات البرمجة ُ
الييكمة :ل ّ
المتعارف عمييا.
وُ
بد أن تحتوي لغات البرمجة عمى طريقة لمتحقُق من األخطاء التي قد سيولة اكتشاف األخطاء :ل ّ
عين بواسطة تمك المغة.
المبرمج عند كتابو لبرنامج ُم ّ
يواجييا ُ
يتحتم أن تكون لغة البرمجة قابمة لمحمل؛ بمعنى ّأنو ُيمكن نقل البرنامج الذي ُيكتب
ّ إمكانية النقل:
بواسطتيا من جياز حاسوب إلى آخر.
إن لغات البرمجة تعتمد عمى متسمسالت رياضية ،ترتبط بفكرة
العتماد عمى الخوارزميات ،أي ّ
فإن أي ُجممة إلكترونية تستخدم في
الخوارزميات التي وضعيا عالم الرياضيات العربي الخوارزميّ ،
لغات البرمجة تتكون من ٍ
سبب ونتيجة تساعد في بناء التطبيق اإللكتروني.
أن لغات البرمجة تعتمد عمى مجموعة من الخطوات الثابتة
الرتباط بمنيجية كتابة ثابتة ،بمعنى ّ
التي تستخدم أثناء كتابة نص البرمجة ،ويجب أن تكون كل خطوة من ىذه الخطوات صحيحة ،وفي
حال وجود أي خطأ لن يعمل التطبيق ،أو الموقع اإللكتروني بشكل صحيح.
2
الفصل األول :مقدمة عن لغات البرمجة
تعتمد عمى وجود الشيفرات ،وىي عبارة عن مجموعة من الرموز اإللكترونية ،والتي تيتم في بناء
تسمسل معين ،غير مفيوم بشكل واضح ،ويتميز بأنو جامد في طبيعتو ،ومن أشير ىذه الشيفرات
شيفرة 1،5المستخدمة في برمجة أجيزة الحاسوب.
كائنية التوجُّو
عد ىذه المغة تطوي اًر لمغة) ، (Cوقد أُضيفت إلييا خصائص جعمت منيا لغة ّ
:C++ تُ ّ
البرمجيات المختمفة واأللعاب
ّ ستخدم ىذه المغة في تطوير
،Object orientedوتُ َ
كائنية التوجُّو تعتمد عمى القوالب ، Classesوقد ظيرت لغة الجافا في تسعينات
:Java ىي لغة ّ
البرمجيات ،ومحتوى
ّ عد من أكثر المغات طمباً؛ إذ ُيمكن استخداميا في تطوير
القرن الماضي ،وتُ ّ
الويب ،واأللعاب ،باإلضافة إلى تطبيقات اليواتف المحمولة.
متعددة الستخدامات من تطوير شركة مايكروسوفت ،تدمج ما بين خصائص لغتّي
:C# ىي لغة ّ
برمجيات نظام تشغيل ويندوز
ّ ويمكن استخداميا في تطوير
)(Cو)ُ ،(++C
: JavaScript ىي لغة مدعومة من العديد من متصفّحات الويب ِّ
تمكن المبرمج من إضافة الرسوم
التفاعمية إلى محتوى الويب
ّ المتحركة والوسائط
ّ
يتم تنفيذىا من جية
ستخدم في تطوير النصوص التي ّ :Python ىي لغة عالية المستوى تُ َ
اإللكترونية أو تطبيقات اليواتف المحمولة،
ّ الخادم Server-side scriptingعن طريق المواقع
وتتميَّز بالبساطة وسيولة القراءة.
صنف لغات البرمجة إلى أنواع ُمتعددة وفقاً لمستواىا ،وطريقة تنفيذ البرامج ،واستخداماتيا كما يمي:
تُ ّ
أنواع لغات البرمجة وفق مستواها:
3
الفصل األول :مقدمة عن لغات البرمجة
ومن األمثمة عمى ىذا النوع من لغات البرمجة؛ لغة ، #Cولغة ، Javaولغة ، JavaScriptولغة، Python
ولغةSQL
بأنيا عبارة عن لغات البرمجة التي تُكتب عبر نظام العد الثنائي Binary Number Systemالمتمثل
ّ
المنخفضة
المستوى فإن المغات ُ
باألعداد ،1 :و ،5بحيث يفيميا جياز الحاسوب ،وعمى عكس المغات عالية ُ
المبرمجين ،وينطوي ىذا النوع من المغات عمى فرعين من
المستوى تكون ُمعقّدة ،وغير قابمة لمقراءة من قبل ُ
ُ
المغات ،وىما اآلتي:
لغة اآللةMachine Language؛ وىي المغة التي تتمكن أجيزة الحواسيب فقط من فيميا ،ويتم تمثيل ىذه
المبرمجين ،كما تختمف لغة
البرامج بالنظام الثنائي ،وتُعتبر عممية كتابة ىذه البرامج أم اًر معقداً لمغاية عمى ُ
حاسوب آلخر ،حيث يتم إنشاء البرامج في المعالجات الموجودة عمى األجيزة ،بالتالي ل ٍ اآللة من جياز
يمكن استخدام البرنامج المكتوب بمغة اآللة عبر جياز يحتوي عمى ُمعالج من نوع PowerPCعمى جياز
آخر يحتوي عمى ُمعالج Intel.
لغة التجميع Assembly Language :تُعتبر لغة التجميع أسيل نسبياً من لغة اآللة؛ وذلك لحتوائيا عمى
بعض مفردات المغة اإلنجميزية؛ ككممة ، addوكممة subعمى سبيل المثال ،مما يجعل قراءة برامجيا وفيميا
أسيل مقارنةً ببرامج لغة اآللة ،وتعمل برامج ىذا المستوى من لغات البرمجة بمثابة ُمترجم يعمل عمى تحويل
المستوى التي يكتبيا اإلنسان إلى لغة اآللة التي تفيميا األجيزة ،وكما ىو الحال في لغة
برامج المغات العالية ُ
4
الفصل األول :مقدمة عن لغات البرمجة
اآللة فإن لغات التجميع ىي لغات غير محمولة؛ أي أنو ل ُيمكن نقل برنامج مكتوب بمغة التجميع من جياز
كمبيوتر آلخر.
حول أوامر البرمجية أو الكود إلى لغة اآللة الخاصة بالجياز بعد النتياء من كتابة بأنيا المغات التي تُ ّ
ّ
البرنامج كامالً ،ويتم التحويل من المغة البرمجية التي ُكتب بيا البرنامج إلى لغة اآللة باستخدام ما ُيعرف
بالمترِجم ، Compilerويمتاز ىذا النوع من المغات بسرعة التشغيل؛ حيث يتم تشغيل البرنامج بشكل ُمباشر ُ
أن برامج ىذا النوع من لغات البرمجة ل ُيمكن نقمو وتشغيمو عمى دون الحاجة لتحويل األوامر أولً بأول ،إل ّ
أجيزة تعمل بأنظمة تشغيل ُمختمفة عن تمك التي يحتوييا الجياز الذي تمت كتابة البرنامج عميو ،وتُعتبر لغة
سي ) (Cأحد األمثمة عمى ىذا النوع من لغات البرمجة.
5
الفصل األول :مقدمة عن لغات البرمجة
وىي المغات الخاصة بتطوير برامج الذكاء الصطناعي؛ كبرامج الروبوتات ،وتُعد لغات ، Prologو
،Pythonو ، AIMLولغة ، Cو ، #Cو ++Cمن األمثمة عمى المغات التي ُيمكن استخداميا لتطوير
المختمفة.
برمجيات الذكاء الصطناعي ُ
لغات تطوير قواعد البيانات:
وى ي ي ي ي ييي المغ ي ي ي ي ييات الت ي ي ي ي ييي ي ي ي ي ي ييتم اس ي ي ي ي ييتخداميا م ي ي ي ي يين ِقب ي ي ي ي ييل ُمبرمج ي ي ي ي ييي قواع ي ي ي ي ييد القواع ي ي ي ي ييد؛ بي ي ي ي ي ييدف إنش ي ي ي ي يياءىا،
والحفاظ عمى عمميا ،ومن األمثمة عمى ىذا النوع من المغات لغةSQL.
وىي التي تُعنى بتطوير ألعاب الحاسوب ،أو أيةّ برامج ترفييية أُخرى؛ كمغة ، ++Cولغة ، Javaولغة، #C
ولغةDarkBASIC
المختمفة ،وتُعد
وتُعنى ىذه المغات بتطوير البرامج الالزمة إلنشاء أنظمة تشغيل أجيزة الحاسوب وواجياتيا ُ
لغتي ، Cو Assemplyمن األمثمة عمييا.
تُعتبي يير ىي ييذه المغي ييات أسي يياس وجي ييود اإلنترني ييت في ييي العي ييالم ،حيي ييث يي ييتم مي يين خالليي ييا تصي ييميم مواقي ييع اإلنترني ييت،
،و ،HDMLو ،Javaو ،JavaScriptو ،PHPو،XML ومتصي ي ي ييفحاتيا ،وتُعتبي ي ي يير لغي ي ي يياتHTML
ُ
و Pythonمي ي ي ي ي ي ي ي ي ي ي ي ي يين األمثمي ي ي ي ي ي ي ي ي ي ي ي ي يية عمي ي ي ي ي ي ي ي ي ي ي ي ي ييى ىي ي ي ي ي ي ي ي ي ي ي ي ي ييذا الني ي ي ي ي ي ي ي ي ي ي ي ي ييوع مي ي ي ي ي ي ي ي ي ي ي ي ي يين لغي ي ي ي ي ي ي ي ي ي ي ي ي ييات البرمجي ي ي ي ي ي ي ي ي ي ي ي ي يية.
بأنيي ي ييا القواعي ي ييد التي ي ييي تُحي ي ي ّيدد كيفيي ي يية
الصي ي ييياغة :تعي ي ي ّيرف الصي ي ييياغة في ي ييي لغي ي ييات البرمجي ي يية ّ :Syntax
المسي ييتخدمة ،ويكي ييون كتابي يية المفي ييردات والرمي ييوز بشي ييكل صي ييحيح في ييي البرني ييامج وفق ي ياً لمغي يية البرمجي يية ُ
عميييى )(IFيتم اسيييتخداميا بطريق يية ُمعين يية ككممييية
لكي ي ّل لغ يية برمج يية كممي ييات ورم ييوز محج ييوزة ي ي ّ
أن لغي ييات البرمجي يية تختمي ييف مي يين لغي يية إلي ييى أخي ييرى
سي ييبيل المثي ييال ل الحصي يير ،وتجي ييدر اإلشي ييارة إلي ييى ّ
المبي ييرمج لألحي ييرف الصي ييغيرة والكبي ي يرة أثني يياء كتابي يية البرني ييامج ،في ييبعض
تبع ي ياً لتعامميي ييا مي ييع اسي ييتخدام ُ
6
الفصل األول :مقدمة عن لغات البرمجة
المغ ي ييات البرمجي ي يية تعتب ي يير اس ي ييتخدام الح ي ييرف الكبي ي يير ُيماث ي ييل اس ي ييتخدام الح ي ييرف الص ي ييغير ف ي ييي ح ي ييين
يتغير ىذا األمر في لغات أخرى. ّ
عبي ي يير مصي ي ييطمح الي ي ييدللت :Semanticsعي ي يين كيفيي ي يية اسي ي ييتخدام الرمي ي ييوز والمفي ي ييردات
الي ي ييدللتُ :ي ّ
اس ي ييتخداماً صي ي ييحيحاً لتكيي ييوين جمميي يية برمجييي يية صيي ييحيحة وفق ي ي ياً لقواع ي ييد الص ي ييياغة الخاصيي يية بالمغي ي يية،
يتم تنفي ييذ الجمم يية التالي يية ف ييييتم تنفي ييذ تم ييك الجم ييل البرمجي يية بش ييكل تسمس ييمي حي ييث ل ي ي ّ وع ييادةً م ييا ي ي ّ
يتم تنفيذىا صحيحة. البرنامج ّإل في حال كانت الجممة الحالية التي ّ
يتم اسي ييتخداميا بشي ييكل ُمعي ي ّيين مي يين ِقبي ييل
بأنيي ييا بياني ييات يجي ييب أن يي ي ّ
األن ي يواع تُعي ي ّيرف األن ي يواع ّ :Types
يتم فحص ي يييا يتم اس ي ييتخداميا ف ي ييي البرن ي ييامج خص ي ييائص ُمح ي ييددة ي ي ي ّ
المب ي ييرمج ،فيك ي ييون لألني ي يواع الت ي ييي ي ي ي ُّ
يتم إظيي ييار خطي ييأ في ييي البرني ييامج إذا تي ي ّيم إسي ييناد ِ
يالمترجم Compilerحيي ييث يي ي ّ مي يين قبي ييل مي ييا ُيعي ييرف بي ي ُ
يتم عممي يية فح ييص أني يواع البيان ييات وفقي ياً ش ييكل م يين البيان ييات لن ييوع ) (Typeل يتواف ييق مع ييو ،وت ي ّ
لطريقتين األولى تُعرف بفحص النوع الثابت واألخرى تُعرف بفحص النوع الديناميكي.
بأنيي ي ييا بع ي ييض الخص ي ييائص واألدوات
المكتب ي ييات تُع ي ييرف المكتبيي ييات Librariesف ي ييي لغيي ييات الب ي ييرمج ّ
المسي يياعدة التي ييي تت ي يوافر في ييي لغي يية برمجي يية ُمعيني يية بيي ييدف تطي ييوير البرني ييامج الي ييذي ُيكتي ييب باسي ييتخدام ُ
تم ي ييك المغ ي يية ،وق ي ييديماً ل ي ييم يك ي يين ُينظ ي يير إل ي ييى المكتب ي ييات عم ي ييى أني ي ييا ج ي ييزء مي ي ييم م ي يين لغ ي ييات البرمج ي يية،
يإن اسي ي ي ييتخدام ىي ي ي ييذه األدوات
ولكي ي ي يين في ي ي ييي الوقي ي ي ييت الحي ي ي ييالي ومي ي ي ييع التطي ي ي ييور التكنولي ي ي ييوجي اليائي ي ي ييل في ي ي ي ّ
حتميي ياً لكتاب يية بي يرامج أكث يير فاعمي يية ،وم يين األمثم يية عم ييى المغ ييات الت ييي ت ييوفّر المس يياعدة أص ييبح أمي ي اًر ّ ُ
المض ييمنة فيي ييا لغ يية) ، (++Cوى ييو م ييا جعمي ييا واح ييدةً م يين أنج ييح لغ ييات
ع ييدداً كبيي ي اًر م يين المكتب ييات ُ
البرمجة.
المستخدمة في سوق العمل عام 2121م وفقاً لما أوصت بو جمعية ميندسي
فيما يأتي أىم لغات البرمجة ُ
الكيرباء واإللكترونياتIEEE
لغة بايثون تُعتبر لغة بايثون Pythonإحدى أكثر لغات البرمجة استخداماً في العصر الحالي،
لممبتدئين ،فضالً عن ّأنيا لغة مفتوحة المصدر؛ أي ّأنو ُيمكن
ويعود ذلك إلى سيولة تعمميا بالنسبة ُ
قدم بايثون ميزات دعم ُمتكاممة،
أن استخداميا مجاني ،وتُ ّ ِ
ألي ُمستخدم التعديل عمييا ،باإلضافة إلى ّ
ّ
وتوافق سيل مع خدمات شبكة الويب ،كما يشمل استخداميا العديد من المجالت ،كالتعمُم اآللي،
المتحركة ذات األبعاد الثالثية ،واأللعاب ،والتصوير الثنائي،
والتعمُم العميق ،وتطوير حزم الرسوم ُ
7
الفصل األول :مقدمة عن لغات البرمجة
8
الفصل األول :مقدمة عن لغات البرمجة
لغة تايب سكريبت لغة تايب سكريبت TypeScriptىي لغة موجية لمكائنات مفتوحة المصدر،
طُ ّورت من ِقبل شركة مايكروسوفت عام 2152م ،وأُنشئت لتكون بمثابة تطوير عمى لغة الجافا
سكريبت ،حيث تحتوي عمى جميع العناصر التي تحتوييا جافا سكريبت ،بالتالي تستطيع تطوير
المتصفحات،
أي نوع من أنواع ُ برمجيات جافا سكريبتُ .يمكن تشغيل لغة تايب سكريبت عمى ّ
ألن ىذه المغة ىي لغة تطويرية عمى الجافا سكريبت فإنو ل ُيمكن
المختمفة ،ونظ اًر ّ
وأنظمة التشغيل ُ
استخداميا لعممية إنتاج البرامج من الصفر؛ حيث يتطمب تحويل كل أوامر البرامج المكتوبة بمغة
محول برمجي Compilerونظ اًر لما توفره لغةتايب سكريبت إلى لغة الجافا سكريبت باستخدام ّ
التايب سكريبت من ميزات إضافية تم تطويرىا عمى لغة الجافا سكريبت فإنو ُيتوقع أن تحل مكانيا
قريباً؛ األمرالذي ُيميد لكونيا واحدة من أكثر لغات البرمجة المرغوبة في العالم.
لغة جو تُعتبر لغة جو ) GOمن المغات اليامة في الوقت الحالي ،وظيرت خالل العقد الماضي،
حيث قام ميندسون في شركة جوجل بتطويرىا عام 2152م ،وكان اليدف من تطويرىا جعل عممية
المستخدمة ،ونجحت ىذه
ُمعالجة البيانات الخاصة بيا أسيل وأسرع من المغات البرمجية األخرى ُ
لمعالجة بياناتيا ،وفضالً عن ذلك
المغة الجديدة في تقميص الوقت الذي احتاجتو جوجل سابقاً ُ
امتازت أيضاً في سيولة تعمُميا ،وقابميتيا لمتطُور ،وفعاليتيا ،حيث جمعت ما بين اإلنتاجية
والبساطة النسبية التي تتمتع بيا لغة بايثون؛ باإلضافة إلى الكفاءة التي تتمتع بيا لغة البرمجة، C
واستخدمت لغة جو في العديد من المنصات اإللكترونية الكبيرة ،مثل ،: Googleو ، Netflixو
،Dropboxوغيرىا.
لغة سويفت تُعتبر لغة سويفت Swiftلغة برمجة تم تطويرىا من ِقبل شركة أبل بيدف استخداميا
بمختمف األغراض العامة ،ويتم استخداميا بشكل كبير في تطوير التطبيقات التي تعمل بنظام
أن ما مقداره %12 تشغيل ، iOSوذلك بدلً من لغة ، Objective-Cحيث تُشير الدراسات إلى ّ
من أفضل 551تطبيقات موجودة عمى متجر أبل تم إنشاؤىا بمغة سويفت ،وتمتاز ىذه المغة ُببنيتيا
المتماسكة ،وسرعتيا ،فضالً عن أمانيا ،وسيولة تعمُميا ،ونظ اًر لترويج شركة أبل ليذه
البسيطة و ُ
المبرمجين.
المغة فإنيا تحظى حالياً بشعبية كبيرة في الستخدام بين ُ
9
الفصل األول :مقدمة عن لغات البرمجة
توجد مجموعة من الفروقات بين لغات البرمجة عموماً ،لذلك ليس بالضرورة أن تتشابو كميا معاً ،ومن أىم
ىذه الفروقات:
صيغة الكتابة ىي الطريقة التي تتم من خالليا كتابة لغة البرمجة ،ول تتشابو كافة المغات معاً بصيغة كتابة
واحدة ،فمثالً :يجب أن تنتيي ُجممة البرمجة في بعض المغات بفاصمة منقوطة ،بعكس المغات األخرى التي
تَنتيي فييا ُجممة البرمجة بمجرد النتياء من كتابتيا ،والنتقال لكتابة ُجممة جديدة.
المستخدمة في البرمجة،
العتماد عمى الممحقات ىي مجموعة من األدوات والوسائل التي تتوافر مع األنظمة ُ
أن أنظمة البرمجة توفر وسائل ممحقة
ول تعمل بعض التطبيقات المبرمجة حديثاً إل بالعتماد عمييا ،بمعنى ّ
معيا ،ومن الميم أن توجد ضمن البرمجية الخاصة بالتطبيق المصمم بالعتماد عمى بيئتيا البرمجية ،وال لن
يتم ّكن من العمل بشكل صحيح ،ومن األمثمة عمى ذلك :التطبيقات ،والبرامج القديمة التي تدعم نسخ نظام
تشغيل ويندوز القديمة ،ول تعمل بشكل صحيح عمى النسخ الجديدة من ويندوز.
وجود بيئة برمجة متطورة تعتمد عمى طبيعة آراء ،وتفضيالت المبرمجين في اختيار لغة البرمجة ،فمكل
مبرمج لغةٌ معينةٌ يفضل العمل بالعتماد عمييا ،وأحياناً تمزم بعض التطبيقات أن يتم العمل عمى لغات
برمجة محددة ،وكمما كانت لغة البرمجة أكثر تطو اًر ،وتتناسب مع طبيعة مختمف أنواع التطبيقات ،والمواقع
اإللكترونية استخدمت بشكل أكثر من قبل المبرمجين ،وعادةً يختار كل مبرمج المغة التي توفّر لو الوقت في
تصميم البرنامج الذي يعمل عمى تصميمو.
10
ﺍﻟﻔﺼﻞ ﺍﻟﺜﺎﻧﻲ
ﺍﳋﻮﺍﺭﺯﻣﻴﺎﺕ
ﺳﻧﺗﻌﺭﻑ ﻋﻠﻰ ﺍﻟﻣﺭﺍﺣﻝ ﺍﻷﺭﺑﻌﺔ ﺍﻷﺳﺎﺳﻳﺔ ﻟﺣﻝ ﺍﻟﻣﺳﺎﺋﻝ )ﺗﻌﺭﻳﻑ ﺍﻟﻣﺳﺄﻟﺔ ﻭﺗﺣﻠﻳﻠﻬﺎ ﻭﺍﻟﺑﺭﻣﺟﺔ ﻭﺍﻟﺗﻭﺛﻳﻖ(
ﻭﻣﻔﻬﻭﻡ ﺍﻟﺧﻭﺍﺭﺯﻣﻳﺎﺕ ﻭﺧﺻﺎﺋﺻﻬﺎ ﻭﻁﺭﻕ ﺻﻳﺎﻏﺗﻬﺎ ﺑﺎﺳﺗﺧﺩﺍﻡ ﺍﻟﻠﻐﺎﺕ ﺍﻟﻁﺑﻳﻌﻳﺔ ﻭﺍﻟﻣﺧﻁﻁﺎﺕ ﺍﻻﻧﺳﻳﺎﺑﻳﺔ
ﻭﻛﻭﺩ ﺍﻟﺷﻔﺭﺓ ﺑﺎﻹﺿﺎﻓﺔ ﺇﻟﻰ ﺷﺭﺡ ﻛﺎﻣﻝ ﻟﻠﻣﺧﻁﻁﺎﺕ ﺍﻻﻧﺳﻳﺎﺑﻳﺔ ﻣﻥ ﺧﻼﻝ ﺗﺣﺩﻳﺩ ﺍﻷﺷﻛﺎﻝ ﻭﺍﻟﻌﻧﺎﺻﺭ
ﺍﻟﻣﺳﺗﺧﺩﻣﺔ ﻭﻣﺩﻟﻭﻝ ﻛﻝ ﻣﻧﻬﺎ ﻭﺍﺳﺗﺧﺩﺍﻣﻬﺎ ﻓﻲ ﺻﻳﺎﻏﺔ ﺍﻟﺧﻭﺍﺭﺯﻣﻳﺎﺕ ﻭﺷﺭﺡ ﻛﺎﻣﻝ ﻻﺳﺗﺧﺩﺍﻡ ﻛﻭﺩ ﺍﻟﺷﻔﺭﺓ ﻓﻲ
ﺻﻳﺎﻏﺔ ﺍﻟﺧﻭﺍﺭﺯﻣﻳﺎﺕ
(2.1ﻣﻘﺩﻣﺔ INTRODUCTION
ﻓﻲ ﻫﺫﺍ ﺍﻟﻔﺻﻝ ﺳﻧﺗﻧﺎﻭﻝ ﺍﻟﻣﺭﺍﺣﻝ ﺍﻷﺳﺎﺳ5ﻳﺔ ﺍﻟﻣﺗﺑﻌ5ﺔ ﻟﺣ5ﻝ ﺍﻟﻣﺳ5ﺎﺋﻝ ﺑ5ﺩء ﻣ5ﻥ ﺗﻌﺭﻳ5ﻑ ﺍﻟﻣﺳ5ﺄﻟﺔ ﻭﺗﺣﻠﻳﻠﻬ5ﺎ
ﺣﺗ55ﻰ ﻣﺭﺣﻠ55ﺔ ﺍﻟﺗﻭﺛﻳ55ﻖ ﻣ55ﺭﻭﺭﺍ ﺑﻣﺭﺣﻠ55ﺔ ﺍﻟﺑﺭﻣﺟ55ﺔ ﻭﺫﻟ55ﻙ ﺑﺎﻹﺿ55ﺎﻓﺔ ﺇﻟ55ﻰ ﺗﻧ55ﺎﻭﻝ ﻣﻔﻬ55ﻭﻡ ﺍﻟﺧﻭﺍﺭﺯﻣﻳ55ﺎﺕ
ﻭﺧﺻﺎﺋﺻ55ﻬﺎ ﻭﻁ55ﺭﻕ ﺻ55ﻳﺎﻏﺗﻬﺎ ﻭﺳ55ﻧﻘﻭﻡ ﺑ55ﺎﻟﺗﺭﻛﻳﺯ ﻋﻠ55ﻰ ﻁ55ﺭﻳﻘﺗﻳﻥ ﺷ55ﺎﺋﻌﻲ ﺍﻻﺳ55ﺗﺧﺩﺍﻡ ﻓ55ﻲ ﺻ55ﻳﺎﻏﺔ
ﺍﻟﺧﻭﺍﺭﺯﻣﻳﺎﺕ ﻭﻫﻣﺎ ﻁﺭﻳﻘﺔ ﺍﻟﻣﺧﻁﻁﺎﺕ ﺍﻻﻧﺳﻳﺎﺑﻳﺔ ) (flowchartﻭﻁﺭﻳﻘﺔ ﻛﻭﺩ ﺍﻟﺷ5ﻔﺭﺓ (pseudo
).code
(2.1.4ﺍﻟﺗﻭﺛﻳﻖ Documentation
ﻳﻌﻧ5ﻲ ﺑ5ﺎﻟﺗﻭﺛﻳﻖ ﻛﺗﺎﺑ5ﺔ ﺗﻘﺭﻳ5ﺭ ﻣﻧﻔﺻ5ﻝ ) ﺃﻭ ﺗﻌﻠﻳﻘ5ﺎﺕ ﻋﻠ5ﻰ ﺍﻟﺑﺭﻧ5ﺎﻣﺞ ﺍﻷﺻ5ﻠﻲ (source program
ﻷﻫﻡ ﺍﻟﻣﻌﻠﻭﻣﺎﺕ ﻋﻥ ﺍﻟﺑﺭﻧﺎﻣﺞ ﻭﻁﺑﻳﻌﺔ ﻋﻣﻠﻪ ﺑﻬﺩﻑ ﺍﻟﺭﺟﻭﻉ ﺇﻟﻳﻪ ﻋﻧﺩ ﺍﻟﺣﺎﺟﺔ ﻭﻟﻠﻣﺳﺎﻋﺩﺓ ﻓ5ﻲ ﺍﻟﺗﻁ5ﻭﻳﺭ
ﺍﻟﻣﺳﺗﻘﺑﻠﻲ.
ﻭﻧﻅﺭﺍ ﻷﻥ ﺗﺣﻠﻳﻝ ﺍﻟﻣﺳﺄﻟﺔ ) (problem analysisﻫﻭ ﺍﻟﺧﻁﻭﺓ ﺍﻷﺳﺎﺳﻳﺔ ﻟﺗﺣﺩﻳﺩ ﻁﺭﻳﻘﺔ ﺍﻟﺣﻝ ﻁﺑﻘ5ﺎ
ﻟﺳﺭﻋﺔ ﻭﺳﻬﻭﻟﺔ ﻭﺩﻗﺔ ﺍﻟﻭﺻﻭﻝ ﺇﻟﻰ ﺍﻟﻧﺗﺎﺋﺞ ﻟﺫﺍ ﺳﻧﺗﺣﺩﺙ ﻓﻲ ﻫﺫﺍ ﺍﻟﻔﺻ5ﻝ ﻋ5ﻥ ﺍﻟﻁ5ﺭﻕ ﺍﻟﻣﺧﺗﻠﻔ5ﺔ ﻟﺗﺣﻠﻳ5ﻝ
ﺍﻟﻣﺳﺎﺋﻝ
ﻣﺛﺎﻝ1 :
Z ( X Y )2
ﺧﻁﻭﺍﺕ ﺍﻟﺣﻝ:
(1ﻓﻬKﻡ ﺍﻟﻣﺳKﺄﻟﺔ :ﻭﻫ5ﻭ ﺣﺳ5ﺎﺏ ﻗﻳﻣ5ﺔ ﺍﻟﻣﺗﻐﻳ5ﺭ Zﺍﻟﻣﻌﻁ5ﻰ ﺑﺎﻟﻣﻌﺎﺩﻟ5ﺔ ﺍﻟﺳ5ﺎﺑﻘﺔ ﻭﺗﺣﺩﻳ5ﺩ ﺍﻟﻣ5ﺩﺧﻼﺕ
ﻭﻫﻲ X and Yﻭﺗﺣﺩﻳﺩ ﺍﻟﻣﺧﺭﺟﺎﺕ ﻭﻫﻭ ﺇﻳﺟﺎﺩ ﻗﻳﻣﺔ ﺍﻟﻣﺗﻐﻳﺭ Zﺍﻟﻣﺣﺩﺩ ﺑﺎﻟﻣﻌﺎﺩﻟﺔ ﺍﻟﺳﺎﺑﻘﺔ
(2ﻣﺭﺣﻠKKﺔ ﺍﻟﺗﺣﻠﻳKKﻝ :ﺍﺳ55ﺗﻌﺭﺍﺽ ﺍﻟﻁ55ﺭﻕ ﺍﻟﻣﺧﺗﻠﻔ55ﺔ ﻟﻠﺣ55ﻝ ﻭﺍﺧﺗﺑ55ﺎﺭ ﺃﻧﺳ55ﺑﻬﺎ ﻣ55ﻥ ﻧﺎﺣﻳ55ﺔ ﺍﻟﺳ55ﺭﻋﺔ
ﻭﺍﻟﺳﻬﻭﻟﺔ ﻭﻛﺫﻟﻙ ﺍﻟﺩﻗﺔ
ﻳﻭﺟﺩ ﻁﺭﻳﻘﺗﺎﻥ ﻟﻠﺣﻝ:
ﺍﻟﻁﺭﻳﻘﺔ ﺍﻷﻭﻟﻰ:
Z X 2 Y 2 2 * X *Y
ﻣﺛﺎﻝ2 :
ﺃﻭﺟﺩ ﺍﻟﺧﻭﺍﺭﺯﻡ ﺍﻟﺫﻱ ﻳﻘﻭﻡ ﺑﺗﺣﻭﻳﻝ ﺩﺭﺟﺔ ﺍﻟﺣﺭﺍﺭﺓ ﺍﻟﺳﻧﺗﻐﺭﺍﺩ ﺇﻟﻰ ﺩﺭﺟﺔ ﻓﻬﺭﻧﻬﻳﺗﻳﺔ ﺑﺎﺳﺗﺧﺩﺍﻡ ﺍﻟﻣﻌﺎﺩﻟﺔ
C
F 32 9
5
ﺍﻟﺧﻭﺍﺭﺯﻡ:
ﻣﻠﺣﻭﻅﺔ
ﻓ55ﻲ ﺍﻟﺷ55ﻛﻝ ﺭﻗ55ﻡ 3ﺍﻟﻌﻧﺻ55ﺭ ﺭﻗ55ﻡ 7ﻭﺍﻟﻌﻧﺻ55ﺭ ﺭﻗ55ﻡ 8ﻳﻣ55ﺛﻼﻥ ﺍﻟﻌ55ﺩﺍﺩﺍﺕ ﺃﻭ ﺍﻟﺗﻛ55ﺭﺍﺭ ﺍﻟﻣﺣ55ﺩﺩ ﻭﻋﻧ55ﺩ
ﺍﺳﺗﺧﺩﺍﻡ ﻫﺫﻩ ﺍﻟﻌﻧﺎﺻﺭ ﻳﺟﺏ ﺗﺣﺩﻳﺩ ﺍﻟﺗﺎﻟﻲ
ﻣﺛﺎﻝ 3:
ﺃﻭﺟ5ﺩ ﺍﻟﻣﺧﻁ5ﻁ ﺍﻻﻧﺳ5ﻳﺎﺑﻲ ﻟﺧ5ﻭﺍﺭﺯﻡ ﻳﻘ5ﺭﺃ ﻗ5ﻳﻡ ﺍﻟﻣﺗﻐﻳ5ﺭﺍﺕ A, B, and Cﻭﻳﻘ5ﻭﻡ ﺑﺣﺳ5ﺎﺏ ﻭﻁﺑﺎﻋ5ﺔ
ﺍﻟﻣﺟﻣﻭﻉ ) (Sumﻭﺍﻟﻣﺗﻭﺳﻁ ﺍﻟﺣﺳﺎﺑﻲ ) (Aveﻭﺣﺎﺻﻝ ﺍﻟﺿﺭﺏ )(Pro
ﺍﻟﺣﻝ:
ﺍﻟﻣﺧﻁﻁ ﺍﻻﻧﺳﻳﺎﺑﻲ ) (Flowchartﻟﻠﻣﺛﺎﻝ ﺭﻗﻡ 3
ﻣﺛﺎﻝ4 :
ﺃﻭﺟﺩ ﺍﻟﻣﺧﻁﻁ ﺍﻻﻧﺳ5ﻳﺎﺑﻲ ﻟﺧ5ﻭﺍﺭﺯﻡ ﻳﻘ5ﻭﻡ ﺑﺗﺣﻭﻳ5ﻝ ﺩﺭﺟ5ﺔ ﺍﻟﺣ5ﺭﺍﺭﺓ ﻣ5ﻥ ﻓﻬ5ﺭ ﻧﻬﻳ5ﺕ ) (Fﺇﻟ5ﻰ ﺳ5ﻧﺗﻐﺭﺍﺩ
) .(Cﺍﻟﺧﻭﺍﺭﺯﻡ ﻳﻘﺭﺃ ﺩﺭﺟ5ﺔ ﺍﻟﺣ5ﺭﺍﺭﺓ ﺍﻟﻔﻬﺭﻧﻬﻳﺗﻳ5ﺔ ﻭﻳﻘ5ﻭﻡ ﺑﻁﺑﺎﻋ5ﺔ ﺩﺭﺟ5ﺔ ﺍﻟﺣ5ﺭﺍﺭﺓ ﺑﺎﻟﺳ5ﻧﺗﻐﺭﺍﺩ .ﻗﺎﻋ5ﺩﺓ
ﺍﻟﺗﺣﻭﻳﻝ ﻣﻥ ﺩﺭﺟﺔ ﺍﻟﺣﺭﺍﺭﺓ ﺍﻟﻔﻬﺭﻧﻬﻳﺗﻳﺔ ﺇﻟﻰ ﺩﺭﺟﺔ ﺍﻟﺣﺭﺍﺭﺓ ﺍﻟﺳﻧﺗﻐﺭﺍﺩ ﺗﻌﻁﻰ ﺑﺎﻟﻣﻌﺎﺩﻟﺔ ﺍﻟﺗﺎﻟﻳﺔ:
5
C ( F 32)
9
ﺍﻟﺣﻝ:
ﺍﻟﺣﻝ:
الفصل الثالث
مقدمة عن البرمجة بلغة
الفيجوال بيسك دوت نت
برنامج مايكروسوفت فيجوال استوديو ىو بيئة تطوير متكاممة ) (IDEتم ابتكاره من شركة مايكروسوفت ،إذ
تم تصميمو لتطوير برامج الكمبيوتر الخاصة بنظام الويندوز ومواقع اإلنترنت وتطبيقات االنترنت وتطبيقات
أيضا اإلصدار الخاص بيم من ، Visual Studioمما يمكنيم من العمل
الجوال .كما يمتمك المبرمجون ً
مجانا عمى األنظمة األساسية الشائعة مثل Windowsو Mac OS Xو Linux.
عمى الرموز ً
يأتي فيجوال استديو Visual Studioمع محرر رموز يدعم إكمال التعميمات البرمجية )(IntelliSense
أيضا عمى أدوات مدمجة مثل
باإلضافة إلى إعادة بناء التعميمات البرمجية .عالوة عمى ذلك ،يحتوي النظام ً
مصمم النماذج لبناء التطبيقات لواجية المستخدم الرسومية ومصمم الويب ومصمم الصف ومصمم مخطط
قاعدة البيانات.
يعمل Visual Studioعمى منصات سطح المكتب الرائدة ويم ّكن الشركات من تطوير تطبيقات الويب
والجوال لنظامي التشغيل Androidو iOS.كما أنو يدعم لغات البرمجة المختمفة ،بما في ذلك Cو C ++
و( C ++ / CLIعبر ) Visual C ++و( VB.NETعبر ) Visual Basic .NETو( C #عبر
) Visual C #كما أصبح يوفرالدعم لمغات األخرى مثل Mو Pythonو ، Rubyعبر خدمات المغة
أيضا XML / XSLTو HTML / XHTMLو JavaScriptو CSS.
المثبتة بشكل منفصل ،ويدعم ً
إلنشاء تطبيقات Windowsبمغة برمجة ، VB.NETستحتاج أوالً إلى تثبيت Visual Studio
Integrated Development Environment (IDE). Microsoft Visual Studioىو بيئة تطوير
متكاممة ) (IDEمن Microsoftحيث يمكنك تطوير أنواع مختمفة من التطبيقات عمى منصة .NET.كما
يسمح لممطور بتصحيح أخطاء تطبيقاتو وتشغيميا.
https://visualstudio.microsoft.com/downloads/.
21
الفصل الثالث :مقدمة عن البرمجة بلغة الفيجوال بيسك دوت نت
سوف نستخدم Visual Studio 2019 Community Edition.إنيا نسخة مبسطة من Visual Studio
خصيصا لألشخاص الذين يتعممون البرمجة .يحتوي عمى واجية مستخدم مبسطة ويغفل الميزات
ً ،تم إنشاؤىا
المتقدمة لإلصدار االحترافي لتجنب االلتباس .لذا انقر فوق الزر تنزيل مجاني ،وبمجرد تنزيل ممف * .exe
،انقر بزر الماوس األيمن وحدد تشغيل كمسؤول في الممف الذي تم تنزيمو لبدء التثبيت.
22
الفصل الثالث :مقدمة عن البرمجة بلغة الفيجوال بيسك دوت نت
23
الفصل الثالث :مقدمة عن البرمجة بلغة الفيجوال بيسك دوت نت
النشاء Console Appيتم اختيار ) Console App (.NET Coreثم الضغط علي Next
24
الفصل الثالث :مقدمة عن البرمجة بلغة الفيجوال بيسك دوت نت
يمكن اضافة الكود البسيط التالي ،والذي سيطبع رسالة عمى نافذة وحدة التحكم.
25
الفصل الثالث :مقدمة عن البرمجة بلغة الفيجوال بيسك دوت نت
لتنفيذ الكود السابق يتم اختيار Debug > Start Without Debugging
26
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
انفصم انرابع
مكونات نغة انفيجوال بيسك دوت نث
مقدمة
لغة ال visual Basic .netىي لغة برمجة حاسوبية موجية لمكائنات يتم تطبيقيا عمى .NET
Framework.عمى الرغم من أنيا تطور لمغة Visual Basicالكالسيكية ،إال أنيا ليست متوافقة مع
اإلصدارات السابقة مع ، VB6وأي كود مكتوب في اإلصدار القديم ال يتم ترجمتو ضمنVB.NET.
مثل جميع لغات .NETاألخرى ،تتمتع VB.NETبدعم كامل لممفاىيم الموجية لمكائنات .كل شيء في
VB.NETىو كائن ،بما في ذلك جميع األنواع األولية ، (Shortو ، Integerو ، Longو ، String
و ، Booleanوما إلى ذلك( واألنواع المحددة من قبل المستخدم ،واألحداث ،وحتى التجميعات .ترث كافة
الكائنات من فئة الكائن األساسية.
يتم تنفيذ VB.NETبواسطة إطار عمل .Microsoft .NETلذلك ،لديو حق الوصول الكامل إلى جميع
أيضا تشغيل برامج VB.NETعمى ، Monoالبديل
المكتبات في .Net Framework.من الممكن ً
أيضا في Linuxأو .Mac OSX
المفتوح المصدر لـ ، NET.ليس فقط في نظام ، Windowsولكن ً
27
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
تطبيقات إطار العمل .Netىي تطبيقات متعددة المنصات .تم تصميم إطار العمل بطريقة يمكن
يتكون إطار عمل .Netمن مكتبة ضخمة من األكواد المستخدمة من قبل لغات العميل مثل
28
مكونات لغة الفيجوال بيسك دوت نت: الفصل الرابع
:ناتج التنفيذ
29
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
يتم استخدام السطر األول من برنامج Imports Systemلتضمين مساحة اسم النظام في البرنامج
يحتوي السطر التالي عمى إعالن VB.Net ،module1 ، Moduleلغة برمجو موجية ،لذا
يجب أن يحتوي كل برنامج عمى وحدات modulesتحتوي عمى البيانات واإلجراءات التي
يستخدميا برنامجك
قد تحتوي الفئات أو الوحدات بشكل عام عمى أكثر من إجراء واحد .تحتوي اإلجراءات عمى الكود
القابل لمتنفيذ ،أو بعبارة أخرى ،تحدد سموك الفصل و يمكن أن يكون اإلجراء ًأيا مما يمي–
Function
Sub
Operator
Get
Set
AddHandler
RemoveHandler
RaiseEvent
السطر التالي )'ىذا البرنامج( سوف يتجاىمو المترجم وقد تم وضعو إلضافة تعميقات إضافية في
البرنامج.
يحدد السطر التالي اإلجراء الرئيسي ،وىو نقطة الدخول لجميع برامج .VB.Netيوضح اإلجراء
WriteLineىي طريقة methodمن فئة وحدة التحكم المحددة في مساحة اسم النظام .يؤدي ىذا
البيان إلى ظيور الرسالة " "!World ،Helloليتم عرضيا عمى الشاشة.
السطر األخير من )( Console.ReadKeyمخصص لمستخدمي VS.NET.سيؤدي ىذا إلى
منع الشاشة من العمل واإلغالق بسرعة عند تشغيل البرنامج منVisual Studio .NET.
30
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
VB.netىي لغة برمجة موجية لمكائنات .في منيجية البرمجة الشيئية ،يتكون البرنامج من كائنات ال
مختمفة تتفاعل مع بعضيا البعض عن طريق اإلجراءات .تسمى اإلجراءات التي قد يتخذىا الكائن بالطرق.
يقال إن األشياء من نفس النوع ليا نفس النوع أو ،في كثير من األحيان ،يقال إنيا في نفس الفئة.
اي ان ، VB.Netيمكن تعريفو عمى أنو مجموعة من الكائنات التي تتواصل عبر استدعاء أساليب بعضيا
البعض .وفيما يمي عرض لمعني متغيرات الفئة والعنصر واألساليب والمثال.
الكائن Objetالكائنات ليا حاالت وسموكيات .مثال :لكمب حاالت -المون ،االسم ،الساللة
الطرق .إنو في الطرق التي تتم فييا كتابة المنطق ،ومعالجة البيانات وتنفيذ جميع اإلجراءات .
متغيرات المثيل Instance Variablesلكل كائن مجموعتو الفريدة من متغيرات الحالة .يتم إنشاء
المعرفات :Identifiers
المعرف ىو اسم يستخدم لتعريف فئة أو متغير أو وظيفة أو أي عنصر آخر محدد بواسطة المستخدم.
القواعد األساسية لتسمية الفئات في VB.Netىي كما يمي-
يجب أن يبدأ االسم بحرف يمكن أن يتبعو تسمسل من األحرف أو األرقام ) (9 - 0أو شرطة سفمية.
قما.
ال يمكن أن يكون الحرف األول في المعرف ر ً
31
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
يجب أال يحتوي عمى أي مسافة مضمنة أو رمز مثل؟ .}{ ][ () * & ^ ٪# @ !+ -؛ / "" :و
32
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
تشير أنواع البيانات إلى نظام شامل يستخدم لإلعالن عن المتغيرات أو الوظائف من أنواع مختمفة .يحدد نوع
المتغير مقدار المساحة التي يشغميا في التخزين وكيف يتم تفسير نمط البت المخزن.
33
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
34
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
مثال :
ناتج التنفيذ:
35
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
36
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
مثال :
ناتج التنفيذ:
المتغيرات :Variables
المتغير ليس سوى اسم ُيعطى لمنطقة التخزين التي يمكن لبرامجنا معالجتيا .كل متغير في VB.Netلو نوع
معين ،والذي يحدد حجم وتصميم ذاكرة المتغير ؛ نطاق القيم التي يمكن تخزينيا في تمك الذاكرة ؛ ومجموعة
العمميات التي يمكن تطبيقيا عمى المتغير.
37
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
لقد ناقشنا بالفعل أنواع البيانات المختمفة .يمكن تصنيف أنواع القيم األساسية المتوفرة في VB.Netعمى أنيا
يتم استخدام بيان Dimلإلعالن عن المتغير وتخصيص التخزين لمتغير واحد أو أكثر .يتم استخدام بيان
Dimفي الوحدة النمطية أو الفئة أو الييكل أو اإلجراء.
حيث:
:Attribute listقائمة السمات ىي قائمة السمات التي تنطبق عمى المتغير) .اختياري(.
: Access modifierيحدد معدل الوصول مستويات الوصول لممتغيرات ،ولو قيم مثل -
38
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
يشير Staticإلى أن المتغير سيحتفظ بقيمتو ،حتى عند إنياء اإلجراء الذي تم اإلعالن عنو فيو).
اختياري(.
ReadOnlyتعني أن المتغير يمكن قراءتو ،لكن ال يمكن كتابتو .اختياري.
يحدد WithEventsأن المتغير ُيستخدم لالستجابة لألحداث التي أثيرت بواسطة المثيل المخصص
لممتغير).اختياري(.
:Variable listتوفر قائمة المتغيرات قائمة المتغيرات المعمنة.
قائمة الحدود -اختيارية :يوفر قائمة بحدود كل ُبعد من أبعاد متغير المصفوفة
جديد – اختياري :يقوم بإنشاء مثيل جديد لمفئة عند تشغيل عبارةDim
نوع البيانات )مطموب( في حالة تشغيل الخيار Strict.تحدد نوع بيانات المتغير
:Intializerتييئة أو تعيين قيمة )اختياري( إذا لم يتم تحديد جديد .التعبير الذي يتم تقييمو وتعيينو إلى
المتغير عند إنشائو.
39
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
تتم تييئة المتغيرات )يتم تعيين قيمة ليا( بعالمة يساوي متبوعة بتعبير ثابت .الشكل العام لمتييئة ىو–
مثال:
مثال :2
ناتج التنفيذ:
توفر فئة وحدة التحكم في مساحة اسم النظام وظيفة ReadLineلقبول المدخالت من المستخدم وتخزينيا
في متغير .عمي سبيل المثال،
40
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
الثوابت :Constants
أيضا القيم
تشير الثوابت إلى القيم الثابتة التي ال يجوز لمبرنامج تغييرىا أثناء تنفيذه .تسمى ىذه القيم الثابتة ً
الحرفية .يمكن أن تكون الثوابت من أي نوع من أنواع البيانات األساسية مثل ثابت عدد صحيح أو ثابت
تماما مثل المتغيرات
أيضا ثوابت التعداد .يتم التعامل مع الثوابت ً
عائم أو ثابت حرف أو سمسمة حرفية .ىناك ً
العادية باستثناء أنو ال يمكن تعديل قيميا بعد تعريفيا .التعداد ىو مجموعة من ثوابت األعداد الصحيحة
المسماة.
في ، VB.Netيتم التصريح عن الثوابت باستخدام تعميمة Const.يتم استخدام عبارة Constفي الوحدة
النمطية ،أو الفئة ،أو الييكل ،أو اإلجراء ،أ لالستخدام بدالً من القيم الحرفية.
الصيغه العامة:
41
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
: Attributes listتحدد قائمة السمات المطبقة عمى الثوابت ؛ يمكنك تقديم سمات متعددة مفصولة
بفواصل) .اختياري(.
: accessmodifierيحدد الرمز الذي يمكنو الوصول إلى ىذه الثوابتPublic, Protected, .
Friend, Protected Friend, or Private.
:Shadowsىذا يجعل الثابت يخفي عنصر برمجة لو اسم متطابق في فئة أساسية) .اختياري(.
مثال:
ناتج التنفيذ:
42
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
العبارات :Satments
العبارات ىو تعميمات كاممة في برامج Visual Basic.قد تحتوي عمى كممات أساسية وعوامل ومتغيرات
وقيم حرفية وثوابت وتعبيرات.
بيانات اإلقرار :Declaration statementsىذه ىي العبارات التي تقوم فييا بتسمية متغير أو
أيضا تحديد نوع البيانات
ثابت أو إجراء ،ويمكن ً
البيانات القابمة لمتنفيذ :Executable statementsىذه ىي البيانات التي تبدأ اإلجراءات .يمكن
ليذه العبارات استدعاء طريقة أو وظيفة أو حمقة أو فرع من خالل كتل من التعميمات البرمجية أو
an Assignment تعيين قيم أو تعبير لمتغير أو ثابت .في الحالة األخيرة ،يطمق عميو
.statement
تُستخدم عبا ارت التصريح لتسمية وتعريف اإلجراءات والمتغيرات والخصائص والمصفوفات والثوابت .
أيضا تحديد نوع البيانات ومستوى الوصول والنطاق
عندما تقوم بتعريف عنصر برمجة ،يمكنك ً
تتضمن عناصر البرمجة التي قد تعمنيا variables, constants, enumerations, classes,
structures, modules, interfaces, procedures, procedure parameters, function
returns, external procedure references, operators, properties, events, and
delegates
43
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
44
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
45
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
46
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
مثال:
ناتج التنفيذ:
المعامالت :Operators
47
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
يوضح الجدول التالي جميع العمميات الحسابية التي يدعميا VB.Net.افترض أن المتغير Aيحمل 2
والمتغير Bيحمل ، 7ثم–
يوضح الجدول التالي جميع عوامل المقارنة التي يدعميا VB.Net.افترض أن المتغير Aيحمل 00
والمتغير Bيحمل ، 20إذن–
48
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
49
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
50
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
شيوعا
ً في ، VB.Netيمكنك استخدام سالسل كمصفوفة من األحرف ،ومع ذلك ،فإن الممارسة األكثر
ىي استخدام الكممة األساسية Stringلإلعالن عن متغير سمسمة .الكممة األساسية لمسمسمة ىي اسم مستعار
لفئةSystem.String.
من خالل تخصيص سمسمة حرفية لمتغير سمسمة باستخدام ُمنشئ فئة String
عن طريق استرداد خاصية أو استدعاء طريقة تقوم بإرجاع سمسمة
من خالل استدعاء طريقة تنسيق لتحويل قيمة أو كائن إلى تمثيل سمسمة
مثال :
51
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
تحتوي فئة Stringعمى العديد من الطرق Methodsالتي تساعدك في العمل مع كائنات السمسمة .يقدم
شيوعا-
ً بعضا من أكثر الطرق
الجدول التالي ً
52
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
53
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
54
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
55
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
56
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
57
الفصل الرابع :مكونات لغة الفيجوال بيسك دوت نت
58
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
الفصل اخلامس
اجلمل الشرطية واحللقات التكرارية
مقدمه
أحيانا نحتاج الي اجراء تحقق من عبارة معينو في برنامجنا فان كانت نتيجة التحقق تساي قيمة معينو ننفذ
تعميمات معينو وان كان العكس أو كانت تساوي قيمة أخري ننفذ تعميمات أخري ،مثال :اذا اردنا انشاء برنامج
يتكون من شاشة لتسجيل التدخول فانو يتطمب ذلك التحقق من اسم المستخدم وكممة المرور انكانا
صحيحينسمحنا بعممية الدخول وان كان احدىما خاطئا اظيرنا رسالة خطأ.
في البرمجة تسمي عممية التحقق من عبارة معينة شرطاً Conditionأو بنية شرطية .Flow Conrol
توجد العديد من الجمل الشرطية داخل برنامج ،VB.netوسوف نستعرض تمك الجمل كما يمي،
59
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
الغرض منيا :إنو أبسط شكل من أشكال بيان التحكم ،وكثي ار ما يستخدم في صنع القرار وتغيير تدفق
التحكم في تنفيذ البرنامج .بناء الجممة لبيان if-thenىو:
بناء الجممة:
حيث ،الشرط ىو شرط منطقي أو عالئقي و العبارة (العبارات) ىي عبارة بسيطة أو مركبة .مثال عمى عبارة
If-Thenىي–
60
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
إذا تم تقييم الشرط عمى أنو صحيح ،فسيتم تنفيذ كتمة التعميمات البرمجية داخل جممة If.إذا تم تقييم الشرط
إلى خطأ ،فسيتم تنفيذ أول مجموعة من التعميمات البرمجية بعد نياية جممة( Ifبعد إغالق) End If).
61
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
:If...Then...Else statement
الغرض منيا :يمكن أن يتبع عبارة Ifجممة Elseاختيارية ،والتي يتم تنفيذىا عندما يكون التعبير المنطقي
خطأ .
إذا تم تقييم التعبير المنطقي إلى صحيح ،فسيتم تنفيذ كتمة التعميمات البرمجية إذا ،واال فسيتم تنفيذ كتمة
التعميمات البرمجية.
بناء الجممة:
62
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
مثال:
63
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
بناء الجممة:
64
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
65
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
يمكنك إجراء تداخل لـ ElseIf ... Elseبنفس الطريقة التي قمت بتضمين عبارة Ifالمتداخمة.
مثال:
66
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
الغرض منيا:
تسمح عبارة Select Caseلممتغير باختباره من أجل المساواة مقابل قائمة من القيم .تسمى كل قيمة حالة ،
ويتم التحقق من المتغير الجاري تشغيمو لكل حالة محددة.
بناء الجممة:
التعبير -ىو تعبير يجب تقييمو ألي نوع من أنواع البيانات األولية في ، VB.Netعمى سبيل
المثال ،Long ،Integer ،Decimal ،Double ،Date ،Char ،Byte ،Boolean ،
UShort.قائمة ULong ،UInteger ،String ،Single ،Short ،SByte ،Objectو
التعبير -قائمة عبارات التعبير التي تمثل قيم مطابقة لمتعبير .عبارات التعبير المتعددة مفصولة
بفاصالت.
الجمل -العبارات التالية لمحالة التي يتم تشغيميا إذا كان تعبير التحديد يطابق أي بند في قائمة
التعبير.
- statements Else العبارات التالية لمحالة األخرى التي تعمل إذا كان تعبير التحديد ال يتطابق
مع أي بند في قائمة التعبير ألي من عبارات الحالة.
67
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
68
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
الغرض منيا :من الممكن أن يكون لديك عبارة selectكجزء من تسمسل البيان الخاص ببيان select
الخارجي .حتى إذا كانت ثوابت حالة التحديد الداخمي والخارجي تحتوي عمى قيم مشتركة ،فمن ينشأ أي
تعارض .
مثال:
69
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
70
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
بناء الجممة:
71
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
72
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
بناء الجممة:
73
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
74
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
الغرض منيا :يكرر مجموعة من العبارات لكل عنصر في المجموعة .تُستخدم ىذه الحمقة لموصول إلى جميع
العناصر ومعالجتيا في مصفوفة أو مجموعة VB.Net.
بناء الجممة:
مثال:
75
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
بناء الجممة:
76
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
مثال:
الغرض منيا :ينفذ سمسمة من العبارات التي تشير بشكل متكرر إلى كائن أو بنية واحدة.
بناء الجممة:
77
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
78
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
79
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
تغير عبارات التحكم في الحمقة التنفيذ من تسمسمو الطبيعي .عندما يترك التنفيذ نطاقًا ،يتم إتالف جميع
الكائنات التمقائية التي تم إنشاؤىا في ىذا النطاق.
العبارة :Exit
الغرض منيا :تقوم عبارة Exitبنقل عنصر التحكم من إجراء أو حظر عمى الفور إلى العبارة التي تمي
استدعاء اإلجراء أو تعريف الكتمة .ينيي الحمقة ،اإلجراء ،كتمة المحاولة أو كتمة التحديد من حيث يتم
استدعاؤىا .إذا كنت تستخدم حمقات متداخمة (عمى سبيل المثال ،حمقة واحدة داخل حمقة أخرى) ،فإن جممة
Exitستوقف تنفيذ الحمقة الداخمية وتبدأ في تنفيذ السطر التالي من الكود بعد الكتمة.
بناء الجممة:
80
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
مثال
81
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
العبارة :Continue
الغرض منيا :يتسبب بيان Continueفي أن تتخطى الحمقة الجزء المتبقي من جسدىا وتعيد اختبار حالتيا
عمى الفور قبل التكرار .إنو يعمل إلى حد ما مثل بيان الخروج .بدالً من فرض اإلنياء ،فإنو يفرض التكرار
التالي لمحمقة عمى الحدوث ،متخطياً أي رمز بينيما .بالنسبة لمحمقة ، For ... Nextتتسبب عبارة
Continueفي تنفيذ االختبار الشرطي وزيادة أجزاء الحمقة .من أجل حمقات ، while and Do ... while
تتسبب عبارة المتابعة في تمرير عنصر التحكم في البرنامج إلى االختبارات الشرطية.
بناء الجممة:
82
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
الغرض منيا :تنقل عبارة GoToالتحكم دون قيد أو شرط إلى سطر محدد في إجراء.
بناء الجممة:
83
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
84
الفصل الخامس :الجمل الشرطية والحلقات التكرارية
85
الفصل السادس :المصفوفات Arrays
الفصل السادس
المصفوفات Arrays
يخزن المصفوفة مجموعة متسمسمة ذات حجم ثابت من العناصر من نفس النوع .تُستخدم المصفوفة لتخزين
غالبا ما يكون من المفيد التفكير في المصفوفة كمجموعة من المتغيرات من
مجموعة من البيانات ،ولكن ً
نفس النوع .تتكون جميع المصفوفات من مواقع ذاكرة متجاورة .يتوافق العنوان األدنى مع العنصر األول
والعنوان األعمى لمعنصر األخير.
انشاء المصفوفة:
أيضا تهيئة عناصر المصفوفة أثناء التصريح عن المصفوفة .عمي سبيل المثال،
يمكنك ً
يمكن تخزين العناصر في المصفوفة والوصول إليها باستخدام فهرس المصفوفة .يوضح البرنامج التالي
هذا–
86
الفصل السادس :المصفوفات Arrays
المصفوفات الديناميكية عبارة عن مصفوفات يمكن تحديد أبعادها واعادة تحديد أبعادها حسب حاجة
البرنامج .يمكنك تعريف مصفوفة ديناميكية باستخدام جممة ReDim.
87
الفصل السادس :المصفوفات Arrays
حيث:
:Preserve تساعد الكممة األساسية Preserveفي الحفاظ عمى البيانات في مصفوفة موجودة عند
تغيير حجمها
. Arraynameهو اسم المصفوفة المراد إعادة أبعادها
:Suscripts تحدد البعد الجديد.
88
الفصل السادس :المصفوفات Arrays
89
الفصل السادس :المصفوفات Arrays
يمكن ترتيب عناصر المصفوفة حسب الترتيب االبجدي كما يمكن ترتيب المصفوفات الرقمية من االصغر
الي االكبر وذلك يتم من خالاللدالة Sortالتابعة لمفئة Array
الدالة Add Rangeتسمح باضافة جميع عناصر المصفوفة الي االداة Listboxبدال من استخدام الحمقات
التك اررية أو اضافة كل عنصر عمي حده من خالل الدالة Add
90
الفصل السادس :المصفوفات Arrays
مثال:
91
الفصل السادس :المصفوفات Arrays
يمكن ذلك من خالل الدالة Reverseليصبح آخر عنصر هو أول عنصر وهكذا.
92
الفصل السادس :المصفوفات Arrays
93
الفصل السابع :عناصر التحكم Basic Controls
الفصل السابع
عناصر التحكم Basic Controls
مقدمو
Windows Formsىي مكون العميل الذكي من .NET Frameworkو .NET Core.يحتوي عمى
مجموعة من المكتبات المدارة التي تبسط ميام التطبيق الشائعة مثل القراءة والكتابة إلى نظام الممفات .عند
استخدام بيئة تطوير مثل ، Visual Studioيمكنك إنشاء تطبيقات Windows Formsالتي تعرض
المعمومات وتطمب اإلدخال من المستخدمين وتتواصل مع أجيزة الكمبيوتر البعيدة عبر الشبكة .النموذج ىو
سطح مرئي تعرض عميو المعمومات لممستخدم .تقوم عادةً بإنشاء تطبيقات Windows Formsعن طريق
إضافة عناصر تحكم إلى النماذج وتطوير االستجابات إلجراءات المستخدم ،مثل نقرات الماوس أو الضغط
عمى المفاتيح.
94
الفصل السابع :عناصر التحكم Basic Controls
ثم
الضغط عمي زر create
95
الفصل السابع :عناصر التحكم Basic Controls
الكائن ىو نوع من عناصر واجية المستخدم التي تقوم بإنشائيا في نموذج Visual Basicباستخدام عنصر
تحكم مربع األدوات .في الواقع ،في ، Visual Basicالنموذج نفسو ىو كائن .يتكون كل عنصر تحكم
Visual Basicمن ثالثة عناصر ميمة-
يمكن نقل جميع كائنات Visual Basicأو تغيير حجميا أو تخصيصيا عن طريق تعيين خصائصيا.
الخاصية ىي قيمة أو خاصية يحتفظ بيا كائن ، Visual Basicمثل التسمية التوضيحية أو المون األمامي.
96
الفصل السابع :عناصر التحكم Basic Controls
يمكن تعيين الخصائص في وقت التصميم باستخدام نافذة الخصائص أو في وقت التشغيل باستخدام عبارات
في كود البرنامج.
حيث:
الحدث عبارة عن إشارة تخبر التطبيق بحدوث شيء ميم .عمى سبيل المثال ،عندما ينقر المستخدم فوق
عنصر تحكم في نموذج ،يمكن لمنموذج رفع حدث النقر واستدعاء إجراء يعالج الحدث .ىناك أنواع مختمفة
من األحداث المرتبطة بالنموذج مثل النقر ،والنقر المزدوج ،واإلغالق ،والتحميل ،وتغيير الحجم ،وما
إلى ذلك.
)( Form1_Loadيعالج حدث التحميل .بطريقة مماثمة ، يشير Handles MyBase.Loadإلى أن
النقطة الميمة التي يجب مالحظتيا ىي اسم معالج الحدث ،والذي يكون بشكل افتراضي ، Form1_Load
بناء عمى اصطالح التسمية الذي تستخدمو في برمجة التطبيق الخاص بك.
ولكن يمكنك تغيير ىذا االسم ً
97
الفصل السابع :عناصر التحكم Basic Controls
يوفر VB.Netمجموعة كبيرة ومتنوعة من عناصر التحكم التي تساعدك عمى إنشاء واجية مستخدم ثرية .
يتم تحديد وظائف كل ىذه الضوابط في فئات التحكم ذات الصمة .يتم تحديد فئات التحكم في مساحة االسم
System.Windows.Forms.
98
الفصل السابع :عناصر التحكم Basic Controls
ادراج العنصر
ضبط الخصائصproperities
ضبط الmethods
ضبط االحداث events
كتابة الكود
99
الفصل السابع :عناصر التحكم Basic Controls
100
الفصل السابع :عناصر التحكم Basic Controls
101
الفصل السابع :عناصر التحكم Basic Controls
102
الفصل السابع :عناصر التحكم Basic Controls
النماذج :Forms
لنبدأ بإنشاء تطبيق Window Formsباتباع الخطوات التالية في Microsoft Visual Studio -
أخير ،حدد موافق ،ينشئ Microsoft
ممف ← مشروع جديد ← تطبيقات نماذج ً Windowsا
Visual Studioمشروعك ويعرض نموذج النافذة التالية باسمForm1.
Visual Basic Formىو الحاوية لجميع عناصر التحكم التي تشكل واجية المستخدم .كل نافذة تراىا
في تطبيق Visual Basicقيد التشغيل ىي نموذج ،وبالتالي فإن المصطمحين نموذج ونافذة يصفان
نفس الكيان .يقوم Visual Studioبإنشاء نموذج افتراضي لك عند إنشاء تطبيق نماذج Windows.
سيحتوي كل نموذج عمى شريط عنوان يتم عرض التسمية التوضيحية لمنموذج عميو وستكون ىناك أزرار
إلغالق النموذج الموضح أدناه وتكبيره وتصغيره–
103
الفصل السابع :عناصر التحكم Basic Controls
فيما يمي مثال يوضح كيف نقوم بإنشاء زرين في وقت حدث تحميل النموذج ويتم تعيين خصائص
نظر ألنو تتم اإلشارة إلى Form1داخل معالج األحداث الخاص بو ،لذلك
مختمفة في نفس الوقت ً .ا
ستتم كتابتو باسم Meبدالً من استخدام اسمو ،ولكن إذا وصمنا إلى نفس النموذج داخل معالج أحداث
أي عنصر تحكم آخر ،فسيتم الوصول إليو باستخدام اسموForm1.
104
الفصل السابع :عناصر التحكم Basic Controls
105
الفصل السابع :عناصر التحكم Basic Controls
106
الفصل السابع :عناصر التحكم Basic Controls
تسمح عناصر تحكم مربع النص بإدخال نص في نموذج في وقت التشغيل .بشكل افتراضي ،يستغرق
نصوصا متعددة وحتى إضافة أشرطة
ً احدا من النص ،ومع ذلك ،يمكنك جعمو يقبل
سطر و ً
ًا األمر
تمرير إليو .لنقم بإنشاء مربع نص عن طريق سحب عنصر تحكم مربع نص من Toolboxوافالتو في
النموذج .
المدخل
في ىذا المثال ،نقوم بإنشاء ثالثة مربعات نصية ونستخدم حدث النقر ألحد األزرار لعرض النص ُ
باستخدام مربع رسالة .اتخذ الخطوات التالية –
قم بسحب وافالت ثالثة عناصر تحكم تسمية وثالثة عناصر تحكم مربع نص في النموذج
قم بتغيير النصوص الموجودة عمى الممصقات إلى :االسم والمنظمة والتعميقات ،عمى التوالي
قم بتغيير أسماء مربعات النص إلى txtNameو txtOrgو ، txtCommentعمى التوالي .
عين اسمو عمى btnMessageوخاصيتو النصية عمى
قم بسحب واسقاط زر التحكم في النموذج ّ .
""send message
انقر فوق الزر إلضافة حدث Clickفي نافذة التعميمات البرمجية وأضف الكود التالي.
107
الفصل السابع :عناصر التحكم Basic Controls
يتم استخدامو بشكل عام لعرض بعض النصوص اإلعالمية عمى واجية المستخدم الرسومية التي ال تتغير
أثناء وقت التشغيل.
108
الفصل السابع :عناصر التحكم Basic Controls
فيما يمي مثال يوضح كيف يمكننا إنشاء 2 labelsدعنا ننشئ Label 1من عالمة تبويب عرض المصمم
ونضبط خصائصيا من نافذة الخصائص .سنستخدم الحدثين Clickو DoubleClickلمتسمية لنقل
التسمية األولى وتغيير نصيا وانشاء Label 2واضافتيا إلى النموذج ،عمى التوالي
109
الفصل السابع :عناصر التحكم Basic Controls
110
الفصل السابع :عناصر التحكم Basic Controls
يمثل ListBoxعنصر تحكم Windowsلعرض قائمة بالعناصر لممستخدم .يمكن لممستخدم تحديد عنصر
من القائمة .يسمح لممبرمج بإضافة عناصر في وقت التصميم باستخدام نافذة الخصائص أو في وقت
التشغيل .لنقم بإنشاء مربع قائمة عن طريق سحب عنصر تحكم ListBoxمن Toolboxوافالتو في
النموذج.
يمكنك ملء عناصر مربع القائمة إما من نافذة الخصائص أو في وقت التشغيل .إلضافة عناصر إلى
،ListBoxحدد عنصر التحكم ListBoxوانتقل إلى نافذة الخصائص ،لمحصول عمى خصائص عنصر
111
الفصل السابع :عناصر التحكم Basic Controls
التحكم ىذا .انقر فوق الزر عالمات الحذف ( )...بجوار خاصية العناصر .يؤدي ىذا إلى فتح مربع الحوار
،String Collection Editorحيث يمكنك إدخال القيم واحدة في كل سطر.
في المثال التالي ،دعنا نضيف مربع قائمة في وقت التصميم ونضيف عناصر عميو في وقت التشغيل .اتخذ
الخطوات التالية –
قم بسحب وافالت تسميتين ،زر وعنصر تحكم ListBoxفي النموذج .
عين خاصية Textفي التصنيف األول لتوفير التسمية التوضيحية " choose your favorite ّ
destination for higher studies
قم بتعيين خاصية Textلمتسمية الثانية لتوفير التسمية التوضيحية Destinationسيتغير النص
عنصر في القائمة
ًا الموجود عمى ىذه التسمية في وقت التشغيل عندما يحدد المستخدم
انقر فوق مربع القائمة وعناصر تحكم الزر إلضافة الرموز التالية في محرر كتابة الكود
.
112
الفصل السابع :عناصر التحكم Basic Controls
ُيستخدم عنصر تحكم ComboBoxلعرض قائمة منسدلة بالعناصر المتنوعة .إنو مزيج من مربع نص
عنصر منيا .لنقم بإنشاء مربع تحرير وسرد عن
ًا عنصر وقائمة منسدلة يختار المستخدم
ًا يدخل فيو المستخدم
طريق سحب عنصر تحكم ComboBoxمن Toolboxوافالتو في النموذج.
يمكنك ملء عناصر مربع القائمة إما من نافذة الخصائص أو في وقت التشغيل .إلضافة عناصر إلى
،ComboBoxحدد عنصر التحكم ComboBoxوانتقل إلى نافذة الخصائص لمتعرف عمى خصائص
عنصر التحكم ىذا .انقر فوق الزر عالمات الحذف ( )...بجوار خاصية العناصر .يؤدي ىذا إلى فتح مربع
الحوار ، String Collection Editorحيث يمكنك إدخال القيم واحدة في كل سطر.
113
الفصل السابع :عناصر التحكم Basic Controls
في ىذا المثال ،دعنا نمأل مربع تحرير وسرد بعناصر مختمفة ،ونحصل عمى العناصر المحددة في مربع
التحرير والسرد ونعرضيا في مربع قائمة وفرز العناصر
قم بسحب وافالت مربع تحرير وسرد لتخزين العناصر ،ومربع قائمة لعرض العناصر المحددة ،وعناصر
تحكم بأربعة أزرار إلضافتيا إلى مربع القائمة بالعناصر المحددة ،ولملء مربع التحرير والسرد ، Fillولفرز
العناصر Sortومسح قائمة مربع التحرير والسرد ، Clearعمى التوالى .أضف عنصر تحكم تسمية يعرض
العنصر المحدد.
114
الفصل السابع :عناصر التحكم Basic Controls
115
الفصل السابع :عناصر التحكم Basic Controls
يتم استخدام عنصر التحكم RadioButtonلتوفير مجموعة من الخيارات الحصرية لمطرفين .يمكن
لممستخدم تحديد زر اختيار واحد في المجموعة .إذا كنت بحاجة إلى وضع أكثر من مجموعة واحدة من
أزرار االختيار في نفس النموذج ،فيجب وضعيا في عناصر تحكم حاوية مختمفة مثل عنصر تحكم
GroupBox.
لنقم بإنشاء ثالثة أزرار اختيار عن طريق سحب عناصر تحكم RadioButtonمن Toolboxواسقاطيا
في النموذج.
116
الفصل السابع :عناصر التحكم Basic Controls
مثال:
في المثال التالي ،دعنا ننشئ مجموعتين من أزرار االختيار ونستخدم أحداث CheckedChangedلتغيير
خاصية BackColorو ForeColorلمنموذج.
117
Basic Controls عناصر التحكم:الفصل السابع
118
الفصل السابع :عناصر التحكم Basic Controls
يسمح عنصر التحكم CheckBoxلممستخدم بتعيين خيارات النوع صح /خطأ أو نعم /ال .يمكن لممستخدم
تحديدىا أو إلغاء تحديدىا .عند تحديد خانة اختيار ،فإنيا تحتوي عمى القيمة ، Trueوعندما يتم مسحيا ،
فإنيا تحمل القيمة False.
لنقم بإنشاء مربعي اختيار عن طريق سحب عناصر تحكم CheckBoxمن Toolboxواسقاطيا في
النموذج.
في ىذا المثال ،دعنا نضيف أربع خانات اختيار في مربع المجموعة .ستسمح خانات االختيار لممستخدمين
باختيار المصدر الذي تعرفوا منو عمى المنظمة .إذا اختار المستخدم مربع االختيار الذي يحتوي عمى نص
فسيطمب من المستخدم التحديد ويتم توفير مربع نص إلعطاء اإلدخال .عندما ينقر المستخدم
"ُ ، "Others
فوق الزر " ، "Submitيتمقى /تتمقى الرسالة المناسبة .النموذج في عرض التصميم–
119
Basic Controls عناصر التحكم:الفصل السابع
End If
121
الفصل السابع :عناصر التحكم Basic Controls
عرض عناصر تحكم شريط التمرير أشرطة التمرير الرأسية واألفقية في النموذج .يستخدم ىذا لمتنقل عبر
كمية كبيرة من المعمومات .ىناك نوعان من عناصر تحكم شريط التمرير : HScrollBarألشرطة التمرير
األفقية و VScrollBarألشرطة التمرير الرأسية .ىذه تستخدم بشكل مستقل عن بعضيا البعض .
122
الفصل السابع :عناصر التحكم Basic Controls
123
الفصل السابع :عناصر التحكم Basic Controls
يتم استخدام عنصر تحكم TreeViewلعرض تمثيالت ىرمية لعناصر مشابية لمطرق التي يتم بيا عرض
الممفات والمجمدات في الجزء األيمن من مستكشف Windows.قد تحتوي كل عقدة عمى واحدة أو أكثر من
العقد الفرعية
124
الفصل السابع :عناصر التحكم Basic Controls
125
الفصل السابع :عناصر التحكم Basic Controls
126