20 - سلسلة تبسيط البرمجة – مع البرنامج الأول
السلام عليكم ورحمة الله وبركاته
بسم الله الرحمن الرحيم
سأفترض أن كل من يقرأ هذا الدرس قد قام بتثبيت بيئة البرمجة وتطوير البرامج
مايكروسوفت فيجوال ستوديو 2013 كما تم الطلب في الحلقة السابقة
كما أني قد أستخدم الكلمات الإنكليزية بلفظها العربي وليس الترجمة إلا إذا اقتضى الأمر غير ذلك
كما جرت وكحال معظم البرامج فإن القائمة الأولى هي ملف File و في بدايتها عدة أوامر وستجدون أول أمر هو قائمة فرعية بعنوان New لإنشاء عدة أشياء جديدة
وأولها مشروع جديد New>Project كما يوجد نفس الأمر في صفحة البداية
الآن سنقوم بالنقر على الاختصار Ctrl+Shift+N وهو اختصار إنشاء مشروع جديد
ستظهر نافذة لاختيار قالب للمشروع ستجدون على اليسار قائمة مبوبة تضم عدة أنواع للمشاريع مبوبة حسب لغات البرمجة
الذي سنتعامل معه هو لغة فيجوال بيسيك
سنختار منه قالب كونسول أبليكيشن Consol Application وهو أبسط أنواع القوالب والذي لا يشترط وجود واجهات ونوافذ وإنما يقبل أن ينفذ عمليات في الخلفية بدون واجهات وشاشة التخاطب هي نافذة الكونسول وهي الشاشة السوداء التي كانت تمثل الشاشة في نظام الدوس MS DOS
بعد اختيار هذا القالب نجد في الأسفل المسار الذي سيحفظ فيه المشاريع وسيكون مسار بروفايل المستخدم
ولكن أنصح بإنشاء مجلد خاص على هارد آخر غير السي لحفظ المشاريع بدلا من الافتراضي حتى لا تضيع في حال الفرمتة وأنا أعتدت في مثل هذه الحالات أن أغير فقط الحرف الأول أي اسم السواقة وأجعلها D أو E حسب اسم السواقة الثانية غير الرئيسية فيبدو وكأني جعلت ملف بروفايلي في هارد آخر
بعد الموافقة ستظهر صفحة فيها كود مكون من أربع أسطر وفي أقصى اليمين ستظهر في نافذة مستعرض المشروع مكونات المشروع من عدة ملفات وأحدها الملف الذي تم فتحه وهو ملف Module1
أسطر الكود هي عبار عن جسم الموديول ويبدأ بـ بالكلمة المفتاحية المحجوزة Module والكلمات المحجوزة هي كلمات لها معنى خاص ضمن اللغة ولهذا يتم تمييزها بالأزرق ولا يجوز استخدامها في تعريف المتغيرات
يلي الكلمة المحجوزة اسم الموديول وكاسم افتراضي ظهر لدينا Module1 وهذا يعني أننا نستطيع إنشاء أكثر من موديول ونعطيه أي اسم نريد
كما أنه وبحسب مفهوم النطاق أو المدة الذي شرحته في الدرس : 13 - سلسلة تبسيط البرمجة – آلية المجال أو النطاق
فإن البرنامج سيكون ذو بنية مبنية على الوحدات Block وذلك لتحديد النطاق لكل بلوك على حدا
وكيف يتعرف البرنامج على حدود البلوك فلا بد من شيء يميز بداية ونهاية البلوك
ولهذا عند افتتاح أي بلوك بكلمة لا بد من وجود إنهاء للبلوك بعبار End وهي كلمة محجوزة أيضا
وفي مثالنا السابق نلاحظ أنه بلوك الموديول بدأ بالكلمة ومن ثم تم إقفال البلوك في آخر سطر بعبارة End Module
هذين السطرين يجعلان المترجم يتعرف على أن ما داخل هذا البلوك يمتلك نطاق واحد
أي أننا لا نستطيع تعريف شيئين بنفس الاسم ضمنه ولكن يمكن تعريف نفس الاسم لمتغير في هذا الموديول ومتغير في موديول آخر
وهنا تكمن فائدة الموديول أن تجعل إمكانية لتقسيم البرنامج إلى وحدات لضمان عدم اختلاط وتشابه الأسماء
نلاحظ داخل الموديول بلوك آخر ولكن هذه المرة تم استخدام الكلمة المحجوزة Sub وهي اختصار لكلمة Sub- routine وتعني إجراء فرعي وجاء اسمه بالكلمة التي خلفها Main ومن ثم قوسين والقوسين لهما غاية وهي تمييز الروتين عن المتغيرات ولكي يتم تعريف متغيرات تمرير قيم من الخارج إلى داخل بلوك الإجراء في حال استدعاء الإجراء من مكان آخر
في حالتنا هذه لا يوجد متغيرات تمرير
يعتبر هذا الإجراء هو نقطة البداية أي أن تشغيل البرنامج سيجعل التنفيذ يبدء من هذا الروتين ثم يتم تنفيذ التعليمات واحدة تلو الأخرى حتى انتهاء البرنامج
ولكن هنا الإجراء فارغ فلا يوجد تعليمات وبالتالي سيبدأ التنفيذ بدخول بلوك الإجراء ثم يخرج فورا لأن
لنجرب تشغيل البرنامج من خلال القائمة Debug>Start Debugging أو الاختصار F5
ستلاحظون ظهور نافذة سوداء ثم اختفاؤها فورا
هذه الشاشة هي شاشة الكونسول
واختفت بسرعة لأنه كما أسلفنا لا يوجد تعليمات للتنفيذ فقد دخل الإجراء وخرج منه
بهذا أقول لكم مبارك عليكم فقد برمجتم أول برنامج
برنامج لا يفعل شيئا ツ
الدرس القادم سيكون البرنامج العرفي "Hello World" إن شاء الله
بأمان الله
التعليقات