تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس 5- التعرف على العبارات المشروطة والحلقات التكرارية
#1
كاتب الموضوع : Tarek Aldwire

في الدرس السابق شرحنا كيف نقوم بعمل أمر جديد وسوف نستخدم ذلك في هذا الدرس لذلك إذا كنت لم تقرأ الدرس السابق ولا تجيد القيام بأمر جديد أنصحك بقراءة الدرس السابق


أولا: الكلمة المحجوزة if:
تستخدم هذه الكلمة لتحقيق أمر ما بشرط أو أكثر.
1- قم بإنشاء مشروع جديد WindowsFormsApplication
2- قم بوضع 1Button,1 TextBox
3- أدخل على الكود الخاص بالحدث Click للبروتون عن طريق النقر المزدوج على ال Button ( أو بأي طريقة أخرى )
واكتب


كود :
[color=#000000][COLOR=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"Hello"[/color][COLOR=#007700]);  
[/COLOR][color=#0000bb][/color][/COLOR]

الان أصبح عند كل ضغطة لل Button يقوم البرنامج بإظهار رسالة تحوي على كلمة Hello
ولكن كيف أستطيع أن أجعل البرنامج يظهر الرسالة فقط إذا كان ال TextBox يساوي الواحد؟؟؟

سوف نستخدم هنا الكلمة المحجوزة if على الشكل التالي:

كود :
[color=#000000][COLOR=#0000bb]            [/color][color=#007700]if ([/color][color=#0000bb]textBox1[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]== [/color][color=#dd0000]"1"[/color][COLOR=#007700])
            {
                [/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"Hello"[/color][COLOR=#007700]);
            }  
[/COLOR][color=#0000bb][/color][/COLOR]

الان أصبح فقط إذا كان ال textbox1 يساوي ال 1 تظهر الرسالة
ولكن إذا أردنا تنفيذ أمر اخر إن لم يتحقق الشرط سوف نستخدم الكلمة else على الشكل التالي:

كود :
[color=#000000][COLOR=#0000bb]            [/color][color=#007700]if ([/color][color=#0000bb]textBox1[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]== [/color][color=#dd0000]"1"[/color][COLOR=#007700])
            {
                [/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"Hello"[/color][COLOR=#007700]);
            }
            else
            {
                [/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"is not one!!"[/color][COLOR=#007700]);
            }  
[/COLOR][color=#0000bb][/color][/COLOR]

وإذا أردنا أن نتحقق من أول شرط فإذا لم يتحقق يقوم بتجربة شرط اخر وهكذا...


كود :
[color=#000000][COLOR=#0000bb]            [/color][color=#007700]if ([/color][color=#0000bb]textBox1[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]== [/color][color=#dd0000]"1"[/color][COLOR=#007700])
            {
                [/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"Hello"[/color][COLOR=#007700]);
            }
            else if ([/COLOR][color=#0000bb]textBox1[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]== [/color][color=#dd0000]"2"[/color][COLOR=#007700])
            {
                [/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"Tow !!"[/color][COLOR=#007700]);
            }
            else if ([/COLOR][color=#0000bb]textBox1[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]== [/color][color=#dd0000]"3"[/color][COLOR=#007700])
            {
                [/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"Three"[/color][COLOR=#007700]);
            }
            else
            {
                [/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"Unknow Value !"[/color][COLOR=#007700]);
            }  
[/COLOR][color=#0000bb][/color][/COLOR]

ولكي تتحقق من عدة شروط لتنفيذ أمر معين ضع textbox ثاني واكتب:

كود :
[color=#000000][COLOR=#0000bb]            [/color][color=#007700]if ([/color][color=#0000bb]textBox1[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]== [/color][color=#dd0000]"1" [/color][color=#007700]&& [/color][color=#0000bb]textBox2[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]== [/color][color=#dd0000]"1"[/color][COLOR=#007700])
            {
                [/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"Hello"[/color][COLOR=#007700]);
            }
            else
            {
                [/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"Unknow Value !"[/color][COLOR=#007700]);
            }  
[/COLOR][color=#0000bb][/color][/COLOR]

إنتبه في الكلمة if يجب إستخدام الإشارة == وليس =

أظن الان أن مفهوم if أصبح واضحا والان لننتقل إلى الطريقة switch:
لنبقى مع المشروع السابق نفسه لكن بدلا من الكود الذي في الأعلى أكتب ما يلي:


كود :
[color=#000000][COLOR=#0000bb]            [/color][color=#007700]switch ([/color][color=#0000bb]textBox1[/color][color=#007700].[/color][color=#0000bb]Text[/color][COLOR=#007700])
            {
                case [/COLOR][color=#dd0000]"1"[/color][COLOR=#007700]:
                    [/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"One"[/color][COLOR=#007700]);
                    break;
                case [/COLOR][color=#dd0000]"2"[/color][COLOR=#007700]:
                    [/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"Tow"[/color][COLOR=#007700]);
                    break;
                case [/COLOR][color=#dd0000]"3"[/color][COLOR=#007700]:
                    [/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"Three"[/color][COLOR=#007700]);
                    break;
                case [/COLOR][color=#dd0000]""[/color][COLOR=#007700]:
                    [/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"Unknow Value"[/color][COLOR=#007700]);
                    break;
            }  
[/COLOR][color=#0000bb][/color][/COLOR]

حيث أولا نضع في switch ما نود التحقق منه وهو textbox1.text
ثم نبدأ بتحديد الشروط عن طريق case كما هو واضح.

________________________________ الحلقات التكرارية ___________________________
أولا سوف نتعرف على الحلقة For - Next
قم بإنشاء مشروع Console Application جديد وكتب في الأمر Main ما يلي (تم شرح هذا الأمر من قبل):


كود :
[color=#000000][COLOR=#0000bb]            [/color][color=#007700]for ([/color][color=#0000bb]int x [/color][color=#007700]= [/color][color=#0000bb]0[/color][color=#007700]; [/color][color=#0000bb]x [/color][color=#007700]< [/color][color=#0000bb]10[/color][color=#007700]; [/color][color=#0000bb]x[/color][COLOR=#007700]++)
            {
                [/COLOR][color=#0000bb]Console[/color][color=#007700].[/color][color=#0000bb]Write[/color][color=#007700]([/color][color=#0000bb]x[/color][color=#007700].[/color][color=#0000bb]ToString[/color][color=#007700]() + [/color][color=#dd0000]"\n"[/color][COLOR=#007700]);
            }  
[/COLOR][color=#0000bb][/color][/COLOR]

جرب نفذ ولاحظ ماذا يحدث قد كتبت ال Console أرقاما على الشكل التالي
0
1
2
3
4
5
6
7
8
9

لأن معنى هذه الجملة على الشكل التالي:
أولا تم تعريف متغير إسمه x قيمته 0
ثم تم الأمر بتنفيذ الكود المكتوب ب for حتى تصبح x أكبر من ال 10 (( طالما x تحت ال10 الكود سوف ينفذ ))

و x++; تعني أن يزاد على قيمة x واحد في كل مرة يتم فيها تنفيذ الكود (( يمكنك جعلها أكبر من ذلك ولكن كلما كبرت قيمتها نقصت عدد مرات تنفيذ الكود طبعا ))

فلو كانت x +=2;
فسيتم تنفيذ الكود خمس مرات فقط !

________________________________ while _______________________________

تعمل على الشكل التالي:

كود :
[color=#000000][COLOR=#0000bb]            int x [/color][color=#007700]= [/color][color=#0000bb]0[/color][COLOR=#007700];
            while ([/COLOR][color=#0000bb]x [/color][color=#007700]< [/color][color=#0000bb]10[/color][COLOR=#007700])
            {
                [/COLOR][color=#0000bb]Console[/color][color=#007700].[/color][color=#0000bb]Write[/color][color=#007700]([/color][color=#0000bb]x[/color][color=#007700].[/color][color=#0000bb]ToString[/color][color=#007700]() + [/color][color=#dd0000]"\n"[/color][COLOR=#007700]);
                [/COLOR][color=#0000bb]x[/color][COLOR=#007700]++;
            }  
[/COLOR][color=#0000bb][/color][/COLOR]

فطالما فقيت x تحت ال 10 سينفذ الكود

(( ملاحظة العبارة "\n" تعني النزول إلى السطر التالي))

______________________________ for each _______________________________
تستخدم للدوران على كل عناصر مصفوفة ما
كمثال ضع أداة ListBox على الفورم ثم إضغط على الخاصية Items وضع بعض العناصر (( في كل سطر عنصر ))
ثم ضع Button واكتب فيه ما يلي:

كود :
[color=#000000][COLOR=#0000bb]            [/color][color=#007700]foreach ([/color][color=#0000bb]string x in listBox1[/color][color=#007700].[/color][color=#0000bb]Items[/color][COLOR=#007700])
            {
                [/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#0000bb]x[/color][COLOR=#007700]);
            }  
[/COLOR][color=#0000bb][/color][/COLOR]

فستلاحظ إنه ظهرت رسالة بكل عنصر من عناصر ال listBox1 لأنها دارت على جميع العناصر
(( ملاحظة: الخاصية Items في ال listBox هي المصفوفة الخاصة بالعناصر التي تحتوي عليها ال listBox ))

وهكذا نكون قد إنتهينا من شرح العبارات الشرطية والحلقات التكرارية
إلى اللقاء في الدرس القادم إن شاء الله...
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الدرس 22- دوال sql server RaggiTech 0 1,048 18-10-12, 04:11 PM
آخر رد: RaggiTech
  الدرس 21- Stored Procedures RaggiTech 0 929 18-10-12, 04:09 PM
آخر رد: RaggiTech
  الدرس 20- تنفيذ جمل الإستعلام insert-update-delete RaggiTech 2 969 18-10-12, 04:08 PM
آخر رد: RaggiTech
  الدرس 19- ربط قاعدة بيانات accessمع c#-vb.net وتنفيذ جمل إستعلام - الوضع المتصل RaggiTech 0 1,317 18-10-12, 03:41 PM
آخر رد: RaggiTech
  الدرس 18- ربط قاعدة بيانات sql مع c#-vb.net وتنفيذ جمل إستعلام - الوضع المتصل RaggiTech 0 2,469 18-10-12, 03:29 PM
آخر رد: RaggiTech
  الدرس 17- مقدمة إلى قواعد البيانات RaggiTech 0 738 18-10-12, 03:21 PM
آخر رد: RaggiTech
  الدرس 16- تصميم الأدوات الخاصة RaggiTech 0 702 18-10-12, 03:20 PM
آخر رد: RaggiTech
  الدرس 15- البداية مع gdi+ RaggiTech 1 752 18-10-12, 03:16 PM
آخر رد: RaggiTech
  الدرس 14- شرح تقنية ال wpf مع بعض الأمثلة RaggiTech 4 1,102 18-10-12, 03:12 PM
آخر رد: RaggiTech
  الدرس 13- Multi-Threading RaggiTech 0 772 18-10-12, 03:03 PM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم