في الدرس السابق وصلنا في الالة الحاسبة إلى هذا الكود
( مع العلم إننا قد أضفنا 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]
إلى لقائنا في الدرس القادم إن شاء الله