В этой уроке познакомимся с классом Tedit. Класс TEdit представляет из себя обычное поле для ввода текста. Соответствующий компонент расположен на вкладке Standard Палитры компонентов.
Для изучения свойств Edit расположите его на форме. Самое важное свойство для этого компонента - это свойство Text. Разумеется, в нем хранится текст, введенный в наш Edit. Обратите внимание, что текст хранится именно как текст, и, если пользователь, скажем, введет в edit число 23, то оно будет храниться как строка "23", а не как число 23.
Ошибочный код:
edit1.text:=’10’;
if edit1.text>0 then showmessage(‘Число положительное’);
Правильный код:
edit1.text:=’10’;
if strtoint(edit1.text)>0 then showmessage(‘Число положительное’);
Разберем по подробнее этот код. В первой строчке мы меняем значение edit на 10. Далее с помощью команды strtoint преобразуем текст в число. После преобразования сравниваем полученное число с нулем, в случае если полученное число больше нуля, то выводим сообщение с помощью команды showmessage.
Свойство MaxLenght определяет максимальную длину вводимого текста. Если оно равно нулю (это значение по умолчанию), то длина текста не ограничена.
Из полезных свойств отметим также AutoSelect логического типа. Если оно установлено в true (а по умолчанию так оно и есть), то при получении фокуса нашим edit весь текст в нем выделяется. Это может оказаться полезным, если пользователь скорей всего полностью заменит этот текст.
Из свойств отметим еще свойство PasswordChar. Оно понадобится при использовании нашего edit в качестве поля для ввода пароля. Это свойство позволяет задать символ для визуальной замены вводимых пользователем символов. Обычно в этом случае используется звездочка.
Из событий для этого компонента чаще всего используется событие OnChange, OnKeyDown, OnKeyPress и OnKeyUp. Первое из них возникает, естественно, при изменении текста в нашем edit, последующие три - при нажатии и отпускании клавиши. Вот как, например, можно использовать событие OnKeyPress для ограничения ввода только цифрами:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9']) then Key:=#0
end;
Edit понимает такие стандартные для Windows комбинации клавиш как Ctrl+C (для копирования текста в буфер), Ctrl+X (для вырезания текста), Ctrl+V (для вставки текста), Ctrl+Z (для отмены последнего действия).
Всё на этом урок закончен.