Бутон калкулатор за pascalabc
В този урок ще използваме знанията на обектно-ориентиран технологии (обектно-ориентираното програмиране
ация) създаде проста бутон калкулатор.На оглед нашия калкулатор ще изглежда така:
Така че започнете
Както споменах в преамбюла, ние се нуждаем ООП - подход, което означава, ние ще използваме класовете и техните случаи.
В този случай, ние ще се свърже модула VCL. който е отговорен за създаването на най-различни форми и елементи: бутони, редактиране на полета, ключове, текстови полета.
За всеки един от тези елементи формира VCL класове единици вече са готови, така че за разлика от предишната статия (за основите на обектно-ориентиран), ние имаме класове самите не създават и ще създават само случаи на класове.
В променлива блок декларация, ние трябва да се изброят имената на всички тези бъдещи случаи:
Това, което имаме тук: MainForm - копие на формуляра за клас, т.е. самата форма - самата "кутия" за формирането на бъдещето,
Bsum - инстанция на класа Button. т.е. бутон. Това е сумиране на бутона,
Брас - копие от бутони Разлика
BPR - копия на бутона работа
Bdel - бутони например дивизия
Bres - копие от бутона Резултати
Bclean - Бутон за изчистване инстанция
полета за въвеждане на данни за копиране - T1
Също така, ние се нуждаем от променливата "работа" - тя ще съдържа номер на транзакцията (това ще стане ясно по-долу), променлива ечат - ще се съхранява резултат цяло число, променлива RR - ще запази реалния резултат от операция, x1, x2 - това операнди тази, на която ще бъде направен аритметика.
И сега самия орган на програмата:
Първо, създаване на поредица от случаи, първоначално всички ние се нуждаем обекти с желаните свойства:
Конзолите в формулярите образци ukazyny 4 цифри (х отстъп, Y на отстъп, ширина, височина), където х и у отстъп отстъп - е разчленена горния ляв ъгъл на формата от горния ляв ъгъл на екрана.
За да влезете в областта, както и копия от ключовете и уплътнение х тире - това се компенсира от горния ляв ъгъл на самата форма.
За копия на ключовете веднага определят свойствата "Надпис" - заглавие, попитайте вашия етикет за всеки бутон.
Обработка методи например
В тази програма, ние ще използваме методите за случаи на бутони кликване на мишката - "OnClick" - буквално преведено, когато се натисне.
Ако събитие "Click" за всеки отделен случай, което наричаме вашата процедура:
Сега остава да се опише 6, изброени в описанието на процедури процедури:
За да се справят с кликвания върху бутон Bsum (сумиране)
При тази процедура, ние разчитаме на съдържание x1 променливи полета за въвеждане (с едновременно предефиниране на низа тип в цяло число), и тя веднага се изчисти терена. Също така определя променлива операция на сумиране на кода на операция (в този случай 1).
За да се справят с Брас щракване върху бутона (разликата):
Подобно буксуване стойност вход поле променлива x1, изчистване на полето и получаване на опкод: 2.
За да се справят с BPR кликване върху бутона (на продукта):
Подобно буксуване стойност вход поле променлива x1, изчистване на полето и получаване на опкод: 3.
За да се справят с кликвания върху бутон Bdel (разделение):
Подобно буксуване стойност вход поле променлива x1, изчистване на полето и получаване на опкод: 4.
За да се справят с Bres кликване върху бутона (резултат на изчисление):
Когато кликнете върху бутона "=" за променливата x2 избутва съдържанието на полето за въвеждане. По това време в променливата x1 е влязъл първи номер е запазен, така че по-нататъшното изчислява посоченото действие. Ако кодът на операцията е равно на 1, а след това сумиране ако 2, изваждане, ако 3, умножение, ако 4, разделението. Така резултатът ще бъде работа в реална променлива RR.
Но има един проблем: в текстовото поле може да бъде само низова променлива. Как да конвертирате число в низ. Има една функция в Pascal: inttostr (х) - тя се обръща тип цяло число в низ. Но ние имаме реални резултати (тъй като след операцията в резултат на разделение винаги единствената реална). Ето защо, ние трябва да се направи междинен превод на реална променлива в цяла:
ечат: = кръг (RR); - в този случай ние сме се възползвали от тази възможност закръгляване. Разбира се, ние жертваме в резултат на разделянето, рязане фракционния част. Това е най-честен недостатък на тази програма, която ще премахне в следващия урок.
Имаше миналата процедура - процедура на текстовото поле, за почистване.
При обработката на Bclean натискане на бутона (ясно):
Програмата е завършена.
Ето и пълния код на програмата: