Для ввода значений данных с клавиатуры в Delphi можно использовать широкий набор интерфейсных элементов (визуальных компонентов), кроме того для накопления результатов и автоматического ввода данных можно использовать ввод и вывод с помощью файлов.
Эти средства должны обеспечивать возможность:
- создавать надписи на самой форме;
- вводить значения данных (числа, текст) в программу для обработки и выводить из программы на экран (на форму) или во внешний файл.
.5.12.1. Компонент Label (класс TLabel)
Пиктограмма: .
С помощью этого компонента обычно создают заголовки для других интерфейсных элементов, поясняющие надписи и т.п. Этот компонент можно так же использовать для вывода данных из программы. Пользователь не может редактировать данные в этом компоненте.
Замечание. Общий заголовок для формы оформляется путем размещения текста заголовка в свойстве Caption формы. Этот заголовок будет размещаться на верхней полоске формы.
Пример. Пусть в форме мы хотим сделать заголовок "Решение уравнения".
Для создания такого текста надо:
1. В палитре компонентов выбрать страницу "Стандартные";
2.В палитре компонентов со страницы "Стандартные"; выбрать кнопку с буквой А, щелкнуть по этой кнопке левой кнопкой мыши и нарисовать прямоугольник в нужном месте формы. В результате в форме появится выделенный прямоугольник с надписью "Label1".
Если посмотреть текст модуля формы, то в нем в описании класса формы появится текст
Label1:TLabel; .
3. В Инспекторе объектов активизируем вкладку свойств компонента Label1 и в свойстве Caption запишем "Решение уравнения". Можно заметить, что сразу же этот текст появится и в форме.
Наглядный вид и характеристики этого компонента можно изменять задавая различные значения свойствам компонента (полезно поэкспериментировать), например:
- свойство Color позволяет изменить цвет фона;
- свойство Font позволяет задавать различные цвет, размер и шрифт символов (для открытия диалогового окна надо щелкнуть по кнопке с тремя точками);
- если свойство Autosize имеет значение True, то размеры прямоугольника будут автоматически устанавливаться в соответствии с размером текста;
n если для свойства WordWrap установить значение True, то текст будет располагаться на нескольких строках - горизонтальный размер окна будет зафиксирован, по мере ввода текста будет изменяться вертикальный размер окна.
Для вывода текста в процессе выполнения программы надо просто присвоить имени поля значение строки символов (переменной или константы)
Label1.Caption:= S; , где S- переменная строкового типа.
5.12.2. Компонент Edit (класс Tedit).
Пиктограмма:
Это прямоугольное окно, в котором возможны ввод и редактирование текста. Можно: вводить, выводить, выделять, копировать, удалять текст.
Компонент Edit - это однострочный редактор, т.е. на экране отображается только одна строка. Записывать в Edit символы можно как со стороны пользователя, так и со стороны программы, т.е. строку Edit можно использовать как для ввода данных в программу, так и для вывода результатов из программы. В форме можно разместить несколько компонент EDIT, все они будут иметь оригинальные имена: Edit1, Edit2, и так далее. Значение вводимой строки присваивается свойству Text этого компонента.
Свойства компонента Edit.
Кроме типичного набора свойств -, Name, Enabled, Top, Height и т.п. этот компонент обладает следующими свойствами.
ReadOnly - это свойство позволяет запретить (значение True) ввод и редактирование текста со стороны пользователя.
TabOrder - задает порядок получения компонентом фокуса при нажатии клавиши Tab. По умолчанию этот порядок определяется порядком размещения компонентов в форме. Компонент с номером 0 получает фокус при открытии формы. Это свойство можно использовать только совместно со свойством TabStop.
TabStop - это свойство позволяет указать может ли компонент получать фокус (значение True) или нет.
Text - это свойство предназначено для записи в строку Edit значения вводимой строки и для чтения из строки последовательности символов. По умолчанию в этом свойстве записано EditX (X - номер компонента Edit в форме).
MaxLength - определяет максимальную длину текста строки в символах. Если значение этого свойства равно 0, то ограничений на длину текста нет.
Свойство AutoSize в окнах редактирования имеет смысл, отличный от смысла аналогичного свойства меток: автоматически подстраивается под размер текста только высота, но не ширина окна.
Окна редактирования снабжены многими функциями, свойственными большинству редакторов. Например, в них предусмотрены типичные комбинации «горячих» клавиш:
Ctrl-C — копирование выделенного текста в буфер обмена Clipboard (команда Copy),
Ctrl-X — вырезание выделенного текста в буфер Clipboard (команда Cut), Ctrl-V — вставка текста из буфера Clipboard в позицию курсора (команда Paste),
Ctrl-Z — отмена последней команды редактирования.
Правда, пользователи часто не догадываются об этих возможностях редактирования. Так что полезно напоминать им об этом соответствующими подсказками.
Свойство PasswordChar позволяет превращать окно редактирования в окно ввода пароля. По умолчанию значение PasswordChar равно #0 — нулевому символу. В этом случае это обычное окно редактирования. Но если в свойстве указать иной символ (например, символ звездочки «*»), то при вводе пользователем текста в окне будут появляться именно эти символы, а не те, которые вводит пользователь. Тем самым обеспечивается секретность ввода пароля.
При создании строки редактирования автоматически создается переменная типа String, общая форма имени которой имеет вид