Конспект урока "Компонент Edit. Функции преобразования"


Занятие №2 Компонент Edit. Функции преобразования.
Поле ввода Edit позволяет вводить текстовую информацию, строку символов, которая в программе
описывается типом String.
Если в поле ввода ввели число это тоже строка и чтобы над ними можно было выполнять действия
необходимо перевести их из строкового представления в числовое. Для этого применяется
функция StrToInt (Строку в целое).
Выражение StrToInt(Edit1.text) переводит символьное представления числа из поля ввода в
числовое. Обратный перевод из числового представления в стоковое выполняется функцией
inttostr (целое в строку)
Пример
Поместим на форму два поля ввода, 2 кнопки и метку. На кнопку напишем программный код:
Label1.caption:=edit1.text+edit2.text;
И тогда при вводе чисел в поле ввода на метке отображается не их сумма, числа или текстовые
данные просто записываются одно за другим
Для того чтобы можно было найти сумму чисел, введенных в поля ввода необходимо на вторую
кнопку написать следующий программный код:
a:=strtoint(edit1.text);
b:=strtoint(edit2.text);
c:=a+b;
label1.caption :=inttostr(c);
При введении в поле ввода чисел на метке будет отображаться их сумма, но тогда если в поле
ввода ввести текст, программа выдаст сообщение об ошибке и зависнет. Чтобы вернутся в режим
редактирования нужно в меню Run найти команду Program Reset или нажать Ctrl+F2.
Для того чтобы оградить программу от неправильного ввода необходимо применить другую
функцию, которая определяет является ли введенное данное числом или текстом.
Val(edit1.text,a,c), которой используется следующие параметры: первое- строка, второе
переменная целого или вещественного типа, третий вспомогательная переменная, целого типа, в
которой хранится 0, если перевод произошел успешно, т.е. в поле было введено число.
Если в поле ввода имеются символы, то в переменной хранится номер не числового символа.
Например, если в поле ввести 12в, то переменная с=3, при вводе 12, переменная с=0.
Но эта функция не корректно работает для вещественных чисел.
Если в поле ввода находится вещественное число, то необходимо применить другую функцию.
StrToFloat (edit1.text) перевод строки в вещественное число.
Создадим проект «Калькулятор» для выполнения сложения, вычитания, умножения, деления.
Поместим на форму два поля ввода, 4 кнопки, метку. Для того чтобы можно было найти сумму
чисел, введенных в поля ввода необходимо на первую кнопку написать следующий программный
код:
val( edit1.Text,a,v);
val( edit2.Text,b,d);
if (v=0) and (d=0) then begin
a:=strtoint(edit1.text);
b:=strtoint(edit2.text);
c:=a+b;
label1.caption :=inttostr(c);
end
else label1.caption := 'не правильный ввод'
end;
Для других кнопок (- и *)выполняем тоже самое только меняем арифметические знаки.
Для получения частного этот код будет выглядеть по-другому:
k:=strtofloat(edit1.text);
l:=strtofloat(edit2.text);
m:=a+b;
label1.caption :=floattostr(m);