ان شاء الله اليوم سنبدأ فى عمل اله حاسبه متطوره
اولا
و قبل ان ندخل فى التطبيق
يجب ان نعلم انه حتى نستطيع كتابة الاكواد صحيحه يجب معرفة ماذا يحدث داخل البرنامج
وبعد ذلك نستطيع بناء الكود على اساس مدى فهمنا للبرنامج
ثانيا
نبدا فى تطبيق البرنامج على بركة الله
نبدا بفتح مشروع جديد ونسميه (اله حاسبه متطوره )
ونقوم بعمل 17 button و ****box1
ونغير الخصائص كما فى الجدول التالى
ويصبح شكل البرنامج بعد الانتهاء من تطبيق هذا الجدول هكذا
ونبدأ بكتابة الاكواد اولا اكواد الارقام سيكون الكود
اولا لازم نعرف ايه الى هيحصل فى البرنامج عند الضغط على هذا الزر
سيتم كتابة الرقم (1) فى ال****box1
****Box1.**** = num1.****;
تلاحظون اننا كتبنا فى الكود ان ****box1.**** وهى دى قيمه ال****box بعد الضغط على الزر تساوى num1.**** يعن هتساوى واحد الى هو الزر الى هنضغط عليه
كده احنا فى البدايه يعنى مفيش ارقام لسه فى ال ****box
طب نفرض ان ال****box كان فيه مثلا رقم واحد
وضغطنا على الواحد بهذا الكود سيظهر لنا واحد بس فى ال ****box وكان من المفترض ظهور رقم (11) لذلك يعد هذا عيب برمجى لانه يجب وضع الارقام متتاليه
لذلك يجب تعديل الكود ليكون هكذا
****Box1.**** = ****Box1.**** + num1.****;
حيث ان ال ****Box1.**** هى القيمه بعد الضغط على الزر
اما ال ****Box1.**** هىالقيمة الاصليه لل****box
اما ال num1.**** فهى قيمة الزر او ال button ال هى واحد وبهذا يكون الكود هكذا
****Box1.**** = ****Box1.**** + num1.****;
ويكون هذا الكود ثابت فى كل الارقام والdot (.)
ويكون البرنامج هكذا بعد كتابة الاكواد
وهذه هى اكواد الارقام كلها
نأتى الى اكواد العمليات وارجوا التركيز................. اولا قبل عمل اكواد العمليات يجب تعريف ثلاث متغيرات وهى المتغيرات (tabel1& tabel2&tabel3)
ويتم تعريفهم عن طريق المتغير العددى double ويتم وضع تعريف هذه المتغيرات قبل اكواد الارقام كما فى الصوره
السؤال لماذا عرفنا هذه المتغيرات ؟؟؟؟ هذه المتغيرات سيتم استخدامها فى اكواد العمليات الحسابيه زى الجمع والطرح والضرب والقسمه
وسنرى ذلك فى الاكواد
كود:
bool btnPlus = false;
كود:
bool btnminus = false;
bool btnMult = false;
bool btnDivide = false;
كما سنقوم بتعريف الاربع متغيرات البوليانيه
اولا المتغيرات البوليانيه هى المتغيرات التى لا تقبل الا قيمتين اما true او false
وقد تم عمل كل المتغيرات false حتى يتم تنشيطهم عن الضغط على الزر وذلك عن طريق
اولا لازم نعرف ايه الى هيحصل عندما يتم الضغط على زر الجمع
ولازم نفهم ان البرنامج يقوم بتطبيق معادلات
يعنى مثلا عاوزين نجمع5 و3
البرنامج هياخد ال5ويخزنها عنده ويحذفها من ال ****box وبعد كده يقوم بأخذ القيمه3 وجمعها واظهار الناتج عن طريق الضغط على يساوى
يبقى المعادله المستخدمه هى 5+3=8
لذلك سيكون كود الجمع هكذا
حيث ان ال total1 الاولى هى الرقم الى احنا كتبناه يعنى هى الرقم الى هيتخزن فى الاله اما total1 التانيه فهى المتغير الى حانا عرفناه وساويناه بالصفر وقيمته هنا تساوى ضفر
اما double.Parse(****Box1.****) فهى القيمه المكتوبه الى فى ال****box
وهى الى تساوى 5 فى المثال الى فرضناه فى الاول
وعشان كده المعادله هتكون هكذا
اما السطر الثانى وهو يعطى امر بأن يجعل ال taxtbox فارغا بعد الضغط على الزر حتى يتم كتابة الرقم الثانى وذلك عن طريق الامر clear()
اما السطر الثالث فيجعل خاصية الجمع الى تم وقفها عن طريق تعريف المتغيرات البوليانيه يتم تنشيطها عن طريق الضغط على الزر
يشبه كود الجمع مع وجود اختلاف بسيط كما فى الصوره
ولكننا احدثنا تغيير بسيط على الكود حتى تتوافق الاشاره حيث ان ال total1 الاولى هى الرقم الى احنا كتبناه يعنى هى الرقم الى هيتخزن فى الاله
وهنا تم تقديم ال double.Parse(****Box1.****) على ال total1 الثانيه
لاننا كما فى المعادله التاليه لو وضعناها كما فى حالة الجمع ستكون هكذا
يبقى ده عيب فى الاشاره وبدلنا حتى تتوافق الاشاره
وبكده نكون قد تغلبنا على الاشاره
والسطر الثانى تماما مثل حالة الجمع
وان السطر الثالث تم تنشيط خاصية الطرح بدل من الجمع
نأتى الى كود الضرب والقسمه
حيث اننا سوف نستخدم المتغير العددى الثالث فى عمليتى الضرب والقسمه
وهو total3 ويرجع السبب الى اننا ساوينا هذا المتغير بالواحد الصحيح والواحد لا يؤثر فى عمليتى الضرب والقسمه
كما ان الصفر لا يؤثر فى عمليتى الجمع والطرح لذلك استخدمنا المتغير total1 لانه يساوى الصفر
اما المتغير total2 فسيتم استخدامه فى كود الزر يساوى
نلاحظ فى الكود حيث ان total3 وهى العدد الذى يتم تخزينه فى البرنامج وهى العدد 5
اما total3 الثانيه وهى التى تساوى واحد كما عرفناه قبل ذلك
اما (double.Parse(****Box1.****)) فهى كما سبق العدد الذى سيكتب فى ال ****box
اما السطر الثانى من الكود كما سبق شرحه
والسطر الثالث سيتم تنشيط خاصية الضرب التى تم وقفها فى تعريف المتغيرات البوليانيه
سنلاحظ ان كود عملية القسمه يشبه كود عملية الطرح لكن مع تغيير الاشاره
وذلك ليس للهروب من الاشاره ولكن للهروب من الكسر
حيث اننا اذا كتبنا الكود كما فى حالة الضرب ستكون المعادله هكذا
وهنا total3 ستكون كسر مع اننا ادخلنا عدد صحيح وهذا سيجعل الناتج به اخطاء
وبهذا نكون قد تغلبنا على الكسر
اما السطر الثانى من الكود كما سبق شرحه
والسطر الثالث يتم فيه تنشيط خاصية القسمه
ثم نأتى الى كود اليساوى (=)
سنستخدم فى هذا الكود الجمل الشرطيه الخاصه ب if كما سبق فى الدرس السابق
نلاحظ الكود سيكون هكذا
نأتى الى اول شرط وهو اذا كانت خاصيه الجمع متنشطه اى اذا ضغطنا على زر الجمع
وهو ان if (btnPlus == true)
واذا تحقق هذا الشرط سيتم تنفيذ هذا الامر وهو
حيث ان ال total2 وهى ناتج الجمع النهائى اما ال total1 هى القميه الاولى المراد جمعها وهى تساوى 5 حسب مثالنا
اما ال double.Parse(****Box1.****); فهى القيمه الثانيه وهى تساوى 3 حسب مثالنا
واذا طبقنا المعادله ستكون هكذا
اما السطر الثانى من الكود وهو كود عرض النتيجه
حيث ان ال ****box1 هتساوى قيمة الجمع وهى قيمة ال total2 اما الامر tostring() فهذا كما عرفنا قبل ذلك ان ال ****box1 لا يقبل الا نص وناتج الجمع عدد
لذلك هذا الامر يحول العدد الى نص حتى يقبله ال ****box
اما السطر الثالث من الكود وهو total1 = 0;
فهو يجعل ذاكرة البرنامج خاليه حتى تكون جاهزه الى عمليه اخرى
واذا لم يتحقق اول شرط سينتقل البرنامج الى الشرط الثانى
وهو لو كانت خاصية الطرح نشطه
وسيقوم بتنفيذ الامر وهو
حيث ان total2 هى ناتج عملية الطرح اما ال total1 فهى القيمه التى تم تخزينها فى البرنامج وهى كما فى مثالنا5
اماdouble.Parse(****Box1.****) فهى القيمه الاخيره وهى 3 كما فى مثالنا
وعند تطبيق المعادله ستكون هكذا
اما السطر الثانى والثالث فهو كما فى حالة الجمع
وهو اذا كانت خاصية الضرب نشطه else if (btnMult == true)
فيتم تنفيذ الامر التالى وهو
السطر الاول من الكود يختلف اختلاف بسيط عن حالة الجمع والطرح وذلك لاننا استخدمنا المتغير total3 وهو العدد الذى تم تخزينه فى البرنامج بقيمة العدد الاول المراد ضربه وهو العدد5 كما فى مثالنا
والسطر الثانى كما فى حالة الجمع والطرح
اما السطر الثالث فهو يجعل قيمة total3 ترجع الى قيمتها الافتراضيه التى افترضناها فى الاول
ويكون تطبيق المعادله هكذا
وهو شرط حالة القسمه وهو else if (btnDivide == true)
واذا تحقق هذا الشرط سيتم تنفيذ الامر الذى يليه وهو
كود:
total2 = total3 / double.Parse(****Box1.****);
كود:
****Box1.**** = total2.ToString();
total3 = 1;
هذا الكود مثل كود حالة الضرب تماما ولا يختلف كثير الا فى تغيير علامة القسمه
واخر كود لاخر زر عندنا وهو زر الac وظيفة هذا الزر هو انه يقوم بمسح محتوى****box1 ويكون كوده هكذا
ويتضمن الكود الامر clear() وهو ان يتم حذف محتوى ال****box1 وختاما اتمنى ان اكون قد وفقت فى شرح هذا الدرس على اكمل وجه
واتمنى ان تكونوا قد استفدتم معانا