آموزش ساخت ماشین حساب در دلفی

  • 1389/2/28
  • سپهر خيري
  • 6

پس از اموزش تعریف و کار با متغیرها در مقاله قبلی حالا نوبت به استفاده از انها در یک پروژه عملی است!

قبل از هرپروژه ما باید روند کار انرا در ذهنمان مدل سازی کنیم که چه ویژگی ها و امکاناتی در صفحه برنامه خود نیاز داریم برای مثال در این برنامه ما نیاز به 3 edit  داریم 2 تا برای ورود 2 عدد و 1 عدد برای نشان دادن جواب و طبعا سری کلید های رایج اعمال ریاضی که در همه ماشین حساب ها موجود میباشد

پس ابتدا ظاهر برنامه را تشکیل میدهیم و امکانات و کلید های مورد نیاز را از پنل استاندارد به فرم خود اضافه میکنیم . موارد مورد نیاز عبارت است از:

1:کلیدها  ( (button که شامل + = – * / mod  میباشد

2: 3 عدد edit که در بالا به کار ان اشاره شد

3:یک دکمه close

طبق مقاله شماره 1 به قسمت object inspector  هر کلید رفته و در قسمت Caption  ان نام انرا به عملیات ریاضی تغییر دهید و قسمت برای edit  ها قسمت Caption  را کاملا پاک کنید

عکس1:

پس از اماده سازی ظاهری برنامه نیاز به کد داریم و در قسمت کد ابتدا به سراغ متغیر ها میرویم

در اینگونه پروژها بهتر است متغیرهارا سراسری تعریف کنیم چون در همه قسمت های برنامه 2 عدد کاربر مورد نیاز است و که مقدار ثابتی دارد و همه عملیات روی ان 2 عدد صورت میگیرد

پس در قسمت var  برنامه اصلی 3 متغیر در نظر میگیرم 2 متغیر برای اعداد کاربر و 1 متغیر برای نتایج

Var A,b,c:integer;

پس از تعریف متغیرها به سراغ button هایمان میرویم تا در هرکدام از انها عملیات مربوط را کد نویسی کنیم

برای button +  :

A:=strtoint(edit1.text);

B:=strtoint(edit2.text);

C:=a+b;

Edit3.text:=inttostr(c);

کد بالا ابتدا 2 عدد را از کاربر گرفته و با استفاده  از 2 تابع strtoinT و inttostr  انها را تبدیل و در متغیر ها میریزد(دلیل استفاده از توابع نام برده در مقاله قبلی گفته شده است)

پس از مقداردهی متغیرها نوبت به عملیات روی انها میرسد که خط سوم این کار را انجام میدهد و پس از عملیات نوبت به نمایش ان میرسد که در خط 4 این عمل دیده میشود

البته راه های گوناگونی برای نمایش نتیجه وجود دارد برای مثال کد

Showmessage(inttostr(c));

که به صورت یک پیغام همراه با تایید عدد را نمایش میدهد

کد مربوط به عملگر منها:

کد دقیقا مانند بالا میباشد به چند تفاوت کوچک:

1:این کد در button  مربوط به منها نوشته میشود

2:شما به جای عملگر + از عملگر – استفاده میکنید

چون متغیر شما سراسری تعریف شده است این امکان مشترک بودن کدها وجود دارد در غیر اینصورت نیاز به تعریف متغیر در هر ButTon  وجود داشت و بسته به نام انها کد تغییر میکرد

کد های مربوط به ضرب و تقسیم و mod   نیز مانند موارد بالا شکل میگیرد

ولی اگر شما نیاز به تقسیم با اعشار داشته باشید ((div کد شما نیاز به تغییراتی خواهد داشت چون در درجه اول حاصل عددی اعشاری خواهد بود و متغیر سراسری شما از نوع عدد صحیح میباشد پس در درجه اول متغیری در button  تقسیم اعشاری از نوع عدد اعشاری   (real) تعریف میکنیم  به صورت زیر:

Var a,b,c :real;

توجه کنید چون متغیر محلی است تشابه اسمی مشکلی ایجاد نمیکند .سپس کدهای بالا میتوانند عینا تکرار شوند با این تفاوت که کد عملگر شما به این صورت میشود:

C:=a div b ;

برای button  خروج نیز از کد close;  استفاده میکنیم

عکس2:

در نهایت اگر خطوط بالا را کامل و بدون عیب در فرم خود تایپ گرده باشید ماشین حساب  ساده ای با عملگرهای رایج خواهید داشت .

عکس3:

ذکر چند نکته برای راحتی کاربر:

برای اینکه استفاده کننده از ماشین حساب دچار سردرگمی نشود بهتر است از امکان lable  نیز استفاده کنیم تا کاربر بتواند محل قرار دادن اعداد و دیدن نتیجه را مشاهده کند به این صورت که شما نیاز به 3 lable  و اوردن ان از پنل استاندارد دارید و قرار دادن ان مانند شکل زیر در کنار edit  ها و تغییر نام ان به صورت دلخواه

عکس 4:

در مقاله بعد به شرح دستورات شرطی رایج در دلفی میپردازیم

دیدگاه خود را وارد کنید
تعداد دیدگاه ها : 6 دیدگاه
  1. سلام واقعا عالی بود لطفا پروژه ها ی زیادی را توضیح بدهید که چگونه با دلفی کد نویسی شوند لطفا از تصاویر هم استفاده کنید.

  2. میخوام ماشین حساب طراحی کنم
    هر عملگری یدونه دکمه به حساب میاد و یه دکمه ی مساوی هم هست
    فقط یدونه edit داریم که باید طوری طراحی بشه که عدد اول و دوم داخل همون یدونه وارد بشه در نهایت جواب نهایی هم داخل همون edit باشه.
    میشه راهنماییم کنید؟؟؟؟

  3. خیلی طولانیش کردی ////// من خودم یه ماشین حساب درس کردم تو دلفی مو نمیزنهههه
    /// اینطوری که شما کد نوشتی حجم برنامه از هارد ما بیشترهههههه

  4. سلام ببخشید من استادمون ازم اینو خواسته متاسفانه هرجا گشتم درموردش موضوعی و مطلبی پیدانکردم خواهش میکنم اگ میدونین کجا متنی درموردش هست بم بگین توروخدا
    پیاده سازی یک صحنه متحرک با استفاده از تکنولوژی اپن جی ال Opengl
    این موضوعشه منتظرجوابتونم
    توروخدا جوابمو بدین

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *