الدرس الثاني
القوائم الرئيسية:
http://www.montada.com/attachment.ph...d=178479&stc=1
القائمة الرئيسية "ملف" (المحدد في الصوره بالرقم ((1)) ) File Menu:
وتحتوي على الأوامر الخاصة بفتح وتخزين الملفات والمشاريع ومكونات المشاريع، بالإضافة للأوامر الخاصة بإضافة عناصر ـ جديدة أو موجودة على الجهاز ـ للمشروع الحالي.
--------------------------------------------------------------
القائمة الرئيسية "تحرير" (المحدد في الصوره بالرقم ((2)) )Edit Menu:
وتحتوي على الأوامر المعتادة، الخاصة بتحرير النصوص والعناصر، مثل النسخ والقص واللصق والحذف والبحث والاستبدال.. كما أنها تحتوي على أوامر متقدمة
--------------------------------------------------------------
القائمة الرئيسية "عرض"( المحدد في الصوره بالرقم ((3)) )View Menu:
وتحتوى على الأوامر التي تعرض أيا من أشرطة الأدوات ونوافذ بيئة التطوير، ولقد سبق لك استخدام القائمة الفرعية "أشرطة الأدوات" من قبل.
أما باقي القوائم الفرعية، فهي لعرض بعض النوافذ الأساسية، مثل نافذة "المخرجات" Output، وهي التي تظهر بها رسائل مترجم الكود Compiler، ونافذة "الأوامر" Command، التي يمكنك أن تكتب بها بعض الأوامر وتنفذها مباشرة ـ على سبيل التجريب.
--------------------------------------------------------------
القائمة الرئيسية "تنسيق" "( المحدد في الصوره بالرقم ((8)) ) Format Menu:
وهي لا تظهر إلا إثناء تصميم نماذج الويندوز أو نماذج الإنترنت، وهي تحتوي على الأوامر الخاصة بمحاذاة الأدوات على النموذج، كما سنرى فيما بعد.
--------------------------------------------------------------
القائمة الرئيسية "بيانات""( المحدد في الصوره بالرقم ((7)) )Data Menu:
وتحتوي على الأوامر التي تستخدم في المشاريع التي بها تعامل مع قواعد البيانات، وسنتعرف على ذلك بالتفصيل في حينه بإذن الله.
--------------------------------------------------------------
القائمة الرئيسية "مشروع""( المحدد في الصوره بالرقم ((4)) )Project Menu:
وتحتوي على الأوامر الخاصة بإضافة العناصر للمشروع، مثل النماذج والملفات والمكوّنات، بل وحتى مشاريع أخرى!
آخر أمر في هذه القائمة، هو "اجعله المشروع الذي يبدأ به التنفيذ" Set As StartUp Project، وكما هو واضح من اسمه، فهو يوضح للمترجم Compiler ـ في حالة وجود أكثر من مشروع في متصفح المشاريع ـ أيا من هذه البرامج سيتم تشغيله عند ضغط F5.
أما بالنسبة للأمرين "أضف مرجعية" و"أضف مرجعية للإنترنت"، فسنتعامل معهما في فصولٍ لاحقة.. وفي عجالة، فإنهما يستخدمان لربط البرنامج بأدوات ومكونات غير قياسية، حتى يمكن استخدامها في المشروع.
--------------------------------------------------------------
القائمة الرئيسية "تصحيح""( المحدد في الصوره بالرقم ((6)) )Debug Menu:
إن كلمة Bug في اللغة الإنجليزية تعني "البق" أو الحشرة.. وكلمة Debug تعني إزالة البق ـ من حشية الفراش مثلا ـ وأصبح هذا المصطلح يرمز لتتبع الأخطاء في البرامج واصطيادها وتصحيحها.. وسنختصر هنا كل هذه الحدوتة بترجمة كلمة Debug إلى "تصحيح الأخطاء" واختصارًا إلى "تصحيح".
منطقيٌّ الآن أن تستنتج أن هذه القائمة الرئيسية تحتوي على الأوامر اللازمة لتصحيح البرنامج، بالإضافة للأوامر اللازمة لتشغيله وإيقافه، فلن يمكنك اكتشاف الأخطاء بالطبع بدون تجريب البرنامج!
--------------------------------------------------------------
القائمة الرئيسية "بناء""( المحدد في الصوره بالرقم ((5)) )Build Menu:
وهي تحتوي على الأوامر اللازمة لترجمة Compiling (بناء Building) برنامجك.
إن الكود الذي تكتبه هو مجرد سطور من الكلمات ليس لها أي معنى إلا داخل لغة VB.NET.. لهذا نحتاج لبناء البرنامج، بمعنى أن نحول هذه السطور من مجرد كلمات إلى شفرة يمكن تشغيلها على نظام التشغيل، حتى دون وجود VB.NET على الجهاز.
هذا هو دور المترجم Compiler، الذي يقوم بتحويل سطور الكود من اللغة التي كتب فيها إلى لغة ميكروسوفت الوسيطة Microsoft Intermediate Language (MSIL)، وكتابة الناتج في ملف تنفيذي Executable File له الامتداد (.EXE)، حيث يمكنك تشغيله من خارج اللغة كأي برنامج عادي.
--------------------------------------------------------------
القائمة الرئيسية "أدوات" "( المحدد في الصوره بالرقم ((9)) )Tools Menu:
وتحتوي على العديد من الأدوات، التي تستخدم معظمها في لغة C++.
ومن ضمن الأدوات المتاحة، الوحدات النمطية Macros، وهي تمنحك نفس القدرة المتاحة في تطبيقات Office، على أن تبسّط وظائف بيئة التطوير، بوضع المهام كثيرة التكرار في وحدة نمطية تنفذها آليا.
--------------------------------------------------------------
القائمة الرئيسية "نافذة" "( المحدد في الصوره بالرقم ((10)) )Window Menu:
وهي قائمة قياسية تجدها في أي تطبيق ويندوز عادي، وهي تحتوي على أسماء النوافذ المفتوحة داخل البرنامج، حيث يمكنك التنقّل بينها بضغط اسم أيٍّ منها.
كما أنها تحتوي على الأمر "إخفاء" Hide، الذي يقوم بإخفاء جميع مربعات الأدوات، ليخصص مساحة بيئة التطوير كلها لمحرر الكود أو مصمم النماذج.. وهذا الأمر لا يخفي مربعات النصوص نهائيا، بل يجعلها تنكمش إلى أشرطةٍ صغيرة على جانبي الشاشة، حيث يمكنك إظهارها بمجرد المرور بالفأرة على هذه الأشرطة.
--------------------------------------------------------------
القائمة الرئيسية "استعلام (مساعدة)" ( المحدد في الصوره بالرقم ((11)) )Help Menu:
وتحتوي على خيارات المساعدة المتنوعة ومنها:
الأمر "المساعدة الفعّالة" Dynamic Help:
يؤدّي لظهور نافذة المساعدة الفعّالة، وهي تُظهر لك تلقائيًا مواضيع الاستعلام التي تتعلق بالعملية التي تقوم بها حاليا.
الأمر "فهرس" Index:
يظهر لك فهرس مواضيع الاستعلام، حيث يمكنك كتابة عنوان أي موضوع، ليعرض لك شرحه.
الأمر "محتويات" Contents:
يعرض لك شجرة مواضيع الاستعلامات، لتختار منها ما تشاء.
الأمر "بحث" Search:
يعرض لك نافذة البحث، حيث يمكنك أن تكتب أي كلمة، ليتم البحث عنها في عنوان أو شرح أي موضوع.
--------------------------------------------------------------
--------------------------------------------------------------
أنواعُ المشاريع:
يمكنك أن ترى كلَّ أنواعِ المشاريعِ المتاحةِ ـ بخلافِ تطبيقات ويندوز ـ في مربع حوار "مشروع جديد"، وهي كالتالي:
مكتبة الخلايا Class Library:
وهي مكوّن أساسيّ لبناء الكود، ليس لها واجهة مرئيّة، ولكنّها تؤّدى وظائف معيّنة لبرنامجك.
وباختصار، فإنَّ الخليّة هي مجموعةٌ من الدوالّ والإجراءات التي يمكنُ إعادة استخدامها في أيّ مشروع، بحيثُ يوفّر المبرمجُ على نفسِه مشقّةَ إعادة كتابتها مرة أخرى.
--------------------------------------------------------------
مكتبة أدوات تحكم ويندوز Windows control library:
إنّ أدة ويندوز ـ أو الأداة على سبيل الاختصار ـ هي عنصر أساسيٌّ في واجهة البرنامج، مثل مربع النص أو الزر.
فإذا ما وجدتَ أنَّ الأدواتِ التي يمنحُها لك VB.NET ـ وهي التي تظهر في مربع الأدوات تلقائّيا ـ لا تمنحُكَ الوظيفةَ التي تريدُها، ففي هذه الحالةِ يمكنُكَ أن تبنيَ الأدواتِ الخاصّةَ بك.. إنَّ هذا يبسّطُ عملَكَ فيما بعد، حيثُ لن تُضيعَ المزيدَ من الوقتِ والجهدِ في تصميمِ أجزاءٍ من واجهاتٍ تتكرّرُ كثيرًا.
بل يصلُ بك الأمرُ ـ لو كنتَ خبيرًا في تصميمِ الأدواتِ الخاصّة، إلى أنّك تستطيعُ بيعَها للشركاتِ والمبرمجينَ الآخرين.. إنَّ صفحاتِ مجلاتِ الكمبيوتر تزخرُ بالإعلاناتِ للعديدِ من الأدواتِ الخاصّةِ المتطوّرة، التي تُكملُ عملَ الأدواتِ الأصليّة.
--------------------------------------------------------------
خدمة ويندوز Windows service:
وهو الاسم الجديد لـ Services NT القديمة.. وهذا النوع من المشاريع، ما هو إلا برامج طويلة التشغيل تعمل في خلفية نظام التشغيل، دون أن تعرض واجهةً مرئية.. ويمكن لهذه الخدمات أن تعملَ تلقائيًّا بمجرد تشغيل الجهاز، كما يمكن إيقافها لفترةٍ ثم إعادة تشغيلها.
إن البرنامج الذي يتفاعل الملفات على الجهاز ويغيرها، هو مرشح رئيسيّ لأن يكون خدمة ويندوز، حيث يمكن لهذه الخدمة أن تؤدي بعض العمليات، فور أن ينقل المستخدم بعض الملفات إلى مجلد معين، كأن تنسخ الملفاتِ أو تقرأ محتوياتها، أو تحدّث محتويات قاعدة بيانات... وهكذا.
------------------------------------------------------------
تطبيق الاختبار Console application:
وهو تطبيقٌ ذو واجهةِ استخدامٍ محدودة جدًا، هي أقربُ ما تكونُ لشاشةِ الدوس DOS السوداء، حيثُ يتمُّ فيها إخراجُ النواتجِ وإدخالُ البيانات، على سبيل اختبارها.
------------------------------------------------------------
تطبيق الإنترنت ASP.NET Web Application:
إن تطيبق الإنترنت هو واحد من أكثر السمات الجديدة في VS.NET إثارةً، وهو عبارة عن برنامج يمكن تشغيله على شبكات الإنترنت، يمكن طلب خدمات معينة منه عن طريق متصفحات الشبكة.. وأوضح مثال لذلك، هو محل كتبٍ يعرض ويبيع على الإنترنت.
ويجب على التطبيق الذي يعمل على الإنترنت أن يستقبل طلبات العملاء، ويردّ عليها في صورة صفحة من صفحات الإنترنت HTML.
ومثل هذه التطبيقات ليست بجديدة، ولكن الجديد هو أن ASP.NET صار يعزل المبرمج عن كثيرٍ من تفاصيل بنائها، مانحًا الكثير من السهولة والسرعة، ومحولا العملية إلى ما يشبه كثيرا بناء تطبيقات ويندوز التقليدية.
وسنناقش بالتفصيل خدمات وتطبيقات الإنترنت في آخر جزء من هذا الكتاب إن شاء الله.
-----------------------------------------------------------
خدمة الإنترنت ASP.NET Web Service:
وهي لا تكافئ بحالٍ خدمات ويندوز، بل هي عبارةٌ عن برنامجٌ يعملُ على خوادم الإنترنت Internet Servers لاستقبال الطلبات، تمامًا مثل تطبيق الإنترنت، ولكن دونَ أن يرد بصفحةٍ من صفحات الإنترنت، بل يرسل ناتجَ العملية الحسابية، أو المعلومات المطلوبة من قاعدة بياناتٍ ما، وعادةً ما تُطلب هذه الخدمات من قبل خادم إنترنت آخر، حيث سيتولّى هو التعامل مع البيانات.
ولتوضيح الفارق نضربُ هذا المثال:
إن تطبيق الإنترنت الذي يتلقى منك استعلامًا عن كل كتب (توفيق الحكيم) سيعرض لك صفحةً عليها أسماء هذه الكتب.. أما خدمة الإنترنت التي تتلقى منك نفس هذا الاستعلام، فسترسل إليك ملف XML يحتوي على أسماء الكتب المطلوبة، حيثُ يمكن لتطبيقك في هذه الحالةِ أن يتعامل مع البيانات ويعرضها في صفحةٍ جديدةٍ بالشكل الذي تريده، ويرسلها للمستخدم الذي تريده، أو ربما تعرضها على نموذج ويندوز عاديّ.
-----------------------------------------------------------
مكتبة أدوات تحكم الإنترنت Web Control library:
كما أنك تستطيع أن تبني أدوات الويندوز الخاصة بك لتستخدمها على نماذج ويندوز، تستطيع أيضًا أن تبني أدوات الإنترنت الخاصة لتستخدمها على نماذج وصفحات الإنترنت.
-----------------------------------------------------------
مشاريع أخرى:
أما القوالبُ الثلاثة المتبقية في مربع حوار "مشروع جديد"، فهي:
1- مشروع فارغ Empty Project.
2- مشروع إنترنت فارغ Empty Web Project.
3- مشروع جديد في مجلد موجود New Project In Existing Folder.
وهي ليست أنواع مشاريع بالمعنى الفعليّ، بل مجرد طريقة لتنظم مشاريعك الجديدة بنفسك، فحين تختارُ واحدا منها، ينشئ VS.NET مجلدا جديدا يحمل اسم المشروع، وينشئ فيه بعض الملفات القليلة التي يحتاجها البرنامج من هذا النوع.. وعلى عكس الأنواع الأولى ـ حيث تقومُ VS.NET بإنشاء عناصر افتراضيّةٍ والملفاتِ اللازمة لها، كإنشاء نموذج مبدئي في تطبيق ويندوز، وإنشاء أداة المستخدم في تطبيقات أدوات ويندوز ـ تحمّلك هذه الأنواع الثلاثة مسئولية إنشاء وإضافة ما يلزمك من العناصر والملفات.