☰ Содержание · Информатика

Объект Edit

Уроки 47–48 · 2 урока · Н. И. Тайлаков (общий редактор), А. Б. Ахмедов, М. Д. Пардаева, А. А. Абдуганиев, У. М. Мирсанов. Информатика и информационные технологии, 10 класс, 1-е издание. «Extremum-Press», Ташкент, 2017
47

Ввод данных в приложение

Учебник: с. 102–105
ЦельИспользует объект Edit (поле ввода): задаёт Text, ReadOnly, MaxLength и PasswordChar, проверяет введённый текст и создаёт приложение, приветствующее пользователя.
Новые слова
Edit: поле ввода, в которое пользователь вводит одну строку текста · EditText: свойство, хранящее строку, введённую в Edit · TextReadOnly: если True, пользователь не может изменить текст · ReadOnlyPasswordChar: символ, показываемый вместо вводимых букв · PasswordChar
Объяснение

Приложение должно и получать данные от пользователя; простейшее средство для этого – Edit (вкладка Standard). У него нет Caption: введённый текст хранится в свойстве Text, поэтому его обычно используют вместе с Label. Если ReadOnly = True, пользователь не может изменить текст, но приложение может записывать в Text: поскольку у Edit есть рамка, он аккуратно показывает результат. MaxLength ограничивает количество символов, которое можно ввести (4 для года), а PasswordChar показывает символ вместо букв (PasswordChar := '*'). При сравнении текстов заглавные и строчные буквы различаются: 'abc' = 'ABC' ложно. Записывать пароль в код программы небезопасно: любой, кто увидит код, узнает его; не вводите в учебные приложения свой настоящий пароль.

Примеры
Игра «Секретное слово»: первый игрок вводит слово в Edit1 (PasswordChar = '*', поэтому буквы скрыты), второй вводит догадку в Edit2, а Edit3 показывает результат (ReadOnly = True): procedure TForm1.Button1Click(Sender: TObject); ⏎ begin ⏎  if Edit2.Text = Edit1.Text then ⏎    Edit3.Text := 'Topdingiz!' ⏎  else ⏎    Edit3.Text := 'Yana bir urinish'; ⏎ end; Если в Edit1 введено olma и в Edit2 введено olma: Topdingiz!; если в Edit2 введено Olma: Yana bir urinish (заглавная буква имеет значение).
Поле года рождения: MaxLength := 4. Если пользователь пытается ввести 20091, пятый символ не принимается, и текст остаётся 2009. Оператор Edit1.Text := ''; очищает поле: Text становится пустой строкой.
Работа в классе

«Секретное слово»: пара создаёт приложение-игру; другая пара проверяет его правильными, неверными догадками и догадками с заглавными буквами и записывает таблицу результатов.

Упражнения
1
Какое свойство хранит текст, введённый в Edit?
2
Если MaxLength = 4 и введено 12345, что останется в поле?
3
Если PasswordChar := '*', что показывается вместо букв пароля?
4
Почему для Edit, показывающего результат, ReadOnly устанавливают в True?