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.