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

  • Автор темы HHIDE_DUMP
  • Дата начала
  • Просмотры 782
  • На форуме работает ручное одобрение пользователей. Это значит, что, если Ваша причина регистрации не соответствует тематике форума, а также Вы используете временную почту, Ваша учётная запись будет отклонена без возможности повторной регистрации. В дальнейшем - пожизненная блокировка обоих аккаунтов за создание мультиаккаунта.
  • Мы обновили Tor зеркало до v3!
    Для входа используйте следующий url: darkv3nw2...bzad.onion/
  • Мы вновь вернули telegram чат форуму, вступайте, общайтесь, задавайте любые вопросы как администрации, так и пользователям!
    Ссылка: https://t.me/chat_dark_time

HHIDE_DUMP

Гость
H

HHIDE_DUMP

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

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

Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


Приступим.

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

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

Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


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

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

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

Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


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

Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


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


Два нижних поля ввода нам понадобятся для ввода самих чисел, а 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;
 

О нас

  • Наше сообщество существует уже много лет и гордится тем, что предлагает непредвзятое, критическое обсуждение различных тем среди людей разных слоев общества. Мы работаем каждый день, чтобы убедиться, что наше сообщество является одним из лучших.

    Dark-Time 2015 - 2024

    При поддержке: XenForo.Info

Быстрая навигация

Меню пользователя