সি# টিউটোরিয়াল: সিম্পল ক্যালকুলেটর ফারহানা শারমিন মুন্নি


প্রোগ্রামিং শিখতে গিয়ে সবাই ক্যালকুলেটর রিলেটেড প্রজেক্ট করে থাকে। আমরাও আজকে দেখব কিভাবে একটি ক্যালকুলেটর তৈরি করা যায়। এই প্রোগ্রামটি আনেকের কাছে খুবই সিম্পল হলেও এটি দিয়ে আমরা ঈ# প্রোগ্রামিং ল্যাংগুয়েজের বেশ কিছু সিনটেক্স শিখে ফেলব। চলুন শুরু করা যাক আমাদের আজকের প্রজেক্টটি।
5 inch, Full HD (1920 x1080) pixels, ROM 32GBRAM2GB,Primary13MP,Secondary

উইন্ডোজ ফরম আপ্লিকেশনের সাহায্যে আমাদের ক্যালকুলেটরটি তৈরি করা হবে। ফরমটির উপর দুটো ঃবীঃ নড়ী থাকবে দুটো সংখ্যার ইনপুট নেয়ার জন্য। আরেকটি ঃবীঃ নড়ী থাকবে সংখ্যা দুটোর যোগফল প্রদর্শন করার জন্য। মাঝে একটি বাটন থাকবে, এই বাটনে প্রেস করলে ঃবীঃ নড়ী দুটো থেকে সংখ্যা দুটোকে নিয়ে নিবে। তারপরে যোগফল যা হবে তা শেষের ঃবীঃ নড়ী টিতে প্রদর্শন করবে। এই বাটনটির ক্লিক ইভেন্টের ভেতরই আমাদের সব ক্যালকুলেশন লিখতে হবে।
প্রথমে সফটঅয়্যারটির গ্রাফিক্যাল ইউজার ইন্টারফেস তৈরি করা যাক। ঠরংঁধষ ঝঃঁফরড় চালু করে ঋরষব মেন্যু থেকে ঘবি চৎড়লবপঃ ক্লিক করতে হবে। এই কাজটি করলে ঋরমঁৎব-১-এর মত একটি উইন্ডো ওপেন হবে। এখান থেকে ডরহফড়ংি ঋড়ৎস অঢ়ঢ়ষরপধঃরড়হ-টি সিলেক্ট করতে হবে। তারপর আপনি কম্পিউটারের যে লোকেশনে ফাইলটটি সেভ করতে চান সেটি দেখিয়ে দিতে হবে। এবার ঙক প্রেস করলে নতুন একটি প্রজেক্ট ফাইল ওপেন হবে। শুরুতেই আমরা একটি খালি উইন্ডোজ অ্যাপ্লিকেশন ফরম দেখতে পাব। এবার এই ফরমটির ভেতর আমাদের সফটঅয়্যারের প্রয়োজনমত টুল নিয়ে আসব।
আমাদের আজকের প্রজেক্টের জন্য তিনটি ঃবীঃ নড়ী লাগবে। প্রথমে ফরমের ভেতর তিনটি ঃবীঃ নড়ী আঁকতে হবে। এবার ঃবীঃ নড়ী-গুলোর সাইজ ঠিক করে দিতে হবে। আমরা এখানে (৯৮,৪২) এই সাইজটি সেট করেছি। সাইজ সেট করার অনেক উপায় আছে। মাউস পয়েন্টারটি ঃবীঃ নড়ী এর উপরে আনলে ঃবীঃ নড়ী-টির অ্যাংকর পয়েন্ট দেখা যাবে। এবার এটি ধরে মাউস ড্র্যাগ করে ঃবীঃ নড়ী-টি ছোট বড় করা যাবে। এভাবে করে প্রতিটি ঃবীঃ নড়ী-এর সাইজ একই রকম করে দিতে হবে। এই সিস্টেমে একটি অসুবিধা আছে, যদি প্রজেক্টে অনেকগুলো ঃবীঃ নড়ী থাকে তাহলে এভাবে হয়ত সবগুলোর সাইজ একই রকমের নাও হতে পারে। এজন্য সাইজটি সংখ্যায় দিয়ে দিলে বিভিন্ন আকার হবার সম্ভাবনা কমে যাবে। প্রথমে ঃবীঃ নড়ী-টি সিলেক্ট করতে হবে। এবার চৎড়ঢ়বৎঃরবং উইন্ডোটির ভেতর ঝরুব প্যারামিটারটি দেয়ার একটি অপশন থাকবে, এখানে (৯৮,৪২) এই প্যারামিটারটি সেট করতে হবে। আপনারা ইচ্ছা করলে ঝযরভঃ শবু চেপে ধরে সবগুলো ঃবীঃ নড়ী কে সিলেক্ট করতে পারেন। তারপর চৎড়ঢ়বৎঃরবং উইন্ডোটি থেকে সাইজ সেট করতে পারেন। এভাবে করলে সবগুলোর সাইজ একইসাথে সেট হয়ে যাবে। ঃবীঃ নড়ী এর ঋৎড়হঃ প্যারামিটারটির উপরে ক্লিক করলে ঋৎড়হঃ এর ডায়লগ বক্স আসবে। এখান থেকে ঋৎড়হঃ এর সাইজ ১৬ করে দিতে হবে। এই প্রজেক্টের জন্য আমরা এই সাইজটি সিলেক্ট করেছি, আপনারা আপনাদের ইচ্ছেমত এসব প্যারামিটার সেট করে নিতে পারেন।
এবার ঃবীঃ নড়ী-গুলোর ঘধসব প্যারামিটারটি ঠিক করে দিতে হবে। এখানে আমরা যে নাম ঠিক করব, কোডিং করার সময়ও সেই নাম ব্যাবহার করে কোডিং করতে হবে। ফরমের সবচেয়ে বামের ঃবীঃ নড়ী-টির নাম দিয়েছি ভরৎংঃথহঁসনবৎ, দ্বিতীয় ঃবীঃ নড়ী-টির নাম দিয়েছি ঝবপড়হফথহঁসনবৎ এবং তৃতীয় ঃবীঃ নড়ী টির নাম দিয়েছি ৎবংঁষঃ।
আমাদের প্রজেক্টে ফরমটির ভেতর তিনটি ষধনবষ আছে। ষধনবষ-গুলোর শুধুমাত্র ঃবীঃ চৎড়ঢ়বৎঃরবং-টি পরিবর্তন করা হয়েছে। এগুলোর একেকটিতে ”+”, ”=” এবং ”ঝরসঢ়ষব ঈধষপঁষধঃড়ৎ এই লেখাটি আছে। এগুলো আসলে ফরমের ভেতর বিভিন্ন জায়গায় সাজনোর কাজ করেছে। আপনারা ফরমটি দেখলেই ব্যাপারটি বুঝতে পারবেন।
এই প্রজেক্টে আমরা দুটো বাটন ব্যবহার করেছি। একটি বাটন হচ্ছে যোগ করার জন্য এবং অন্য বাটনটি ব্যাবহার করেছি সফটঅয়্যারটি বন্ধ করার জন্য। যোগ করার কাজে ব্যবহৃত বাটনটির নাম দিয়েছি ধফফথনঁঃঃড়হ এবং এই বাটনটির ঃবীঃ চৎড়ঢ়বৎঃরবং হচ্ছে ধফফ। সফটঅয়্যারটি বন্ধ করার কাজে ব্যবহৃত বাটনটির নাম দিয়েছি বীরঃথনঁঃঃড়হ এবং এই বাটনটির ঃবীঃ চৎড়ঢ়বৎঃরবং হচ্ছে বীরঃ।
আমরা প্রথম দুটো ঃবীঃ নড়ী এ দুটো সংখ্যা লিখে তারপর ধফফ বাটনটির ওপর ক্লিক করলে যোগ করার জন্য কোডটি ঊীবপঁঃব হবে। তার মানে এই বাটনটির ক্লিক ইভেন্টের ভেতর কোড লেখা আছে। কোডিংয়ের প্রথম লাইনে আমরা তিনটি ভ্যারিয়েবলকে ডিক্লেয়ার করেছি। এই ভ্যারিয়েবলগুলো হচ্ছে ওহঃবমবৎ টাইপের বা সংখ্যাবাচক ভ্যারিয়েবল। পরের লাইনে, ধ=রহঃ.চধৎংব(ভরৎংঃথহঁসনবৎ.ঞবীঃ);এই কোডটি দিয়ে কয়েকটি কাজ করা হয়েছে।
প্রথমত ভরৎংঃথহঁসনবৎ নামের ঃবীঃ নড়ী টি থেকে তার ভেতর কী লেখা আছে তা রিড করা হয়েছে। এই সব ঃবীঃ নড়ী-এর ভেতর যে মানগুলো পাওয়া যায় তা ঝঃৎরহম টাইপের। কিন্তু আমাদের ভ্যারিয়েবলটি ওহঃবমবৎ টাইপের। সুতরাং ভ্যারিয়েবলটির ভেতর এই মান সরাসরি রাখা যাবে না। তার জন্য ঃবীঃ নড়ী থেকে মানটি রিড করে প্রথমেই ঝঃৎরহম টাইপ থেকে ওহঃবমবৎ টাইপে কনভার্ট করে নেয়া হয়েছে। এই কাজটি করার জন্য রহঃ.চধৎংব()এই ফাংশনটি ব্যবহার করা হয়েছে। এই ফাংশনের প্যারামিটার হিসেবে ঝঃৎরহম টাইপের ডাটাটি দেয়া হয়েছে। ফাংশনটি তখন ওহঃবমবৎ টাইপের ডাটা রিটার্ন করেছে। তার মানে রহঃ.চধৎংব(ভরৎংঃথহঁসনবৎ.ঞবীঃ)এটুকু ঊীবপঁঃব হবার পর মানটি হয়ে যাবে ওহঃবমবৎ টাইপের। এখন এই মানটিকে ধ নামের ওহঃবমবৎ টাইপের ভ্যারিয়েবলটির ভেতর রাখা হয়েছে। পরের লাইন ন = রহঃ.চধৎংব(ঝবপড়হফথহঁসনবৎ.ঞবীঃ); এটি দিয়েও ঠিক একই কাজ করা হয়েছে। এখানে পরের ঃবীঃ নড়ী থেকে ডটা রিড করে ওহঃবমবৎ টাইপের ভ্যারিয়েবলে কনভার্ট করে তারপর ন নামের ভ্যারিয়েবলটিতে রাখা হয়েছে।
তারমানে এখন ধ এবং ন এই দুটো ভ্যারিয়েবলগুলোর ভেতর আমরা যে সংখ্যা দুটো দিয়েছিলাম সেটি আছে। এখন আমরা এই দুটো সংখ্যাকে যোগ করব। পরের লাইনে প = ধ + ন;এই কমান্ডের মাধ্যমে ধ এবং ন ভ্যারিয়েবল দুটোর মানকে যোগ করা হয়েছে। তারপরে ফলাফলকে প নামের ভ্যারিয়েবলটির ভেতর রাখা হয়েছে। এবার আমাদের কাজ হচ্ছে প এর ভেতর যে মানটি আছে তা ৎবংঁষঃ ঃবীঃ নড়ী-এর ভেতর প্রদর্শন করা। এখানে কিন্তু টাইপ মিসম্যাচের অসুবিধাটি রয়েই গিয়েছে। প ভ্যারিয়েবলের ভেতর যে মানটি আছে তা ওহঃবমবৎ টাইপের। ঃবীঃ নড়ী-এর ভেতর তো ঝঃৎরহম টাইপের ডাটা ছাড়া প্রদর্শন করা যাবে না। তার জন্য প এর মানটিকে ঝঃৎরহম টাইপের ডাটায় কনভার্ট করা হয়েছে তারপরে তা প্রদর্শন করা হয়েছে। এই কাজ দুটো করা হয়েছে ৎবংঁষঃ.ঞবীঃ=প.ঞড়ঝঃৎরহম();এই লাইনের মাধ্যমে। প.ঞড়ঝঃৎরহম()কমান্ড দিয়ে প্রথমে ঝঃৎরহম-এ কনভার্ট করা হয়েছে, তারপর ৎবংঁষঃ.ঞবীঃ কমান্ডের মাধ্যমে ৎবংঁষঃ ঃবীঃ নড়ী-এর ভেতর প্রদর্শন করা হয়েছে।
ঊীরঃ বাটনটির ক্লিক ইভেন্টের ভেতর এক লাইনের একটি কোড লেখা হয়েছে, ঈষড়ংব();। এর মানে হচ্ছে উইন্ডোজ অ্যাপ্লিকেশন ফরমটি এবার বন্ধ করে দিতে হবে। এই ছিল আমাদের আজকের প্রজেক্ট। আশা করি আপনাদের প্রজেক্টটি বানাতে কোনো ধরনের অসুবিধা হবে না।
কোডিং:
রহঃ ধ, ন, প;
ধ = রহঃ.চধৎংব(ভরৎংঃথহঁসনবৎ.ঞবীঃ);
ন = রহঃ.চধৎংব(ঝবপড়হফথহঁসনবৎ.ঞবীঃ);
প = ধ + ন;
ৎবংঁষঃ.ঞবীঃ=প.ঞড়ঝঃৎরহম();

ফিডব্যাক: বহমসঁহহর@মসধরষ.পড়স


Please Share This Post.