تقييم الموضوع :
  • 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 ))

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



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


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