Бутон калкулатор за pascalabc

В този урок ще използваме знанията на обектно-ориентиран технологии (обектно-ориентираното програмиране

Бутон калкулатор за pascalabc
ация) създаде проста бутон калкулатор.

На оглед нашия калкулатор ще изглежда така:

Така че започнете

Както споменах в преамбюла, ние се нуждаем ООП - подход, което означава, ние ще използваме класовете и техните случаи.

В този случай, ние ще се свърже модула VCL. който е отговорен за създаването на най-различни форми и елементи: бутони, редактиране на полета, ключове, текстови полета.

За всеки един от тези елементи формира VCL класове единици вече са готови, така че за разлика от предишната статия (за основите на обектно-ориентиран), ние имаме класове самите не създават и ще създават само случаи на класове.

В променлива блок декларация, ние трябва да се изброят имената на всички тези бъдещи случаи:

Това, което имаме тук: MainForm - копие на формуляра за клас, т.е. самата форма - самата "кутия" за формирането на бъдещето,

Bsum - инстанция на класа Button. т.е. бутон. Това е сумиране на бутона,

Брас - копие от бутони Разлика

BPR - копия на бутона работа

Bdel - бутони например дивизия

Bres - копие от бутона Резултати

Bclean - Бутон за изчистване инстанция

полета за въвеждане на данни за копиране - T1

Също така, ние се нуждаем от променливата "работа" - тя ще съдържа номер на транзакцията (това ще стане ясно по-долу), променлива ечат - ще се съхранява резултат цяло число, променлива RR - ще запази реалния резултат от операция, x1, x2 - това операнди тази, на която ще бъде направен аритметика.

И сега самия орган на програмата:

Първо, създаване на поредица от случаи, първоначално всички ние се нуждаем обекти с желаните свойства:

Бутон калкулатор за pascalabc

Конзолите в формулярите образци ukazyny 4 цифри (х отстъп, Y на отстъп, ширина, височина), където х и у отстъп отстъп - е разчленена горния ляв ъгъл на формата от горния ляв ъгъл на екрана.

За да влезете в областта, както и копия от ключовете и уплътнение х тире - това се компенсира от горния ляв ъгъл на самата форма.

За копия на ключовете веднага определят свойствата "Надпис" - заглавие, попитайте вашия етикет за всеки бутон.

Обработка методи например

В тази програма, ние ще използваме методите за случаи на бутони кликване на мишката - "OnClick" - буквално преведено, когато се натисне.

Ако събитие "Click" за всеки отделен случай, което наричаме вашата процедура:

Бутон калкулатор за pascalabc

Сега остава да се опише 6, изброени в описанието на процедури процедури:

За да се справят с кликвания върху бутон Bsum (сумиране)

При тази процедура, ние разчитаме на съдържание x1 променливи полета за въвеждане (с едновременно предефиниране на низа тип в цяло число), и тя веднага се изчисти терена. Също така определя променлива операция на сумиране на кода на операция (в този случай 1).

За да се справят с Брас щракване върху бутона (разликата):

Подобно буксуване стойност вход поле променлива x1, изчистване на полето и получаване на опкод: 2.

За да се справят с BPR кликване върху бутона (на продукта):

Подобно буксуване стойност вход поле променлива x1, изчистване на полето и получаване на опкод: 3.

За да се справят с кликвания върху бутон Bdel (разделение):

Подобно буксуване стойност вход поле променлива x1, изчистване на полето и получаване на опкод: 4.

За да се справят с Bres кликване върху бутона (резултат на изчисление):

Бутон калкулатор за pascalabc

Когато кликнете върху бутона "=" за променливата x2 избутва съдържанието на полето за въвеждане. По това време в променливата x1 е влязъл първи номер е запазен, така че по-нататъшното изчислява посоченото действие. Ако кодът на операцията е равно на 1, а след това сумиране ако 2, изваждане, ако 3, умножение, ако 4, разделението. Така резултатът ще бъде работа в реална променлива RR.

Но има един проблем: в текстовото поле може да бъде само низова променлива. Как да конвертирате число в низ. Има една функция в Pascal: inttostr (х) - тя се обръща тип цяло число в низ. Но ние имаме реални резултати (тъй като след операцията в резултат на разделение винаги единствената реална). Ето защо, ние трябва да се направи междинен превод на реална променлива в цяла:

ечат: = кръг (RR); - в този случай ние сме се възползвали от тази възможност закръгляване. Разбира се, ние жертваме в резултат на разделянето, рязане фракционния част. Това е най-честен недостатък на тази програма, която ще премахне в следващия урок.

Имаше миналата процедура - процедура на текстовото поле, за почистване.

При обработката на Bclean натискане на бутона (ясно):

Програмата е завършена.

Ето и пълния код на програмата:

Бутон калкулатор за pascalabc