الزعيم المدير العام
المزاج : المهنة : الجنس : عدد المساهمات : 2319 نقاط : 18645 تاريخ التسجيل : 17/05/2009 العمر : 49 إحترام القوانين :
| موضوع: دروس مباشرة في البرمجه بلغة C#2005 الدرس الاول الأربعاء 28 سبتمبر 2011 - 23:25 | |
| الدرس الاول
مفهوم لغات البرمجة
منذ بداية ظهور الكهرباء وتطورها , ظهرة فكرة معالجة التيار الكهربائي والإستفادة منه
فمثلاً المصباح يأخذ الكهرباء ويعالجها "يحولها" إلى ضوء
والراديو يأخذ الكهرباء ويحولها إلى صوت .. وهكذا
وبالتالي فإن أي عمل مع الكهرباء يحتاج إلى ثلاثة أشياء مهمة
1- مدخلات "تيار كهربائي".
2-معالجة "تحويل التيار إلى ضوء , صوت....".
3-مخرجات "ضوء , صوت ....".
بالإضافة إلى جهاز التحويل "المصباح , الراديو"
الحاسوب لا يخرج عن هذه القاعدة فهو يحتاج إلى مدخلات ليعالجها ويحولها إلى مخرجات
مثلاً عندما تضغط اي زر في لوحة المفاتيح , فإن تيار كهربائي يتولد وينطلق بإتجاه المعالج
المعالج بدوره يحول هذا التيار إلى تيار مختلف ينطلق نحو الشاشة ويظهر الحرف
قد يتسائل البعض كيف يفرق المعالج بين زر وآخر في لوحة المفاتيح , فجميع الأزرار تطلق تيار كهربائي
وهذا هو أساس العمل في الحاسوب , حيث أن معالج الكمبيوتر لا يستقبل تيار مستمر
كما في المصباح , أو في الراديو , أو في أي جهاز كهربائي
وإنما معالج الكمبيوتر يستقبل تيار متغير ,
للتوضيح نفرض أن العدد 1 يمثل مرور تيار والعدد 0 يمثل عدم مرور التيار
عندما يكون المصباح مطفأ يكون التيار الذي يستقبله هكذا
0000000000000000
أما عندما نضيئ المصباح فإن التيار يكون هكذا
1111111111111111
وهكذا مع الراديو و المكواه و.و.و.
لكن في الحاسوب يختلف شكل التيار لأنه يكون متغير فيكون شيئاً هكذا
110001010100011110101000111010101001
وهذه هي الطريقة التي يفرق المعالج حرف عن حرف آخر فالتيار الذي يمثل حرف الواو مثلاً يكون هكذا
11001010 وحرف الطاء يكون هكذا 10111010 وحرف النون يكون هكذا 01010011
وبالتالي فإن كلمة وطن ستكون هكذا
010100111011101011001010
ولا ننسى أن معنى 0 عدم مرور تيار و معنى 1 مرور تيار وبإفتراض أن سرعة قراءة المعالج لرقم هي ثانية واحد
فأن التيار الكهربائي الذي يمثل حرف الواو 11001010 سيكون هكذا:
في البداية ينقطع التيار لفترة ثانية ثم يمر التيار لمدة ثانية
ثم ينقطع لمدة ثانية ثم يمر لمدة ثانية ثم ينقطع لمدة ثانيتين ثم يمر لمدة ثانيتين
أي أن المعالج سيستغرق ثمان ثواني لقراءة حرف الواو
في المثال السابق افترضنا أن سرعة المعالج هي ثانية لكنها في الحقيقة أسرع بكثير
ومن هنا أعتقد انا فهمنا ما معنى سرعة المعالج "هي سرعة قراءته للرقم الواحد"
والرقم الواحد سواءاً كان 1 أو 0 يسمى "بت" Bit
فعندما تكون سرعة المعالج 3200 يعني أنه يقراً 3200 ميجا بايت في الثانية الواحدة
والميجا يحتوي على 1024 كيلو بايت والكيلو بايت يحتوي على 1024 بايت
والبايت يحتوي على 8 بت
يعني أن هذا المعالج يقراً 26843545600 بت في الثانية الواحدة
يعني أنو بيقرأ حرف الواو في مدة 0.000000000037 من الثانية
والآن بعد أن عرفنا كيف يقرأ الكمبيوتر الكلمات بقي أن نعرف كيف ينفذ الكمبيوتر الأوامر المطلوبة منه.
كان الحاسوب في بدايته يستقبل الأوامر كتيار كهربائي مثل ما رأينا سابقاً
لكن هذه الطريقة غير عملية , فإذا أردنا أن نأمر الكمبيوتر بأن يطبع كلمة وطن على الشاشة
فسيكون الأمر شبيهاً بهذا 01010011101010101011010100111011101011001010
فهذه هل اللغة التي يفهمها الحاسوب , لكنها لغة صعبة الفهم على الإنسان
لذلك ظهر ما يسمى بلغات البرمجة " وهي لغات قريبة من لغة الإنسان ويفهما الحاسوب"
حيث أن لغات البرمجه سهلت التعامل مع الحاسوب وأصبح من الممكن إصدار الأوامر للحاسوب هكذا
كود: Print "وطن" وحيث أن الحاسوب لا يفهم هذه اللغة يوجد ما يسمى بالمترجم , وهو برنامج ملحق بلغة البرمجة
وظيفته قراءة الأوامر المدخلة وتحويلها إلى تيار يفهمه المعالج , لكن عملية الترجمة تتم بشكل غير ظاهر
فما على المبرمج إلا أن يكتب الأوامر ويشغل البرنامج .. والمترجم يقرأ Print "وطن" ويحولها إلى
01010011101010101011010100111011101011001010 ويرسلها إلى المعالج..
مفهوم الكائنات
في لغات البرمجة كل شيئ يعتبر كائن له صفات وله أفعال كأي كائن في الوجود
فمثلاً السيارة كائن له صفات "مثل اللون والشكل وعدد الإطارات...." وله أفعال مثل "السير , التوقف, ..."
لا حظوا أن الأفعال قد تكون من الكائن نفسه "السير" و قد تكون من كائن آخر
في الحاسوب أيضاً الأمر لا يختلف فكل شيئ يعتبر كائن له صفات وأفعال
فمثلاً هذا المنتدى كائن له صفات وأفعال
وزر"إقتباس" تحت هذه المشاركة هو كائن له صفات مثل اللون
و الكلام المكتوب عليه و الحجم... وله أفعال مثل أنه يعمل رد جديد مع إقتباس الرد الحالي...
و صندوق النص في آخر هذه الصفحة عند الرد السريع ,
يعتبر كائن له صفات كاللون وله أفعال كإرسال الرد إلى قاعدة بيانات المنتدى..
وزر ابدأ أو Start في الوندوز هو كائن وشريط المهام Task Bar هو كائن يحتوي على كائن آخر "زر ابدأ"
إذن يمكن لكائن أن يحتوي على عدة كائنات فالسيارة كائن يحتوي على كائن آخر وهي الإطارات مثلاً
التطبيق
بعد تنصيب البرامج أفتحوا مجلد CS اللي عملتوه في القرص D
وداخل المجلد CS اعملوا مجلد جديد اسمه Projects
من سطح المكتب أفتحو ايقونة برنامج بيئة التطوير وهذا شكلها:
بعد ما يفتح معاكم برنامج البيئة بيظهر لكم زرين في الوسط هكذا :
إذا لم تظهر الصورة ممكن تشوفوها هنــا
اضغطوا على زر New Solution المعلم عليه بالأحمر
بتظهر لكم هذه النافذة:
اضغطوا على إشارة + الموضحه في رقم 1 وبعدين أضغطوا علىwindows applications كما في رقم 2
ويعدين أنقروا على Windows Application كما في رقم 3 , عند صندوق اسم المشروع أكتبوا
MyMediaPlayer كما في رقم 4 وبعدين أنقروا على الزر في رقم 5 وإختاروا مجلد Projects
اللي عملتوه داخل مجلد CS في القرص D وبعدين انقروا على زر Create في رقم 6
بتظهر لكم نوافذ المشروع وفيها شفرة المشروع الإفتراضية , تحت نافذة الشفرة انقروا على زر Design كما في الصورة
بتظهر أمامكم هذه النوافذ:
في اليسار انقروا على Windows Forms كما في رقم 1 بتظهر لكم جميع الكائنات اللي نحتاجها في البرامج
وفي الوسط بتظهر لكم نافذة فارغة نسميها Form وهذه النافذة هي النافذة الرئيسية للمشروع
ولا ننسى إن هذه النافذة تعتبر كائن لها صفات مثل إسمها " MyMediaPlayer" ولها أفعال مثل ما راح نشوف بعدين
على اليسار فيه جدول وهذا هو جدول صفات الكائنات ومن خلاله ممكن نغير أي صفة من صفات الكائن
أيش رأيكم لو نغير لون الفورم إلى الأزرق.. نروح على جدول الخصائص وندور على خاصية BackColor
ننقر على الصندوق اللي قدامها بتظهر لنا قائمة ألوان , نختار منها أي لون وليكن الأزرق
نلاحظ أن لون الفورم تغير , يعني أن احنا غيرنا صفة من صفات هذا الكائن
الآن رجعوا الكائن للونه الطبيعي
فيه صفة أيضاً مهمة إسمها Text دوروا عليها في جدول الصفات عند رقم 2
حتلاقوا مكتوب أمامها MyMediaPlayer
أمسحوها وأكتبوا بدلها "مشغل الصوت والفيديو".
ملاحظة: لسهولة الوصول إلى الصفات ممكن نرتب الصفات بالترتيب الأبجدي بالضغط على زر الترتيب في أعلى جدول الصفات
من نافذة الأدوات على اليسار انقروا على صورة الزر الكتوب قدامه Button
واستمروا في الضغط واسحبوا الماوس لفوق الفورم الفاضي
يعني اعملوا سحب للزر وافتلتوه فوق النافذة الفاضية بيكون شكل النافذة هكذا:
ممكن تغيروا حجم أو موقع الزر زي ما تحبوا , الآن تأكدوا من إختيار الزر و روحوا على نافذة الصفات
دوروا على صفة اسمها Text وأكتبوا بدل button1 أكتبوا "ترحيب".
لاحظوا أنا غيرنا صفة من صفات الزر , ولكن كيف نغير من أفعال الزر لأنه كائن ولا بد له من أفعال
والزر يمكن أن يفعل أي شيء لكنا نريده أن يظهر رسالة ترحيب ..
للذهاب إلى أفعال الزر أنقر نقراً مزدوجا Double Click على الزر , ستظهر لك نافذة الشفرة :
وينتقل مؤشر الماوس إلى مكان بين حاصرتين مكتوب فوقة void Button1Click...
ومعنى هذا أن المعالج عند ضغط الزر سينفذ الأوامر المكتوبة بين الحاصرتين
لا تهتم للشفرة المكتوبة فوق ولا تعدل فيها أبدأ فهي مهمه لتشغيل البرنامج
الآن بين الحاصرتين يجب أن نكتب الأمر الذي يظهر الرسالة وهذا الأمر هو
كود: MessageBox.Show("مرحباً بكم إلى سي شارب"); لنشرح الأمر , أولا MessageBox هو كائن في لغة البرمجة يمثل إظهار رسالة
و Show هو كائن أخر داخل كائن MessageBox ويقوم بطباعة الرسالة على الشاشة
وكلمة "مرحباً بكم إلى سي شارب" تعتبر مدخل للكائن وهو يعالج الأمر ويخرج الرسالة على الشاشة
لاحظ أن الأمر MessageBox.Show يعني أظهر رسالة , ولكن المعالج لن ينفذة لأنه لا يعرف ماذا يكتب في الرسالة
لذلك يجب فتح قوس وكتابة الرسالة بين علامة إقتباس , والقوسين تعني أن بينهما مدخلات ,
أما علا مة الأقتباس فهي مهمة لأنه بدونها سيعتبر المترجم أن مرحباً بكم إلى سي شارب هي جزء من الأمر
ولا يفهم هذا الأمر لذلك لن يعمل البرنامج ويجب أن تكون الرسالة بين علامتي أقتباس حتى يتجاوزها المترجم
في نهاية السطر يجب كتابة الفاصلة المنقوطه ختى نخبر المترجم أن هذه هي نهاية السطر وينتقل إلى السطر التالي
ملاحظة: يجب أن تكون حذراً جداً عند كتابة الشفرة فزيادة نقطة أو حرف تجعل المترجم يرتبك ولا تشغل البرنامج
وأيضاً يجب مراعاة الأحرف الكبيرة والصغيرة
فالمترجم لن يفهم هذا الأمر messagebox بينما يفهم هذا الأمر MessageBox
بقي لنا أن نشغل البرنامج ونرى كيف سيعمل , لتشغيل البرنامج أنقر على زر التشغيل أعلى نافذة الشفرة:
عند تشغيل البرنامج ستظهر لك النافذة الأساسية وعند النقر على زر الترحيب ستظر رسالة الترحيب:
مبروك لقد نجحت في تنفيذ أول برنامج بلغة C#
نهايه الدرس الاول | |
|