3. Создайте проект Калькулятор. Разместите на форме три поля TextBox и три надписи: «Первое число», «Второе число», «Результат». Добавить кнопки для вычисления суммы, разности, произведения и частного. Запретите редактирование в поле с ответом. *Добавьте проверку деления на нуль.
За основу можно взять программу из примера 3.16. Разместим в форме три поля TextBox
и по одной надписи к каждому из них. Создадим 4 кнопки Button
для математических операций над числами. Для каждой кнопки создадим обработчик Click
. В каждом обработчике будем проверять, заполнены ли поля компонентов textBox1
и textBox2
(первое и второе число). Вот как выглядит такая проверка:
if (TextBox1.Text <> '') and (TextBox2.Text <> '') then
begin
// тут будет код выполнения математической операции
end
else
MessageBox.Show('Одно из полей не заполнено');
Для полей «первое число» и «второе число» будем использовать преобразования в тип real
с помощью функции StrToFloat()
, чтобы наш калькулятор мог работать не только с целыми числами, но и с дробными.
Напишем обработчик для кнопки вычисления суммы:
procedure Form1.button1_Click(sender: Object; e: EventArgs);
begin
var a, b, c : real;
if (TextBox1.Text <> '') and (TextBox2.Text <> '') then
begin
a := StrToFloat(TextBox1.Text);
b := StrToFloat(TextBox2.Text);
c := a + b;
TextBox3.Text := FloatToStr(c);
end
else
MessageBox.Show('Одно из полей не заполнено');
end;
Для кнопки вычисления разности:
procedure Form1.button3_Click(sender: Object; e: EventArgs);
begin
var a, b, c : real;
if (TextBox1.Text <> '') and (TextBox2.Text <> '') then
begin
a := StrToFloat(TextBox1.Text);
b := StrToFloat(TextBox2.Text);
c := a - b;
TextBox3.Text := FloatToStr(c);
end
else
MessageBox.Show('Одно из полей не заполнено');
end;
Для кнопки произведения:
procedure Form1.button2_Click(sender: Object; e: EventArgs);
begin
var a, b, c : real;
if (TextBox1.Text <> '') and (TextBox2.Text <> '') then
begin
a := StrToFloat(TextBox1.Text);
b := StrToFloat(TextBox2.Text);
c := a * b;
TextBox3.Text := FloatToStr(c);
end
else
MessageBox.Show('Одно из полей не заполнено');
end;
Для кнопки нахождения частного добавим проверку деления на ноль:
procedure Form1.button4_Click(sender: Object; e: EventArgs);
begin
var a, b, c : real;
if (TextBox1.Text <> '') and (TextBox2.Text <> '') then
begin
a := StrToFloat(TextBox1.Text);
b := StrToFloat(TextBox2.Text);
if b = 0 then
MessageBox.Show('Делить на ноль нельзя')
else
begin
c := a / b;
TextBox3.Text := FloatToStr(c);
end;
end
else
MessageBox.Show('Одно из полей не заполнено');
end;
Скачать готовый проект Pascal: Upr2-3.rar.