Total Pageviews

Monday, June 20, 2022

सी.शार्प में ‘गणक’ का विकास (Developing ‘Calculator’ in C#)

     

सी.शार्प में गणकका विकास करने के लिए सर्वप्रथम आरंभ पृष्ठ पर जाएँ और ‘New Project’ पर क्लिक करें। अब New Project विंडो में Application Name में प्रोजेक्ट का नाम ‘Calculator’ रखिए। इसके बाद Location के आगे प्रोजेक्ट को संग्रहीत करने का स्थान निर्दिष्ट कर OK बटन को क्लिक करें। अब कार्य विंडो खुल जाएगी। इसमें टूलबॉक्स से निम्नलिखित कंट्रोलों को फॉर्म पर लाना है:

Ø  एक टेक्स्टबॉक्स

Ø  17 बटन कंट्रोल

अब इन्हें एक गणक में पाए जाने वाले बटनों की तरह व्यवस्थित करें जिससे कि ये इस प्रकार दिखने लगेंगे :

      

प्रापर्टी परिवर्तित करना :

1.       Text Property: अब इन बटनों की text प्रापर्टी में संख्याओं और गणितीय संचालकों को अंकित करें जिससे कि यह गणक की तरह दिखने लगे :

           

2.       Backcolor : इसे क्लिक करके अपनी पसंद के किसी के किसी पृष्ठ रंग का चयन करें; जैसे: इस प्रोग्राम में फॉर्म के पृष्ठ रंग के लिए ‘ActiveCaption’ का चयन किया गया है। संख्यात्मक बटनों के पृष्ठ रंग के लिए ‘GreyText’ और अन्य बटनों के लिए ‘ControlLight’ का चयन किया गया है।

3.       Font : सबको एक साथ सलेक्ट करके फॉन्ट Style को ‘Bold’ और Size को ‘12’ करें। अब फॉर्म इस प्रकार दिखना चाहिए :


 

4.       Name Property: सभी संख्यात्मक बटनों को क्रमश: b1, b2, b3….b9 और b0 नाम दें। इसके बाद अन्य बटनों का नाम bPlus, bMinus, bMulti, bDevide, bDot, bClear और bResult रखें। इसमें ‘b’ ‘button’ का संक्षिप्त रूप है जिससे कि इन्हें हम कोड में आसानीपूर्वक पहचान सकेंगे। टेक्स्टबॉक्स का नाम calTb (calculation textbox) रखें।

कोडिंग :

1.       संख्यात्मक मूल्य वाले बटनों की कोडिंग : यहाँ पर संख्यात्मक मूल्य वाले बटनों की कोडिंग करते हुए हमें यह ध्यान रखना चाहिए कि इसे क्लिक करने के परिणामस्वरूप क्या होना चाहिए? यहाँ पर केवल इतना करना है कि किसी भी संख्यात्मक बटन को क्लिक करते ही उस पर अंकित पाठ (text, जैसे: 1, 2, 3.... आदि) टेक्स्टबॉक्स में आ जाए। किंतु टेक्स्टबॉक्स में पहले से उपलब्ध संख्या भी उसमें रहनी चाहिए। अब हमें यह याद रखना चाहिए कि टेक्स्टबॉक्स में केवल text टाइप के वैल्यू ही रहते हैं, जिन्हें तकनीकी रूप से string कहा जाता है। अब इनके साथ बटनों के ऊपर अंकित text जोड़ने के लिए string concatenation संचालक (+) का प्रयोग करना होगा। यहाँ पर यह गणितीय योजक की तरह संख्याओं को जोड़ने का कार्य नहीं बल्कि वर्णों के आगे वर्ण जोड़ने का कार्य करता है; जैसे: ram + a =rama, इसी प्रकार 12 + 3 = 123 होगा। अत: प्रत्येक संख्यात्मक बटन double click करके उनकी कोडिंग इस प्रकार करें:

         private void b1_Click(object sender, EventArgs e)

        {

            calTb.Text += b1.Text;

        }

        private void b2_Click(object sender, EventArgs e)

        {

            calTb.Text += b2.Text;

        }

        private void b3_Click(object sender, EventArgs e)

        {

            calTb.Text += b3.Text;

        }

        private void b4_Click(object sender, EventArgs e)

        {

            calTb.Text += b4.Text;

        }

        private void b5_Click(object sender, EventArgs e)

        {

            calTb.Text += b5.Text;

        }

        private void b6_Click(object sender, EventArgs e)

        {

            calTb.Text += b6.Text;

        }

 

        private void b7_Click(object sender, EventArgs e)

        {

            calTb.Text += b7.Text;

        }

        private void b8_Click(object sender, EventArgs e)

        {

            calTb.Text += b8.Text;

        }

        private void b9_Click(object sender, EventArgs e)

        {

            calTb.Text += b9.Text;

        }

        private void b0_Click(object sender, EventArgs e)

        {

            calTb.Text += b0.Text;

        }

        private void bDot_Click(object sender, EventArgs e)

        {

            calTb.Text += bDot.Text;

      }

2.       Clear बटन : इसको दबाने पर टेक्स्टबॉक्स खाली हो जाना चाहिए। इसलिए इसकी कोडिंग इस प्रकार करें :

        private void bClear_Click(object sender, EventArgs e)

        {

            calTb.Clear();

        }

3.       गणना बटन (+, -, *, /): इनको क्लिक करने पर टेक्स्टबॉक्स में आई संख्या को प्रथम चर (variable) में चली जानी चाहिए और इसके बाद हमें यह भी पता चलना चाहिए कि किस बटन को दबाया गया है। अत: सर्वप्रथम हमें तीन चरों को declare करना होगा। जो double[1] टाइप के होंगे। इनके अतिरिक्त एक string टाइप का चर लेंगे जो यह सूचित करेगा कि किस बटन को दबाया गया है। इन चरों को किसी भी बटन के मझोले कोष्ठकों के अंदर declare नहीं कर सकते हैं क्योंकि इनका उपयोग एक से अधिक बटनों द्वारा किया जाना है। अत: सर्वप्रथम कर्सर को private void bPlus_Click(object sender, EventArgs e) के पहले लाकर इंटर दबाएं जिससे कि यह एक पंक्ति नीचे आ जाए। अब ऊपर की पंक्ति में तीन double चर और एक string चर declare करके इन बटनों में इस प्रकार कोड करें :

        double frstNo, scndNo, rsltNo;

        string btnPressed;

        private void bPlus_Click(object sender, EventArgs e)

        {

            btnPressed = bPlus.Text;

            frstNo =double.Parse(calTb.Text);

            calTb.Clear();

        }

        private void bMinus_Click(object sender, EventArgs e)

        {

            btnPressed = bMinus.Text;

            frstNo = double.Parse(calTb.Text);

            calTb.Clear();

        }

        private void bMulti_Click(object sender, EventArgs e)

        {

            btnPressed = bMulti.Text;

            frstNo = double.Parse(calTb.Text);

            calTb.Clear();

        }

        private void bDevide_Click(object sender, EventArgs e)

        {

            btnPressed = bDevide.Text;

            frstNo = double.Parse(calTb.Text);

            calTb.Clear();

        }

इनमें चरों का declaration इस प्रकार दिखना चाहिए :

  

प्रत्येक बटन को क्लिक करते ही पहली संख्या पहले चर में चले जाने के अलावा टेक्स्टबॉक्स खाली भी हो जाना चाहिए क्योंकि तभी दूसरी संख्या डाली जा सकती है। अत: टेक्स्टबॉक्स को खाली करने के लिए प्रत्येक बटन के कोड में ‘calTb.Clear()’ मेथड का प्रयोग किया गया है।

4.       परिणाम बटन (=): इसको क्लिक करते ही दूसरी संख्या दूसरे चर में चली जानी चाहिए। अत: सर्वप्रथम दूसरे चर को वैल्यू assign करने का कोड लिखेंगे :

            scndNo = double.Parse(calTb.Text);

इसके बाद यह देखा जाएगा कि किस बटन को क्लिक किया गया है? इसके लिए conditional संचालकों का प्रयोग किया जाएगा। और जैसा कि ऊपर बताया जा चुका है कि क्लिक किए गए बटन को पहचानने के लिए ‘btnPressed’ चर को प्रत्येक बटन में वैल्यू दिया गया है जो बटन के टेक्स्ट (+, -,*,/) में से कोई एक होगा। अत: ‘if…else if’ का प्रयोग करके इसका परीक्षण किया जाना है। इसके बाद जो वैल्यू सत्य हो उसके अंदर लिखे गए कथन के अनुसार गणना की जाएगी। अत: इसकी कोडिंग इस प्रकार की जाएगी :

अब प्रोग्राम को रन करके बटनों को क्लिक कर वैल्यू डालें फिर आवश्यक गणना का कार्य करें क्योंकि आपका गणक तैयार हो चुका है।



[1]  यहाँ double इसलिए दिया गया है क्योंकि इनपुट के रूप में दी गई संख्याएँ दशमलव से युक्त भी हो सकती हैं।

No comments:

Post a Comment