Как сделать калькулятор в Delphi

Аватар пользователя pjlol
Не в сети
Последнее посещение: 2 года 33 недели назад
Зарегистрирован: 2014-07-04
Сообщения:

Я понимаю, что вопрос довольно глупый, но вот я изучаю уже почти месяц такую среду разработки как Delphi, и у меня с кодом для калькулятора ничего не получается. И вот я уже окончательно приуныла и решил обратится к вам за помощью, ведь в интернете так и не смогла найти то что мне нужно. Все как-то слишком усложнено. Объясните, пожалуйста, хотя бы на пальцах что нужно сделать. Можно и без кода. Просто хочу знать алгоритм постройки.

Аватар пользователя tornado5
Не в сети
Последнее посещение: 4 недели 1 день назад
Зарегистрирован: 2014-06-24
Сообщения:
Создание калькулятора на

Создание калькулятора на Delphi в двух словах не опишешь, хотя, я бы не сказал, что это сильно сложная программа. Начать нужно её написание с очистки Edit. Ну а пошаговую инструкцию, как написать калькулятор на Delphi вы можете прочитать вот здесь: http://primat.org/publ/kalkuljator_na_de..., так как в одно сообщение точно не влезет.

Аватар пользователя tivik
Не в сети
Последнее посещение: 2 года 26 недель назад
Зарегистрирован: 2014-09-25
Сообщения:
Как печально, что в Паскале

Как печально, что в Паскале нет аналогов PHP функции eval...



Не малую роль тут играет то, как вы хотите использовать компонент Edit - как средство ввода или же только для вывода. В калькуляторах обычно кнопки, а в Edit просто выводятся выражения.

В общем, в данной ситуации вам либо нужно исследовать Edit на введенные в него данные, которых может быть туча, либо использовать кнопки для ввода цифр. Я за 2 вариант. Ниже инструкция по созданию самого элементарного калькулятора целых чисел.



Создаем 9 кнопок для цифр и 6 для знаков (точка - тоже знак), 3 глобальные переменные - One, Two, No. Первые две - для чисел, последняя - строка. Объясню смысл:

One - первое число выражения. Two - второе. (к, примеру One+Two).

No - при пустоте говорит, что работать надо с One, при нажатии на кнопку-знак, записывает в себя этот знак и говорит, что работать надо c Two.

И так, теперь при нажатии на кнопку какой-либо цифры One или Two, зависимо от No, будет изменятся. А именное: Если переменная пуста, то станет равна нажатой цифре-кнопке, если нет, то приравниваем ее текущему значению, умноженному на 10 + цифре на кнопке. К примеру, было 2, нажали 5, получится 2*10+5=25.

Нажали знак - записали его в No. Ввели так же, как One переменную Two.

В итоге у нас примерно такая композиция: One=25, Two=57, No="+".

При нажатии любого знака, включая равно проверяем No через конструкцию Case of. И в зависимости от знака делаем нужное действие с числами One и Two. Если было нажато не =, а, к примеру +, то приравниваем One получившемуся числу, а No нажатому знаку.


Но это лишь наброски, нужно проработать мелочи, удобства и сделать все грамотно. В одном сообщении и половины не описать....

Аватар пользователя igorstrong
Не в сети
Последнее посещение: 28 недель 19 часов назад
Зарегистрирован: 2015-04-27
Сообщения:
На официальном сайте продукта

На официальном сайте продукта руководство читать не пробовали? В самой программе существует десятки алгоритмов для создания калькулятора. На пальцах объяснить не получится. Существует десятки кодов для настройки алгоритма, под дизайн, под математические функции. В конце концов еще необходимо прописать сам алгоритм расчета. В общем, довольно сложно.