المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الدرس الثامن : تطبيق اله حاسبه متطوره - دورة سي شارب 2008


microtop
02-27-2010, 05:25 PM
http://img296.imageshack.us/img296/8479/7094ha0.gif

ان شاء الله اليوم سنبدأ فى عمل اله حاسبه متطوره

اولا
و قبل ان ندخل فى التطبيق
يجب ان نعلم انه حتى نستطيع كتابة الاكواد صحيحه يجب معرفة ماذا يحدث داخل البرنامج
وبعد ذلك نستطيع بناء الكود على اساس مدى فهمنا للبرنامج
ثانيا

نبدا فى تطبيق البرنامج على بركة الله
نبدا بفتح مشروع جديد ونسميه (اله حاسبه متطوره )
ونقوم بعمل 17 button و textbox1
ونغير الخصائص كما فى الجدول التالى
http://8qbcsw.bay.livefilestore.com/y1p-4dclHp64Hk3L3REkQ-MQZwTK7j0V2dLqyOiU4AE6I6lbGilaJjwOgbFtUmRDFEuIEyvo YZJqO09So25BOwHwsB8gtd8wK4A/ttttttttttttttttt.png

http://q47lpq.bay.livefilestore.com/y1poCu8iGu4CYxsQm9j8qKYi-eCP464g5_USpkip_fz3QtiYl4mfCUhQN8ZBfgspGnm1MwUdz9j Sld-riPET-3iQ1GaiCIj64hY/top.gif
ويصبح شكل البرنامج بعد الانتهاء من تطبيق هذا الجدول هكذا

http://public.bay.livefilestore.com/y1pQEYdzJoQKE3wmOETMGPlZsILk_b8waJ8FUV95Y07W4iQRa7 U8G8JODWUDBDRkQBOkuFYnl5FafgsL1EJ5DkNdg/1.png

http://q47lpq.bay.livefilestore.com/y1poCu8iGu4CYxsQm9j8qKYi-eCP464g5_USpkip_fz3QtiYl4mfCUhQN8ZBfgspGnm1MwUdz9j Sld-riPET-3iQ1GaiCIj64hY/top.gif

ونبدأ بكتابة الاكواد
اولا اكواد الارقام سيكون الكود
مثلا فى الرقم واحد
اولا لازم نعرف ايه الى هيحصل فى البرنامج عند الضغط على هذا الزر
سيتم كتابة الرقم (1) فى الtextbox1
يبقى هيكون الكود هكذا
textBox1.text = num1.text;
تلاحظون اننا كتبنا فى الكود ان textbox1.text وهى دى قيمه الtextbox بعد الضغط على الزر تساوى num1.text يعن هتساوى واحد الى هو الزر الى هنضغط عليه
كده احنا فى البدايه يعنى مفيش ارقام لسه فى ال textbox
طب نفرض ان الtextbox كان فيه مثلا رقم واحد
وضغطنا على الواحد بهذا الكود سيظهر لنا واحد بس فى ال textbox وكان من المفترض ظهور رقم (11) لذلك يعد هذا عيب برمجى لانه يجب وضع الارقام متتاليه
لذلك يجب تعديل الكود ليكون هكذا
textBox1.text = textBox1.text + num1.text;
حيث ان ال textBox1.text هى القيمه بعد الضغط على الزر
اما ال textBox1.text هىالقيمة الاصليه للtextbox
اما ال num1.text فهى قيمة الزر او ال button ال هى واحد وبهذا يكون الكود هكذا
textBox1.text = textBox1.text + num1.text;
ويكون هذا الكود ثابت فى كل الارقام والdot (.)
ويكون البرنامج هكذا بعد كتابة الاكواد
http://public.bay.livefilestore.com/y1peyuytD1XmEv5RWhBHobOHqH7mJB5fD1zPSN075Ow8fJK_o9 ob1DK9AMYRPuDK6tZNA392brXTd0lTyTJq4hf6g/3.png

http://q47lpq.bay.livefilestore.com/y1poCu8iGu4CYxsQm9j8qKYi-eCP464g5_USpkip_fz3QtiYl4mfCUhQN8ZBfgspGnm1MwUdz9j Sld-riPET-3iQ1GaiCIj64hY/top.gif

وهذه هى اكواد الارقام كلها

http://public.bay.livefilestore.com/y1p5vsjrGuUM4fUavcC4Ws2Gwg53x5hfzYWuIa6jAsq0NOHNqQ GFLwomXRFYp8qD3I3ShBzqvPPpSL4yioirv2YWg/2.png

http://q47lpq.bay.livefilestore.com/y1poCu8iGu4CYxsQm9j8qKYi-eCP464g5_USpkip_fz3QtiYl4mfCUhQN8ZBfgspGnm1MwUdz9j Sld-riPET-3iQ1GaiCIj64hY/top.gif

نأتى الى اكواد العمليات وارجوا التركيز.................
اولا قبل عمل اكواد العمليات يجب تعريف ثلاث متغيرات وهى المتغيرات (tabel1& tabel2&tabel3)
ويتم تعريفهم عن طريق المتغير العددى double ويتم وضع تعريف هذه المتغيرات قبل اكواد الارقام كما فى الصوره

http://public.bay.livefilestore.com/y1p_0ZCprjj51djraRDQJgm1PSCo0ItLR9-ru-NDxkMGsgDGkC0x_2XZ3cHsQiwkrjy0JAzVvRvPre_skOD-XgYiA/4.png
http://q47lpq.bay.livefilestore.com/y1poCu8iGu4CYxsQm9j8qKYi-eCP464g5_USpkip_fz3QtiYl4mfCUhQN8ZBfgspGnm1MwUdz9j Sld-riPET-3iQ1GaiCIj64hY/top.gif

السؤال لماذا عرفنا هذه المتغيرات ؟؟؟؟
هذه المتغيرات سيتم استخدامها فى اكواد العمليات الحسابيه زى الجمع والطرح والضرب والقسمه
وسنرى ذلك فى الاكواد

bool btnPlus = false;
bool btnminus = false;
bool btnMult = false;
bool btnDivide = false;

كما سنقوم بتعريف الاربع متغيرات البوليانيه
اولا المتغيرات البوليانيه هى المتغيرات التى لا تقبل الا قيمتين اما true او false
وقد تم عمل كل المتغيرات false حتى يتم تنشيطهم عن الضغط على الزر وذلك عن طريق
القيمه true كما سنرى

1- كود عملية الجمع
اولا لازم نعرف ايه الى هيحصل عندما يتم الضغط على زر الجمع
ولازم نفهم ان البرنامج يقوم بتطبيق معادلات
يعنى مثلا عاوزين نجمع5 و3
البرنامج هياخد ال5ويخزنها عنده ويحذفها من ال textbox وبعد كده يقوم بأخذ القيمه3 وجمعها واظهار الناتج عن طريق الضغط على يساوى
يبقى المعادله المستخدمه هى 5+3=8
لذلك سيكون كود الجمع هكذا

http://public.bay.livefilestore.com/y1p_0ZCprjj51dq6mQHgrlilErkt4fJUTz4jmnnTE-pRKbUSTGbMWOtRrTROtH_eUKTp08drstImBb_hGQpYSJ-Tw/1010.png

حيث ان ال total1 الاولى هى الرقم الى احنا كتبناه يعنى هى الرقم الى هيتخزن فى الاله
اما total1 التانيه فهى المتغير الى حانا عرفناه وساويناه بالصفر وقيمته هنا تساوى ضفر
اما double.Parse(textBox1.text) فهى القيمه المكتوبه الى فى الtextbox
وهى الى تساوى 5 فى المثال الى فرضناه فى الاول
وعشان كده المعادله هتكون هكذا
Total1 = 0 + 5
يبقى total1=5
وهى دى القيمه الى اتخزنت
اما السطر الثانى وهو يعطى امر بأن يجعل ال taxtbox فارغا بعد الضغط على الزر حتى يتم كتابة الرقم الثانى وذلك عن طريق الامر clear()
اما السطر الثالث فيجعل خاصية الجمع الى تم وقفها عن طريق تعريف المتغيرات البوليانيه يتم تنشيطها عن طريق الضغط على الزر

2- كود عملية الطرح
يشبه كود الجمع مع وجود اختلاف بسيط كما فى الصوره

http://public.bay.livefilestore.com/y1pRtjndf54RHDi1kbbl7qXNFdbox99DeUrsTsHULTa_VMvFvX TSmWSgbTwaGvjNjDqM9pIHkD6XkoPpm1NLFSqdQ/1111.png

ولكننا احدثنا تغيير بسيط على الكود حتى تتوافق الاشاره
حيث ان ال total1 الاولى هى الرقم الى احنا كتبناه يعنى هى الرقم الى هيتخزن فى الاله
وهنا تم تقديم ال double.Parse(textBox1.text) على ال total1 الثانيه
لاننا كما فى المعادله التاليه لو وضعناها كما فى حالة الجمع ستكون هكذا
Total1 =0-5
Total1=-5
يبقى ده عيب فى الاشاره وبدلنا حتى تتوافق الاشاره
وتكون المعادله هكذا
Total1 =5-0
Total1 =5
وبكده نكون قد تغلبنا على الاشاره
والسطر الثانى تماما مثل حالة الجمع
وان السطر الثالث تم تنشيط خاصية الطرح بدل من الجمع

3 - كود عملية الضرب
نأتى الى كود الضرب والقسمه
حيث اننا سوف نستخدم المتغير العددى الثالث فى عمليتى الضرب والقسمه
وهو total3 ويرجع السبب الى اننا ساوينا هذا المتغير بالواحد الصحيح والواحد لا يؤثر فى عمليتى الضرب والقسمه
كما ان الصفر لا يؤثر فى عمليتى الجمع والطرح لذلك استخدمنا المتغير total1 لانه يساوى الصفر
اما المتغير total2 فسيتم استخدامه فى كود الزر يساوى
سيكون الكود هكذا

http://public.bay.livefilestore.com/y1p-sKae4qejN6Sfot2Ph17i7AAZ0knyTT1nyqoqlqyETWfg5fX5Y-0AVGJtxGTIoe3wBAoQdOqzmiIV7ZSoQs4DA/1212.png

نلاحظ فى الكود
حيث ان total3 وهى العدد الذى يتم تخزينه فى البرنامج وهى العدد 5
اما total3 الثانيه وهى التى تساوى واحد كما عرفناه قبل ذلك
اما (double.Parse(textBox1.text)) فهى كما سبق العدد الذى سيكتب فى ال textbox
وتكون المعادله هكذا
Total3 = 1* 5
Total3=5
اما السطر الثانى من الكود كما سبق شرحه
والسطر الثالث سيتم تنشيط خاصية الضرب التى تم وقفها فى تعريف المتغيرات البوليانيه

4- كود عملية القسمه
سنلاحظ ان كود عملية القسمه يشبه كود عملية الطرح لكن مع تغيير الاشاره
وذلك ليس للهروب من الاشاره ولكن للهروب من الكسر
هكذا

http://public.bay.livefilestore.com/y1p-sKae4qejN5ICk6iX3SG9FBrc358NFLzOfVrAZfLBger5RPjpHy PRgiVUHrYhD7pUhQDiYGkk5AlWFQzOL4_tw/1313.png

حيث اننا اذا كتبنا الكود كما فى حالة الضرب ستكون المعادله هكذا
Total3=1/5
وهنا total3 ستكون كسر مع اننا ادخلنا عدد صحيح وهذا سيجعل الناتج به اخطاء
اما حالة الكود الحالى
فستكون المعادله هكذا
Total3 = 5/1
Total3=5
وبهذا نكون قد تغلبنا على الكسر
اما السطر الثانى من الكود كما سبق شرحه
والسطر الثالث يتم فيه تنشيط خاصية القسمه

ثم نأتى الى كود اليساوى (=)
سنستخدم فى هذا الكود الجمل الشرطيه الخاصه ب if كما سبق فى الدرس السابق
نلاحظ الكود سيكون هكذا

http://public.bay.livefilestore.com/y1p_fyPdlyW81JajtIeW2K1sH8B1-GlLAohVy6qZ1zQZXtRIH8w96gIV67qiRvfBajAlTpaNEZlxvfe 6og8HErGtQ/456.png

نأتى الى اول شرط
وهو اذا كانت خاصيه الجمع متنشطه اى اذا ضغطنا على زر الجمع
وهو ان if (btnPlus == true)
واذا تحقق هذا الشرط سيتم تنفيذ هذا الامر وهو

http://public.bay.livefilestore.com/y1p3KCaUOku-UyTYGma-CQ5lseN5YYmLGT8Ko649zqD8tUg0OKBwY3pArkB7-b4DXnNushQYWECJGvwYSEcNmk-3w/1515.png

حيث ان ال total2 وهى ناتج الجمع النهائى
اما ال total1 هى القميه الاولى المراد جمعها وهى تساوى 5 حسب مثالنا
اما ال double.Parse(textBox1.text); فهى القيمه الثانيه وهى تساوى 3 حسب مثالنا
واذا طبقنا المعادله ستكون هكذا
Total2=5+3
Total2 =8
اما السطر الثانى من الكود وهو كود عرض النتيجه
حيث ان ال textbox1 هتساوى قيمة الجمع وهى قيمة ال total2 اما الامر tostring() فهذا كما عرفنا قبل ذلك ان ال textbox1 لا يقبل الا نص وناتج الجمع عدد
لذلك هذا الامر يحول العدد الى نص حتى يقبله ال textbox
اما السطر الثالث من الكود وهو total1 = 0;
فهو يجعل ذاكرة البرنامج خاليه حتى تكون جاهزه الى عمليه اخرى

الشرط الثانى
واذا لم يتحقق اول شرط سينتقل البرنامج الى الشرط الثانى
وهو لو كانت خاصية الطرح نشطه
وسيقوم بتنفيذ الامر وهو

http://public.bay.livefilestore.com/y1pIm5aTPDaeddFBzbKLRR867HWF0-JzgZs1C6MJ8O8xfc1oQrvFrgJNnTH6veLXEAj4pjaCiAcrlR5Z 80x457nzQ/1616.png

حيث ان total2 هى ناتج عملية الطرح
اما ال total1 فهى القيمه التى تم تخزينها فى البرنامج وهى كما فى مثالنا5
اماdouble.Parse(textBox1.text) فهى القيمه الاخيره وهى 3 كما فى مثالنا
وعند تطبيق المعادله ستكون هكذا
Total2 =5-3
Total2=2
اما السطر الثانى والثالث فهو كما فى حالة الجمع

ندخل على الشرط الثالث
وهو اذا كانت خاصية الضرب نشطه else if (btnMult == true)
فيتم تنفيذ الامر التالى وهو

http://public.bay.livefilestore.com/y1pIm5aTPDaeddtvZbnijCvgtRp4j6pyMGD6ZhGNx0vrO3Mj9K e-u0j0R6tgzRV2AIfP5SnT7fA6Jgc3lhykbaBKA/1717.png


السطر الاول من الكود يختلف اختلاف بسيط عن حالة الجمع والطرح
وذلك لاننا استخدمنا المتغير total3 وهو العدد الذى تم تخزينه فى البرنامج بقيمة العدد الاول المراد ضربه وهو العدد5 كما فى مثالنا
والسطر الثانى كما فى حالة الجمع والطرح
اما السطر الثالث فهو يجعل قيمة total3 ترجع الى قيمتها الافتراضيه التى افترضناها فى الاول
ويكون تطبيق المعادله هكذا
Total3=5*3
Total3=15

ونأتى الشرط الرابع
وهو شرط حالة القسمه وهو else if (btnDivide == true)
واذا تحقق هذا الشرط سيتم تنفيذ الامر الذى يليه وهو
total2 = total3 / double.Parse(textBox1.text);
textBox1.text = total2.ToString();
total3 = 1;
هذا الكود مثل كود حالة الضرب تماما ولا يختلف كثير الا فى تغيير علامة القسمه
واخر كود لاخر زر عندنا وهو زر الac وظيفة هذا الزر هو انه يقوم بمسح محتوىtextbox1 ويكون كوده هكذا

http://public.bay.livefilestore.com/y1pMvmFfAp16veqC6woNL1xmpJG7gZjxewJGEq65-1NrFA8CuHbbUZ3IXSNWqzrzi2Zwz7djSh2EvMxliLYpDCXag/1919.png

ويتضمن الكود الامر clear() وهو ان يتم حذف محتوى الtextbox1
وختاما اتمنى ان اكون قد وفقت فى شرح هذا الدرس على اكمل وجه
واتمنى ان تكونوا قد استفدتم معانا
والى درس اخر ان شاء الله

khaledbelal
02-27-2010, 08:51 PM
جزاك الله خيرا
ورزقك الله علما نافعا
ووفقك في الدنيا والاخرة

microtop
02-27-2010, 08:58 PM
يجزيك ربى عنى كل خير وبارك الله فيك
على مرورك الطيب وتشريفك لموضوعى

alaa11_44
08-14-2011, 01:21 PM
السلام عليكم اخي
شكرا على هذا البرنامج
جزاك الله كل خير
برنامج رائع جداً
ممكن كيفية عمل مشروع صغير يشغل موسيقا مع تحديد المستخدم الصيغ المراد تشغيلها من قبل المستخدم
ولكم جزيل الشكر
مشكورررررررررررررررررررررررررررررررررررررررررررررر رررررررررررررررررررررررررررررررريييييييييييييييييي ييييننننننننننننن

khaledbelal
08-14-2011, 06:15 PM
السلام عليكم اخي
شكرا على هذا البرنامج
جزاك الله كل خير
برنامج رائع جداً
ممكن كيفية عمل مشروع صغير يشغل موسيقا مع تحديد المستخدم الصيغ المراد تشغيلها من قبل المستخدم
ولكم جزيل الشكر
مشكورررررررررررررررررررررررررررررررررررررررررررررر رررررررررررررررررررررررررررررررريييييييييييييييييي ييييننننننننننننن

وعليكم السلام ورحمة الله وبركاته
بارك الله فيك اخي الكريم علاء

تفضل يا غالي هذا كتاب يشرح كيفية عمل مشغل فيديو وصوت بالسي شارب
اضغط هنا (http://www.kutub.info/library/book/2985)

سعدت بتواجدك معنا

hamset gaza
11-19-2011, 04:03 AM
شكرا جدا على موضوعكوا الرائع..والشرح المفصل المميز..فرحت كثيرا عندما وجدته لأن البحث عنه أجهدني كثيرا....

ِ

hamset gaza
11-19-2011, 04:52 AM
السلام عليكم
لو سمحتوا كيف بدي أعمل ويندوز فورم(سي شارب) يكون الoutput شكل مرسوم(معين مثلا)