رمز فتح مرحلة هذا الدرس في تطبيق طورني : SND
تَعلُمُ البرمجةِ للمبتدئينَ كلياً بواسطةِ #C – ملفات المشروع ومخرجاته
>>>تحميل مشروع الدرس<<<
هيكلية المشروع
السلامُ عليكم ورحمةُ اللهِ وبركاته، وأهلاً بكمْ في الدرسِ السابعِ من دروسِ سلسلةِ، تَعلُمِ البرمجةِ للمبتدئينَ كلياً بواسطةِ السي شارب، في هذا الدرسْ سنتكلمُ عن كيفيةِ تنظيمِ ملفاتِ العمل، وكيفَ أنَّ البرنامجَ يقومُ بتنظيمها، تحتَ مشروعْ Project وتحتَ Solution، وسنتعرفُ أيضاً على كيفيةِ إيجادها على الـ Hard Disk Drive، وسنشاهدُ لمحةً عن محتوياتِ هذهِ الإعدادات. فعندما نقومُ بإنشاءِ مشروعٍ جديد، يقومُ برنامجُ الـ Visual studio تلقائياً بتهيئةِ المشروع، حيثُ يقومُ بإنشاءِ جميعِ الإعداداتِ والملفاتِ والمصادرِ المهمة، الخاصةِ بالنوعِ الذي اخترناه، فإعداداتِ مَشروعِ الـ Web Development، تختلفُ عنْ إعداداتِ مشروعِ الـ Console، وهكذا.
نافذة Solution Explorer
حيثُ أنَّ أهمَّ ملفٍ في مشروعنا الأولِ هو ملفُ Program.cs، الذي نراهُ في وَسطِ الشاشة، فإذا نَظرتَ إلى القِسمِ الأيمنِ مِنَ الشاشة، ستجدُ قائمةَ Solution Explorer، تحتوي على كافةِ عناصرِ المشروعِ، وهذهِ القائمةُ تعتبرُ أهمَّ نَافذةٍ بعدَ مُحررِ النصوص، وستلاحظُ أنَّ هناكَ ملفاً يحمل الاسم Program.cs، وهوَ الملفُ الذي قمنا بكتابةِ أسطُرِنا الأولى عليه، حيثُ إنْ قمتَ بإغلاقِ شاشةِ الملفِ الموجودِ في وسطِ الشاشة، يمكننا فتحهُ منْ جديدٍ بالضغطِ على اسمهِ في قائمةِ المشروع. وستلاحظُ أنَّ الـ Solution الخاصَّ بنا، يحتوي على Project واحدٍ فقط، واسمُهُ HelloWorld وأنهُ مِنَ النوعِ #C، وبإمكانكَ إضافةُ عِدةِ مشاريعٍ تَحتَ Solution واحد، فالـ Solution هُوَ الحاويةُ لجميعِ المشاريعِ المترابطةِ ببعضها، وهوَ أكبرُ مِنَ المشروعِ Project، فإن قمنا مثلاً بالضغط على اسمِ الـ Solution بالزرِّ الأيمن، واخترنا Add –> New Project، سنتمكنُ مِنْ إضافةِ مشروعٍ جديد، مع إمكانيةِ تغييرِ نوعِ المشروعِ الجديدِ بلْ حتى تغييرَ لُغةِ بَرمجته.
مجلد ملفات المشروع
بَعدَ التعرُفِ على نافذةِ الـ Solution Explorer، لعلكَ تتساءلُ حولَ مكانِ ملفاتِ هذا المشروعِ على الـHDD ، ولمعرفةِ ذلكَ يجبُ عليكَ تَذكُرُ مَسارِ المشروع، وهُوَ المكانُ الذي قمنا باختيارِهِ عِندَ إنشاءِ المشروع، حَيثُ لو تَذكرْ أننا قُمنا في مَشروعنا الأول، باختيارِ إنشاءِ مُجلدِ المشروعِ في المسارِ الافتراضيِّ للبرنامج، ألا وهوَ مُجلدُ My Document الموجودُ في جهازنا، ولو قُمنا بالذهابِ هناك، ستجدُ مجلداً باسمِ البرنامجِ مَعَ رَقمِ إصداره، كما هو ظاهِرٌ عنديْ هنا: Visual Studio 2017 ، إن قمتَ بفتحهِ ستجدُ مجلداتٍ كثيرة، سنختارُ مُجلدَ Projects منها، لنَجِدَ مُجلدَ المشروعِ الخاصِ بنا،
وتَجدُرُ الإشارةُ هنا إلى أنهُ مِنَ الأفضل، أنْ تَقومَ بإنشاءِ مُجلدٍ خاصٍ يحتوي على كلِّ مشاريعك، حيثُ تَقومُ بفرزِ مَشاريعِكَ المستقبليةِ حَسبَ نوعها، والأفضلُ أنْ تضعُهُ في Drive غير الـ OS Drive، لضمانِ سلامتهِ في حالِ حُدوثِ أيِّ خَلَلٍ في نظامِ التشغيلِ الذي تمتلكه. أما الآنْ ولهدفِ الدراسةِ والتعلم، فلا بأسَ في وضعِ المشاريعِ في المكانِ الافتراضيِّ للبرنامج، وأيضاً سيكونُ المكانُ الذي ستقومُ بنقلِ المشاريعِ التي قمتُ بكتابتها، لتقارِنَها بتطبيقكَ في حالِ حدوثِ أيِّ مشكلةٍ عندك، حيثُ كما ذكرتُ في بدايةِ السلسلة، أني سأقومُ بإرفاقِ ملفاتِ العملِ مَعَ النسخةِ النصيةِ للدرس، ولكيْ تقومَ بفتحِ الملفِ يُمكننا أخذَ المثالِ التالي، فبعدَ تَحميلِ الملفِ قُمْ بفكِ ضغطه، وقمُ بوضعِ المجلدِ الناتجِ بجانبِ المشاريعِ الأخرى، وقم بالرجوعِ إلى البرنامج، ومنْ قائمةِ File –> Open –> Project/Solution، قُم باختيارِ المشروعِ المستهدف، وتأكدْ مِن فتحِ الملفْ .sln الخاصِ به، وسيظهرُ لكَ المشروعُ بملفاتهِ الرئيسية.
محتوى ملف المشروع
بالعودةِ إلى مُجلدِ المشاريع، ستجد مجلد HelloWorld ، الخاص بالـ Solution الذي قمنا بكتابتِه في تطبيقِنا الأول، بالدخولِ إليه ستجدُ ملفَ HelloWorld.sln وهو ملفُ المشروعِ الكامل، إن قمتَ بفتحِه بأيِ محررِ نصوص، مثلَ الـ Notepad ++، ستجدُ أنهُ يحتوي على معلوماتٍ خاصةٍ بهيكليةِ المشروع، بالطبعِ لن نقومَ بتعديلِ أيِ شيءٍ هنا، لكن من بابِ الإحاطةِ بالشيء، أحببتُ أنْ أريكَ محتوياتِ هذا الملف، وبالمثلِ أيضاً إن قمتَ بالدخولِ إلى مجلدِ المشروعِ Project، سنجد ملفَ HelloWorld.csproj، وهو الملفُ الذي يحتوي على كافةِ إعداداتِ المشروعِ أيضاً، قم بفتحِه وستجدُ العديدَ من المعلومات، لن نقومَ بتعديلِ أيِ شيءٍ، ولكن من بابِ الإحاطةِ بالشيءِ أيضاً.
مخرجات المشروع
وأخيراً ستجدُ مجلداً يحملُ الاسمَ Bin، اختصاراً لكلمةِ Binary، وستجدُ جميعَ مخرجاتِ المشروعِ هنا، لأن عمليةَ البناء Process of Compilation، تأخذُ أسطرَك البرمجيةِ المقروءةِ للبشر، وتقوم بتحويلِها إلى صيغةٍ مفهومةٍ للحاسوب. إن قمتَ بتصفحِ المجلدِ سنجدُ أن هناك مجلداً أخراً يحملُ الاسمَ Debug، ويظهرُ هذا المجلدُ في حالِ قيامِك بتنفيذِ التطبيقِ من داخلِ البرنامج، حيث أن هناك وضعيتين للمخرجات، الأولى هي وضعيةُ اكتشافِ الأخطاءِ Debug Mode، حيث يقومُ البرنامج ُببناء ِالتطبيق، وتخصيصِه لإمكانيةِ اكتشافِ الأخطاءِ ومتابعتِها، والوضعيةُ الثانيةُ هي وضعية ُالنشرِ Release Mode، وهي النسخة ُالنهائيةُ الجاهزةُ للتصدير، سنتكلم عن الوضعيتين أكثرَ في الدروس المتقدمة.
الآن عند الدخولِ إلى مجلدِ الـ Debug، ستجدُ أن هناك ملفاً تنفيذياً اسمُه HelloWorld.exe، وهو من النوعِ exe المختصرِ من Executable File، لو قمتَ بتشغيلِه ستجدُ نفسَ مخرجاتِ ما كان يظهرُ في داخلِ البرنامج. هذا الملفُ تقريباً يمكنك نقلَه لأيِ جهازٍ آخر، مع ملاحظةِ أنه نسخةُ Debug Version، فإنْ قمتَ بنقلِ هذا الملفِ إلى جهازِ صديقك، سيعملُ غالباً منْ غيرِ مشاكل، مَعَ مراعاةِ أنَّ هذا النوعَ خاصٌ بنظامِ التشغيلِ ويندوز.
ويجبُ التنويهُ هُنا، أنَّ هذهِ الأنواعِ تعتبرُ في بعضِ الأحيانِ خطرة، فتأكدْ مِنْ خُلوِ الملفِ مِنَ الفايروساتِ قبلَ فتحه، لأنَّ العديدَ منَ القراصنةِ يَستخدمونَ هذه الأنواع، لسهولةِ وخفةِ حجمها، ويُمكنكَ عَملُ Scan لهُ بواسطةِ أيِّ بَرنامجِ حماية، أو إستخدامِ موقع virustotal.com، في حالِ عِدمِ امتلاكِكَ لأيِّ برنامجِ حماية، كانتْ هذهِ لمحةٌ عنْ هيكليةِ الملفاتِ الخاصةِ بِكلِ مشروع، أتمنى أن تكونَ قدْ استفدتَ منها، أراكَ في الدرسِ التالي إن شاء الله.
مصطلحات الدرس :
Solution : الحل البرمجي وهو أعلى وأكبر حاوية للمشروع، ويمكن أن يتكون من أكثر من Projects
Project : المشروع الذي نقوم بتطويره ويكون تحت Solution واحد فقط
Hard Disk Drive : القرص الصلب ويسمى إختصاراً HDD والذي يحتوي على جميع ملفات النظام والمشاريع
Web Development : تطوير تطبيقات الويب ممثلة بصفحات الويب ومواقعه
Console : شاشة سوداء تطبع أسطر متتالية وتتميز بسهولتها وقوة أداءها
Program.cs : هو الملف الرئيسي الذي نقوم بكتابة أسطرنا البرمجية الأولى عليه ويحتوي على الدالة الرئيسية Main
Solution Explorer : نافذة تقوم بعرض جميع مكونان الحل البرمجي، من مشاريع ومكتبات ودوال
OS Drive : قرص ال HDD الذي يحتوي على نظام التشغيل Operating System
SLN : هو إمتداد الملف Extension الخاص بالمشروع Solution
Process of Compilation : عملية تحويل الأسطر البرمجية التي تقوم بكتابتها إلى تطبيق مخرجات ( EXE أو حسب نوع المشروع) يمكن نشره للزبائن.
Debug : عملية إستكشاف الأخطاء
Debug Mode : نظام مخرجات ومعالجة يحتوي على معلومات إضافية من هدفها إستكشاف الأخطاء وإعطاء تقارير
Release Mode : نظام مخرجات نهائي يتم إرساله للزبائن مباشرة
EXE : ملف تنفيذي Executable File يعمل على نظام Windows
Virus Total : موقع إلكتروني يمكنك رفع ملفات لإستكشاف إن كانت تحتوي على برامج خبيثة؟
شكراً استاذنا ولكن هناك مشكل المشروع المحمل لايفتح في الاصدارات القديمة مع وجود رسالة عند فتحه تؤكد ذلك
شكراً على التنبيه.
بارك الله فيك
شرح مميز
كيف أقوم بتحميل الملف ؟ لم أفهم هذهِ النقطة ! الرجاء توضيحها ولو برسالة ، وشكرًا جزيلًا .
يمكنك نسخ الأسطر البرمجية ولصقها مباشرة في مشروعك.
السلام عليكم ورحمة الله وبركاته انا بدأت الورس معك واصبحت الان في الدرس السابع
اسال الله ان يبارك فيك ولك على ما تقدمه لنا وان ينفعنا
وجزاك الله خيرا
طالبك عبد الله ادلبي من سوريا
وعليكم السلام ورحمة الله وبركاته، حياك الله وأهلاً بك
الله يسعدك سعادة في الدارين
لكن ما ادري ليه مايفتح المشروع
الرجاء وضع صورة للمشكلة في ديسكورد المنصة هنا :
https://discord.gg/da68ADF
يا أستاذ أنا وصلت معاك للدرس السابع ولكن ما قدرت أحفظ المشروع لأني ما لقيت مكان البروجكت بـ document ونسخة البرنامج الي عندي 2019 أيش المشكلة؟
السلام عليكم /استاذي العزير لدي مشروع وندوز ابلكيشن سي شارب اشتغلته وقاعدة بيانات اس كيو ال قبل ان اقوم بتحويله الى تنفيذي انضرب على الجهاز مع العلم انه كنت قد انجزته كليا ولم يوجد فيه اي اخطا او مشاكل الحمد لله لدي نسخه لكن عندما اتيت لفتحها على جهاز اخر يطلع لي غلط بعمليه الدخول ليس هنا المشكله المشكله انه كلما عدلت على الكود ينفذ بدون اي حسبه لما تم تعديله يعني لو اعدل داله الدخول يظهر لي رساله الكتش التي قد قمت بتغييرها سابقا وكانه محتفظ بحالتة الساابقه في الجهاز الاول
السلام عليكم /استاذي العزير لدي مشروع وندوز ابلكيشن سي شارب اشتغلته وقاعدة بيانات اس كيو ال قبل ان اقوم بتحويله الى تنفيذي انضرب على الجهاز مع العلم انه كنت قد انجزته كليا ولم يوجد فيه اي اخطا او مشاكل الحمد لله لدي نسخه لكن عندما اتيت لفتحها على جهاز اخر يطلع لي غلط بعمليه الدخول ليس هنا المشكله المشكله انه كلما عدلت على الكود ينفذ بدون اي حسبه لما تم تعديله يعني لو اعدل داله الدخول يظهر لي رساله الكتش التي قد قمت بتغييرها سابقا وكانه محتفظ بحالتة الساابقه في الجهاز الاول
سلام عليكم الستاذ اسامه انا لما كنت اعمل البرنامج الي طلبته في درس الجمله الشرطيه كلشي تملم بس لما اكتب اول (eles if) يطلع خط احمر فوق القوس الخاص بقطة الجمله if شلازمم اسوي حتى احل المشكه ارجوا الرد
السلام عليكم استاذي العزيز عندي مشكلة في يونتي و الدسكورد لا يفتح عندي
استاذ اسامه بارك الله فيك ولكن ملف البروجكت الي هو hello world م لقيته في الملفات و الملف الي حملته كيف احمله هل فيه له رابط ؟؟ وشكرا