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

في درسنا هذا سوف نتعلم أولا ماهي المتفيرات والثوابت وأنواعها ثم نكمل برمجة الالة الحاسبة

أولا : المتفيرات
أن المتغيرات مهمة جدا ولا يمكن لبرنامج التخلي عنها وهي قد تكون:
(( صورة توضح أنواع المتغيرات في المرفقات بإسم varTypes))

ProCSharp 2008 and .net2008 platform الصورة مأخوذة من

وتعريف متغير ما يتم بالشكل التالي:

كود :
[color=#000000][COLOR=#0000bb]int x [/color][color=#007700]= [/color][color=#0000bb]0[/color][COLOR=#007700];  
[/COLOR][color=#0000bb][/color][/COLOR]

فهنا تم تعريف متغير رقمي إسمه x وحمل القيمة 0

مثال توضيحي:
أولا قم بتعريف متغير من نوع string إسمه Var وضع فيمته = MyProgram على الشكل التالي:

كود :
[color=#000000][COLOR=#0000bb]string myvar [/color][color=#007700]= [/color][color=#dd0000]"MyProgram"[/color][COLOR=#007700];  
[/COLOR][color=#0000bb][/color][/COLOR]

ثم قم بوضع زر وكتب في الحدث Click الخاص بالزر : (تفاصيل كتابة الكود في الحدث Click في الدرس 2)

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


الثوابت:
إن الثوابت ليس لها أنواع فهي كأنواع المتغيرات لكن لا يمكن التغيير من فيمتها الإفتراضية
مثلا

كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]public const [/color][color=#0000bb]int MyNum[/color][color=#007700]= [/color][color=#0000bb]100[/color][COLOR=#007700];  
[/COLOR][color=#0000bb][/color][/COLOR]

فهنا دائما الثابت MyNum سوف تكون فيمته 100
وإذا حاولنا تغييرها سوف يظهر خطأ


كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]public const [/color][color=#0000bb]int MyNum[/color][color=#007700]= [/color][color=#0000bb]100[/color][COLOR=#007700];
[/COLOR][color=#0000bb]MyNum [/color][color=#007700]= [/color][color=#0000bb]50[/color][color=#007700];    [/color][COLOR=#0000bb]هنا يوجد خطأ  
[/COLOR][/COLOR]

تستخدم الثوابت لحفظ رقم معين مثلا مقدار التحويل بين عملتين

أظن أصبح لديك معلومات جيدة عن المتغيرات والثوابت ولمزيد من المعلومات عنها راجع ال MSDN
والان سوف نبدأ بإكمال الألة الحاسبة
_____________________________


الملفات المرفقة صورة/صور
   
}}}}
تم الشكر بواسطة:
#2
في الدرس السابق وصلنا في الالة الحاسبة إلى هذا الكود
( مع العلم إننا قد أضفنا 2 TextBox و 1 Button )
الكود كامل:

كود :
[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]using  Microsoft[/color][color=#007700].[/color][color=#0000bb]VisualBasic[/color][COLOR=#007700];

[/COLOR][COLOR=#0000bb]namespace WindowsFormsApplication1
[/COLOR][COLOR=#007700]{
    public [/COLOR][color=#0000bb]partial [/color][color=#007700]class [/color][color=#0000bb]Form1 [/color][color=#007700]: [/color][COLOR=#0000bb]Form
    [/COLOR][COLOR=#007700]{

        public [/COLOR][color=#0000bb]Form1[/color][COLOR=#007700]()
        {
            [/COLOR][color=#0000bb]InitializeComponent[/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]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]

وكانت نتيجة الكود الة حاسبة لكن هناك مشكلة بها إنه إذا وضعنا أحرف بدل من الأرقام فسوف يظهر Error
الحل:


كيف نجعل البرنامج يتحقق من القيم المدخلة:
سوف نستخدم لأداء هذا الغرض الكلمة try وهي كلمة محجوزة تستخدم لإلتقاط الأخطاء إذا حصلت عن طريق الكلمة المحجوزة catch بإمكانك إذا أردت أن ينفذ كود ما إذا حصل Error أو لم يحصل عن طريق الكلمة finally (( لسنا بحاجة لها الان ))

فسيصبح الكود الجمع بعد تنسيقه مع الكلمة المحجوزة try كالتالي:

كود :
[color=#000000][COLOR=#0000bb]            double num1[/color][color=#007700], [/color][color=#0000bb]num2[/color][COLOR=#007700];
            try
            {
                [/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]());
            }
            catch
            {
                [/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"يرجى التأكيد من القيم المدخلة"[/color][COLOR=#007700]);
                [/COLOR][color=#0000bb]textBox1[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#dd0000]"0"[/color][COLOR=#007700];
                [/COLOR][color=#0000bb]textBox2[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#dd0000]"0"[/color][COLOR=#007700];
            }  
[/COLOR][/COLOR]

جربها ولاحظ:
في حال وجود أي خطأ في تنفيذ الكود في try سوف ينتقل المنفذ إلى catch وهكذا لن يتوقف البرنامج عن العمل

الان نكون قد أتممنا الالة الحاسبة
_____________________________________________


ولكن سوف أشرح عن الكلمة المحجوزة try قليلا لأهميتها:
شاهد الكود التالي ( أولا ضع textbox و button واكتب الكود التالي في الحدث click لل button)

كود :
[color=#000000][COLOR=#0000bb]            double x[/color][COLOR=#007700];
            try
            {
                [/COLOR][color=#0000bb]x [/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]);
            }
            catch
            {
                [/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"لا يمكن إجراء عملية التحويل"[/color][COLOR=#007700]);
            }
            [/COLOR][COLOR=#0000bb]finally
            [/COLOR][COLOR=#007700]{
                [/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"شكرا لإستخدامك هذا البرنامج"[/color][COLOR=#007700]);
            }  
[/COLOR][/COLOR]

سوف تلاحظ أن لو كان ال textbox يحوي على الأرقام فقط فسوف تظهر رسالة ( شكرا لإستخدامك هذا البرنامج)
فقط..
أما لو كان ال textbox يحوي على حروف فسوف تظهر الرسالتان المكتوبتان في الأعلى

أظن أن مفهوم try أصبح واضحا

ولمن واجه أي مشكلة فهاذا الكود كامل:

كود :
[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]using  Microsoft[/color][color=#007700].[/color][color=#0000bb]VisualBasic[/color][COLOR=#007700];

[/COLOR][COLOR=#0000bb]namespace WindowsFormsApplication1
[/COLOR][COLOR=#007700]{
    public [/COLOR][color=#0000bb]partial [/color][color=#007700]class [/color][color=#0000bb]Form1 [/color][color=#007700]: [/color][COLOR=#0000bb]Form
    [/COLOR][COLOR=#007700]{

        public [/COLOR][color=#0000bb]Form1[/color][COLOR=#007700]()
        {
            [/COLOR][color=#0000bb]InitializeComponent[/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]double x[/color][COLOR=#007700];
            try
            {
                [/COLOR][color=#0000bb]x [/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]);
            }
            catch
            {
                [/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"لا يمكن إجراء عملية التحويل"[/color][COLOR=#007700]);
            }
            [/COLOR][COLOR=#0000bb]finally
            [/COLOR][COLOR=#007700]{
                [/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"شكرا لإستخدامك هذا البرنامج"[/color][COLOR=#007700]);
            }
        }
    }
}  
[/COLOR][/COLOR]

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الدرس 22- دوال sql server RaggiTech 0 1,044 18-10-12, 04:11 PM
آخر رد: RaggiTech
  الدرس 21- Stored Procedures RaggiTech 0 923 18-10-12, 04:09 PM
آخر رد: RaggiTech
  الدرس 20- تنفيذ جمل الإستعلام insert-update-delete RaggiTech 2 963 18-10-12, 04:08 PM
آخر رد: RaggiTech
  الدرس 19- ربط قاعدة بيانات accessمع c#-vb.net وتنفيذ جمل إستعلام - الوضع المتصل RaggiTech 0 1,315 18-10-12, 03:41 PM
آخر رد: RaggiTech
  الدرس 18- ربط قاعدة بيانات sql مع c#-vb.net وتنفيذ جمل إستعلام - الوضع المتصل RaggiTech 0 2,465 18-10-12, 03:29 PM
آخر رد: RaggiTech
  الدرس 17- مقدمة إلى قواعد البيانات RaggiTech 0 732 18-10-12, 03:21 PM
آخر رد: RaggiTech
  الدرس 16- تصميم الأدوات الخاصة RaggiTech 0 699 18-10-12, 03:20 PM
آخر رد: RaggiTech
  الدرس 15- البداية مع gdi+ RaggiTech 1 751 18-10-12, 03:16 PM
آخر رد: RaggiTech
  الدرس 14- شرح تقنية ال wpf مع بعض الأمثلة RaggiTech 4 1,094 18-10-12, 03:12 PM
آخر رد: RaggiTech
  الدرس 13- Multi-Threading RaggiTech 0 769 18-10-12, 03:03 PM
آخر رد: RaggiTech

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


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