تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس 2- فهم مبادئ اللغة والمدخل لها مع برنامج الة حاسبة بسيطة
#2
لكن ما الذي كتب تلقائيا؟؟؟
أولا:

كود :
[color=#000000][COLOR=#0000bb]using System[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]Collections[/color][color=#007700].[/color][color=#0000bb]Generic[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]ComponentModel[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]Data[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]Drawing[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]Linq[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]Text[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]Windows[/color][color=#007700].[/color][color=#0000bb]Forms[/color][COLOR=#007700];  
[/COLOR][color=#0000bb][/color][/COLOR]

هنا تم إستيراد المجالات كما تعلمنا في الدرس السابق

ثم تم تعريف ال namespace الخاص بالبرنامج والذي يدعى هنا WindowsFormsApplication1


كود :
[color=#000000][COLOR=#0000bb]        [/color][color=#007700]public [/color][color=#0000bb]Form1[/color][COLOR=#007700]()
        {
            [/COLOR][color=#0000bb]InitializeComponent[/color][COLOR=#007700]();
        }  
[/COLOR][color=#0000bb][/color][/COLOR]

هنا كما تلاحظ أنه تم إستدعاء الأمر InitializeComponent
وهو الأمر الذي يقوم برسم الفورم (( سوف نتطرق إليه ويمكن الوصول إليه من ال Designer
الخاص بالفورم


كود :
[color=#000000][COLOR=#0000bb]        [/color][color=#007700]private [/color][color=#0000bb]void button1_Click[/color][color=#007700]([/color][color=#0000bb]object sender[/color][color=#007700], [/color][color=#0000bb]EventArgs e[/color][COLOR=#007700])
        {
[/COLOR][COLOR=#0000bb]هنا سوف ينفذ كل شيئ مكتوب عند ضغط button1
        [/COLOR][COLOR=#007700]}  
[/COLOR][color=#0000bb][/color][/COLOR]

أما هنا فقط تم إضافة أمر في ال Designer مع الحدث Click لل button1 لكي يتم تنفيذ الكود مع ضغط الزر والذي يتم على الشكل التالي

كود :
[color=#000000][COLOR=#0000bb]button1[/color][color=#007700].[/color][color=#0000bb]Click[/color][color=#007700]+=new [/color][color=#0000bb]EventHandler[/color][color=#007700]([/color][color=#0000bb]button1_Click[/color][COLOR=#007700]);  
[/COLOR][color=#0000bb][/color][/COLOR]

أنتبه في الكود السابق تم إفتراض أنك قد كتبت أمر بأسم button1_Click حيث سوف يتم تنفيذ هذا الأمر عند ضغط زر البرتون وبإمكانك تغيير إسم الأمر كما تشاء

الان نكتب في الأمر الذي كتب تلقائيا في المكان الذي أشرت إليه سابقا:

كود :
[color=#000000][COLOR=#0000bb]        [/color][color=#007700]private [/color][color=#0000bb]void button1_Click[/color][color=#007700]([/color][color=#0000bb]object sender[/color][color=#007700], [/color][color=#0000bb]EventArgs e[/color][COLOR=#007700])
        {
[/COLOR][COLOR=#0000bb]هنا أكتب كود الجمع
        [/COLOR][COLOR=#007700]}  
[/COLOR][color=#0000bb][/color][/COLOR]

نكتب:


كود :
[color=#000000][COLOR=#0000bb]            double num1[/color][color=#007700], [/color][color=#0000bb]num2[/color][COLOR=#007700];
            [/COLOR][color=#0000bb]num1 [/color][color=#007700]= [/color][color=#0000bb]double[/color][color=#007700].[/color][color=#0000bb]Parse[/color][color=#007700]([/color][color=#0000bb]textBox1[/color][color=#007700].[/color][color=#0000bb]Text[/color][COLOR=#007700]);
            [/COLOR][color=#0000bb]num2 [/color][color=#007700]= [/color][color=#0000bb]double[/color][color=#007700].[/color][color=#0000bb]Parse[/color][color=#007700]([/color][color=#0000bb]textBox2[/color][color=#007700].[/color][color=#0000bb]Text[/color][COLOR=#007700]);
            [/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700](([/color][color=#0000bb]num1 [/color][color=#007700]+ [/color][color=#0000bb]num2[/color][color=#007700]).[/color][color=#0000bb]ToString[/color][COLOR=#007700]());  
[/COLOR][color=#0000bb][/color][/COLOR]

شرح الكود:
أولا قمنا بتعريف متغيرين من نوع double الأول :num1 والثاني num2
وفي السطر الثاني تم إعطاء القيمة num1 = textbox1.text ولكن هنا يوجد مشكلة
أنه لا يمكن أن نعطي قيمة نصية string لقيمة عددية double
لذلك قمت بالتحويل من string إلى double كما هو واضح
أي تستخدم هذه الطريقة للتحويل من string إلى double على الشكل التالي:
مثلا:

كود :
[color=#000000][COLOR=#0000bb]num1 [/color][color=#007700]= [/color][color=#0000bb]double[/color][color=#007700].[/color][color=#0000bb]Parse[/color][color=#007700]([/color][color=#dd0000]"500"[/color][COLOR=#007700]);  
[/COLOR][color=#0000bb][/color][/COLOR]

فهنا أصبحت num1 = 500

ثم في السطر الثالث قمنا بجعل num2 = textbox2.text بعد تحويلها ل double بنفس الطريقة
والان نصل إلى السطر الثالث ما معنى MessageBox???
وهي أمر يمكن من خلاله إظهار رسالة بقيمة نصية كالتالي:

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

فقد قمت بجمع الرقمين num1,num2 بين قوسين ثم كتبت على القوسين .ToString()

ويتم إستخدام هذه الدالة على الشكل التالي:

كود :
[color=#000000][COLOR=#0000bb]textBox1[/color][color=#007700].[/color][color=#0000bb]text [/color][color=#007700]= [/color][color=#0000bb]num1[/color][color=#007700].[/color][color=#0000bb]ToString[/color][COLOR=#007700]();  
[/COLOR][color=#0000bb][/color][/COLOR]

وكما هو واضح فإنها تستخدم للتحويل من رقم إلى string
والان لتجريب الحاسبة إضغط على زر f5 وأكتب رقم في كل من ال textboxes وأضغط على ال Button
وانظر إلى النتيجة...

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

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


الردود في هذا الموضوع
الدرس 2- فهم مبادئ اللغة والمدخل لها مع برنامج الة حاسبة بسيطة - بواسطة Raggi Tech - 18-10-12, 01:45 PM


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


يقوم بقرائة الموضوع: