### 2.2 Написание программного кода для калькулятора

Сначала надо щёлкнуть два раза на кнопке Button1 и в редактор код программа добавит следующий текст:

Procedure TForm1.Button2Click (Sender: TObject);

Begin

End;

А затем, нам надо объявить три переменных x,y и z для этого между строкой начинающейся со слова procedure и строкой со словом begin. Надо ввести следующую строку:

Var x, y ,z: Real;

А после ключевого слова begin надо ввести следующий текст:

If (Edit1.Text <>'') and (Edit2.Text <>'') then

// выполняется проверка, введено ли значение.

Begin

X:=StrToFloat (Edit1.Text);

// присвоение переменной X значения из первого поля ввода

Y :=StrToFloat (Edit2.Text);

// присвоение переменной Y значения из второго поля ввода

Z := x+y;

// занесение в переменную Z суммы значений из полей ввода

Label2.Caption :='Сумма';

// вывод типа операции в надписи

Label1.Caption:= FloatToStr (z) ;

// вывод итога в надписи

Memo1.Lines.Add (FloatToStr(x) +' + '+FloatToStr(y)+' = '+FloatToStr(z))

// добавление в список ответов выражения, которое получилось

end else

MessageDlg ('Введите цифровые значения в поле для вычисления!', mtInformation, [mbOk], 0)

//вывод сообщения, если поля ввода пустые.

После выполнения этого действия можно запустить программу нажатием клавиши F9 и ввести в первое поле ввода значение 242, а во второе 2378 и нажать на кнопку «сложить», в надписи выведется значение 2620 и в многострочном поле введётся значение 242 + 2378 = 2620

После выполнения этих действий надо щёлкнуть на крестике в правом верхнем углу, и вернуться в Delphi. Мы создали функцию сложения чисел, пора нам и сделать функцию для корректного закрытия программы, для этого мы щёлкнем два раза на кнопке Close, и введём туда следующий текст:

Form1.Close

// метод Close вызывается для корректного закрытия программы.

Потом мы можем опять запустить программу, и щёлкнуть на кнопке Close, и приложение сразу же закроется. А, теперь мы щёлкнем два раза на кнопке «вычесть», удалим слово begin, введём следующий текст:

Var x, y ,z: Real;

If (Edit1.Text <>'') and (Edit2.Text <>'') then

// выполняется проверка, введено ли значение.

Begin

X:=StrToFloat (Edit1.Text);

// присвоение переменной X значения из первого поля ввода

Y :=StrToFloat (Edit2.Text);

// присвоение переменной Y значения из второго поля ввода

Z := x-y;

// занесение в переменную Z разности значений из полей ввода

Label2.Caption :='Сумма';

// вывод типа операции в надписи

Label1.Caption:= FloatToStr (z) ;

// вывод итога в надписи

Memo1.Lines.Add (FloatToStr(x) +' - '+FloatToStr(y)+' = '+FloatToStr(z))

// добавление в список ответов выражения, которое получилось

end else

MessageDlg ('Введите цифровые значения в поле для вычисления!', mtInformation, [mbOk], 0)

//вывод сообщения, если поля ввода пустые.

А затем можно запустить программу и ввести в первое поле ввода значение 24,2, а во второе – 237,8. И нажать клавишу «вычесть», то в надписях выведутся значения "вычесть" и "-213,6", а в строке истории выведется строка "24,2 - 237,8 = -213,6"

Потом, можно выйти из программы нажатием кнопки Close. Затем, нам надо, написать обработчик для кнопки «умножить», для этого мы щёлкнем на ней два раза, удалим слово begin и введём следующий текст:

Var x, y ,z: Real;

If (Edit1.Text <>'') and (Edit2.Text <>'') then

// выполняется проверка, введено ли значение.

Begin

X:=StrToFloat (Edit1.Text);

// присвоение переменной X значения из первого поля ввода

Y :=StrToFloat (Edit2.Text);

// присвоение переменной Y значения из второго поля ввода

Z := x-y;

// занесение в переменную Z произведения значений из полей ввода

Label2.Caption :='Произведение';

// вывод типа операции в надписи

Label1.Caption:= FloatToStr (z) ;

// вывод итога в надписи

Memo1.Lines.Add (FloatToStr(x) +' * '+FloatToStr(y)+' = '+FloatToStr(z))

// добавление в список ответов выражения, которое получилось

end else

MessageDlg ('Введите цифровые значения в поле для вычисления!', mtInformation, [mbOk], 0)

//вывод сообщения, если поля ввода пустые.

Потом, можно запустить программу и ввести в первое поле ввода значение 2,42, а во второе – 23,78 и нажать на кнопку «умножить», то в надписях выведутся значения "умножить" и "57,5476", а в истории введётся строка "2,42 * 23,78 = 57,5476"

Затем надо закрыть программу, и вернуться в Delphi. А теперь надо переключиться на форму нажатием клавиши F12, и щёлкнуть два раза по кнопке «деление» и программа переключится в редактор кода, потом надо стереть слово Begin и ввести следующий текст:

Var x, y ,z: Real;

If (Edit1.Text <>'') and (Edit2.Text <>'') then

// выполняется проверка, введено ли значение.

Begin

X:=StrToFloat (Edit1.Text);

// присвоение переменной X значения из первого поля ввода

Y :=StrToFloat (Edit2.Text);

// присвоение переменной Y значения из второго поля ввода

Z := x-y;

// занесение в переменную Z частного значений из полей ввода

Label2.Caption :='Частное';

// вывод типа операции в надписи

Label1.Caption:= FloatToStr (z) ;

// вывод итога в надписи

Memo1.Lines.Add (FloatToStr(x) +' / '+FloatToStr(y)+' = '+FloatToStr(z))

// добавление в список ответов выражения, которое получилось

end else

MessageDlg ('Введите цифровые значения в поле для вычисления!', mtInformation, [mbOk], 0)

//вывод сообщения, если поля ввода пустые.

После этого можно запустить программу, после запуска программы введите в первое поле ввода значение 0,242, а во второе – 2,378, затем нажмите на кнопку «деление», то в надписях выведутся значения "частное" и "0,101766190075694" и в строке истории введётся строка "0,242 : 2,378 = 0,101766190075694" При создании калькулятора использовалась только переменная типа Real, которая поддерживает вычисления, как с целыми числами, так и с десятичными дробями.

<<Назад | Далее>>