Delphi для начинающих – Урок 6 – Пишем свой калькулятор

A

AngelOfLove

В этом уроке я покажу, как написать свой простой калькулятор на Delphi.Естественно, писать свой калькулятор мы будем не потому, что аналогичных калькуляторов не существует (взять хотябы стандартный калькулятор Windows), а потому, что сам процесс его написания будет очень познавательным для начинающих программистов. Переодически на сайте Cybern.ru будут появляться практические уроки для новичков и я очень надеюсь, что они помогут и вам в освоении программирования на Delphi.

Наш калькулятор будет несколько отличаться от интерфейса стандартного аналога Windows. В результате урока мы получим такой калькулятор:


Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.



Приступим.

Создайте новое приложение Delphi. Измените название формы (свойство Form1.caption) на «Учебный калькулятор».

Создайте на форме 2 компонента: Panel1 и Memo1. Далее присвойте свойству Panel1.align значение «albottom», а для свойства Memo1.align установите значение alclient. Должно получиться следующее:


Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.



Свойство align позволяет фиксировать визуальный компонент к какой либо стороне формы или растягивать компонент на всю форму. Поэкспериментируйте с этим свойством.

Теперь установите для Panel1.showcaption значение true, чтобы надпись на панеле исчезла.

В Memo1 у нас будут фиксироваться ход работы калькулятора, т.е. лог. Сотрите значение Memo1.lines, чтобы изначально на memo1 не было никакого текста. Установите значение ssBoth для Memo1.scrollbars. Также можете настроить шрифт у Memo1, это можно сделать благодаря расширенным настройкам шрифта параметра Font:


Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.



Открыть такое окно можно, кликнув по кнопке:


Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.



Внутри Panel1 расположите два Edit (Edit1 и Edit2) и четыре кнопки с надписями «+», «-«, «/»,»x» соответственно. У меня получилось так:

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.



Два нижних поля ввода нам понадобятся для ввода самих чисел, а 4 кнопки соответственно для выполнения с ними математических операций.

Создадим обработчики OnClick для кнопок «+», «-«, «/»,»x» (button1, button2, button3, button4 соответственно):
Код:
procedure TForm1.Button1Click(Sender:TObject);
var result:real;
a,b:real;
begin
// сохраняем значение дробей в переменных
a:=strtofloat(edit1.Text);
b:=strtofloat(edit2.Text);
// производим операцию
result:=a+b;
// выводим результат в виде примера в Memo1
memo1.Lines.Add(edit1.Text+' + '+edit2.Text+' = '+floattostr(result));
// очищаем поля ввода
edit1.Clear;
edit2.Clear;
end;
Код:
procedure TForm1.Button2Click(Sender:TObject);
var result:real;
a,b:real;
begin
// сохраняем значение дробей в переменных
a:=strtofloat(edit1.Text);
b:=strtofloat(edit2.Text);
// производим операцию
result:=a-b;
// выводим результат в виде примера в Memo1
memo1.Lines.Add(edit1.Text+' - '+edit2.Text+' = '+floattostr(result));
// очищаем поля ввода
edit1.Clear;
edit2.Clear;
end;
Код:
procedure TForm1.Button3Click(Sender:TObject);
var result:real;
a,b:real;
begin
// сохраняем значение дробей в переменных
a:=strtofloat(edit1.Text);
b:=strtofloat(edit2.Text);
// производим операцию
result:=a/b;
// выводим результат в виде примера в Memo1
memo1.Lines.Add(edit1.Text+' / '+edit2.Text+' = '+floattostr(result));
// очищаем поля ввода
edit1.Clear;
edit2.Clear;
end;
Код:
procedure TForm1.Button4Click(Sender:TObject);
var result:real;
a,b:real;
begin
// сохраняем значение дробей в переменных
a:=strtofloat(edit1.Text);
b:=strtofloat(edit2.Text);
// производим операцию
result:=a*b;
// выводим результат в виде примера в Memo1
memo1.Lines.Add(edit1.Text+' * '+edit2.Text+' = '+floattostr(result));
// очищаем поля ввода
edit1.Clear;
edit2.Clear;
end;
 
Похожие темы
A Delphi для начинающих. Урок 11. Процедуры и функции Программирование 0
A Delphi для начинающих. Урок 10. Циклы. Работа с массивами Программирование 0
A Delphi для начинающих – Урок 9 – Массивы Программирование 0
A Delphi для начинающих – Урок 8 – Условия. Оператор Case Программирование 0
A Delphi для начинающих – Урок 7 – Условия. Оператор IF Программирование 0
A Delphi для начинающих – Урок 5 – Работаем с компонентами Программирование 0
A Delphi для начинающих – Урок 4 – Работа с переменными Программирование 0
A Delphi для начинающих – Урок 3 – Создание переменных Программирование 0
A Delphi для начинающих – Урок 2 — События Программирование 0
A Delphi для начинающих — Урок 1 — Среда разработки Delphi Программирование 0
M [Delphi] Работа VKAPI, на примере бота Программирование 3
T Пишем WinLocker на Delphi Программирование 0
D Нужна помощь по Delphi! ЗАПЛАЧУ! Программирование 1
A Потоки в Delphi. TThread Программирование 0
A Delphi. Урок 17. Типы Программирование 0
A Delphi. Урок 16. Исключительные ситуации Программирование 0
A Delphi. Урок 15. Математические операции Программирование 0
A Delphi. Урок 14. Работа со списками строк TStringList или «сложные» типы Программирование 0
A Delphi. Урок 13. Работа со строками Программирование 0
A Delphi. Урок 12. Преобразование числа в строку и строки в число Программирование 0
A Простые шутку в DELPHI Программирование 5
A Мои старые исходники на Delphi Программирование 1
A Несколько шпор по Delphi =) Программирование 3
L Загружаем компьютер другу. Delphi,rad studio Программирование 0
I Country IP Ranges Generator v1.0 [Source][Delphi] Программирование 3
B Помощь [Delphi] Программирование 0
B VK Post Grabber [Source][Delphi] Программирование 0
Admin [delphi] downloader winapi Программирование 0
Support81 «Обновите Chrome для защиты» — самая опасная кнопка интернета. Новости в сети 0
Support81 Этичный хакинг? Забудьте. США готовят рои ИИ-агентов для атаки на Китай Новости в сети 0
Support81 $244000000 за шифрование. VPN-инфраструктура теперь — бесплатный банкомат для хакеров Новости в сети 0
Support81 200000 постов за год: кипрская ботоферма круглосуточно печатает дипломы для всей России Новости в сети 0
Support81 Брак программиста длится годы. Женщины-шпионы ведут «сексуальную войну» для кражи его секретов Новости в сети 0
onlydockyc Продам Файлы PDF шаблонов для подтверждения адреса проживания Все что не подошло по разделу 0
onlydockyc Могу помочь вам своим небольшим опытом. Сделаю для вас фотомонтаж, отрисовку или подобные работы в photoshop. Раздачи и сливы 0
Support81 Ваш телефон — их радар. Altamides создала глобальную систему слежки в 160 странах, невидимую для спецслужб Новости в сети 0
Support81 С виду — офис инвестиционной компании. На деле — 80 мошенников с 204 мониторами для обмана жертв Новости в сети 0
Support81 Не Таиланд, а рабство в Мьянме: как туристический рай стал перевалочной базой для похитителей россиян Новости в сети 0
Support81 ФБР заблокировало портал BreachForums, использовавшийся для вымогательства у Salesforce Новости в сети 0
Support81 Россия — цель №1 для хакеров. На страну приходится до 72% всех кибератак в СНГ. Новости в сети 0
Support81 Новая тактика «Призрачных звонков» использует Zoom и Microsoft Teams для операций C2 Новости в сети 0
wrangler65 Как стать хакером для «самых маленьких» Ч.2 Полезные статьи 0
wrangler65 Как стать хакером для «самых маленьких» Ч.1 Полезные статьи 0
Support81 Storm-2603 использует бэкдор, контролируемый DNS, для атак программ-вымогателей Warlock и LockBit Новости в сети 0
Support81 Операторы LockBit используют скрытую технику загрузки DLL для загрузки вредоносного приложения Новости в сети 0
Support81 Как война в Украине стала полигоном для наркокартелей Новости в сети 0
Support81 Вредоносное ПО Lumma для кражи информации возвращается после вмешательства правоохранительных органов Новости в сети 0
turbion0 Мошенники создали фальшивые страницы для продажи авиабилетов в Геленджик Новости в сети 0
Support81 Вирус-вымогатель Interlock использует метод FileFix для доставки вредоносного ПО Новости в сети 0
Support81 Великобритания запускает программу исследования уязвимостей для внешних экспертов Новости в сети 0

Название темы