Ввод и вывод в Delphi

 

Для ввода значений данных с клавиатуры в 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, общая форма имени которой имеет вид