Monday, March 10, 2014

Lesson 3 এর লেজ :P

  ধরুন আগের লেসনে শেখা প্রোগ্রামটি রান করে যোগ করতে গেলো কিন্তু ইনপুট কিছুই দিলো না। কি হবে? 
প্রোগ্রামটি নিচের চিত্রের মতন ক্রাশ করবে।

 Debug>Stop Debugging দিন।
 
যাতে এই সমস্যা না হয়, সেজন্য কিছু কন্ডিশন add করে নিতে পারেন। সেটা অনেকভাবেই করা যায়।
পদ্ধতি ১:  আপনার কোড টির আগে নিচের মত if-else  যুক্ত করুন।
          private void btnResult_Click(object sender, EventArgs e)
        {
            if (txtNum1.Text.Length > 0 && txtNum2.Text.Length > 0)
            {
                double num1 = double.Parse(txtNum1.Text);
                double num2 = double.Parse(txtNum2.Text);
                double res = num1 + num2;
                txtResult.Text = res.ToString();
            }
            else
            {
        MessageBox.Show("Please check your text box", "Error",
          MessageBoxButtons.RetryCancel, MessageBoxIcon.Error);
            }
        }
এবার execute করে দেখুন। 
 
এই logic এর মানে হল user যখন textbox কোন কিছু input না দিবে তখন textbox string length null দেখাবে। যদি input string length 0 থেকে বড়ো হয় তাহলেই program execute করবে। আর input string length 0 বা null হলে message show করবে।  
পদ্ধতি ২:
          private void btnResult_Click(object sender, EventArgs e)
        {
            try
            {
                double num1 = double.Parse(txtNum1.Text);
                double num2 = double.Parse(txtNum2.Text);
                double res = num1 + num2;
                txtResult.Text = res.ToString();
            }
           
            catch
            {
              MessageBox.Show("Please check your text box", "Error",
                   MessageBoxButtons.RetryCancel, MessageBoxIcon.Error);
            }
        }
এর মানে হল try অংশের ভিতরে যা থাকবে C# প্রথমে সেটাকে execute করবে। আর যদি user কোন ভুল করে তাহলে সেটা catch অংশে প্রদর্শন করবে। ক্রিকেট খেলায় ব্যাটসম্যান try করে ব্যাট বলে লাগানোর জন্য। যদি না পারে তাহলে উইকেটকিপার catch ধরে। ব্যাপারটা অনেকটা সেরকম।
একটা জিনিস মনে রাখবেন, if-else বা try…catch করতে হবে ক্ষেত্র বুঝে। if-else use করতে হয় logically আপনি কোন কাজ করলে। আর try…catch করতে হয় exception throw করতে।
এখন আমি দেখাব কিভাবে কোডিং করে আপনার সফটওয়্যার কে close করবেন।
Toolbox থেকে আরেকটি button drug and drop করুন। properties থেকে method name এবং Text name change করুন। method name দিন btnClose এবং Text name দিন "প্রোগ্রাম বন্ধ করুন".


Close Button Double Click করে নিচের কোডটি লিখুন।
          private void btnClose_Click(object sender, EventArgs e)
        {
            this.Close();
        }
এবার Compile করে test করুন।
 
 
;