Реализация ввода и вывода

 

Наиболее распространённые компоненты для ввода и вывода текстовой информации Label и Edit расположены на странице Standard.

 

Компонент Label (Метка)

Текст, отображаемый в компоненте Label, определяется свойством Caption. Это свойство можно задать на вкладке Properties окна Object Inspector во время проектирования формы либо изменять его программно во время выполнения приложения. Например:
 

Label1.Caption := 'Текстовая строка';

 

Свойства, которые можно изменить для компонента Label:

-        Color (Цвет фона)

-        Font (Шрифт)

При изменении свойства Font через окно Object Inspector появляется диалоговое окно, в котором можно изменить вид шрифта, цвет надписи и размер шрифта.

 

Компонент Edit (Поле редактирования)

Данный компонент может использоваться как для ввода, так и для отображения текстовой строки. Вводимый и выводимый текст задаётся свойством Text.

Свойства надписи, отображаемой в компоненте Edit, аналогичны свойствам компонента Label.

 

Другие свойства компонентов Label и Edit будут рассмотрены позже.

 

Кроме компонентов Label и Edit существует большое количество различных компонентов, позволяющих осуществлять ввод и вывод текстовой информации. Эти компоненты перечислены в таблице "Компоненты ввода и отображения текстовой информации"

 

Группа подпрограмм реализует простые типовые (стандартные) оконные диалоги, не входящие в палитру компонентов: выдача сообщения пользователю, получение от него одного из ряда возможных ответов, ввод строки. Эти средства удобны для отображения на экран сообщения или получения от пользователя текстовой информации. [2]

 

Процедура

Назначение

ShowMessage

Вывод сообщения в диалоговом окне

ShowMessagePos

MessageDlg

Вывод сообщения в диалоговом окне с получением ответа от пользователя

MessageDlgPos

InputBox

Ввод текстовой строки в поле ввода диалогового окна

InputQuery

 

Например, выдать пользователю сообщение можно с помощью процедур:

 

ShowMessage (promt);

ShowMessagePos (promt, [, xpos] [, ypos]);

 

Обе процедуры выдают на экран окно с сообщением prompt и кнопкой OK. В первом случае окно помещается в центре экрана, во втором – верхний левый угол окна помещается в точку с координатами, заданными выражениями xpos и ypos.

 

Для того чтобы после выдачи сообщения получить от пользователя ответ, можно использовать одну из следующих функций:

 

MessageDlg (promt, type, buttons, helpCtx);

MessageDlgPos (promt, type, buttons, helpCtx, [, xpos] [, ypos]);

 

Функции отличаются явным заданием координат окна диалога.

type – тип сообщения. Сообщение может быть информационным, предупреждающим или сообщением о критической ошибке. Каждому типу сообщения соответствует определенный значок. Тип сообщения задается именованной константой.

buttons – список кнопок, отображаемых в окне сообщения. Список может состоять из нескольких разделенных запятыми именованных констант. Весь список заключается в квадратные скобки.

helpCtx – контекст справки, параметр, определяющий раздел справочной системы, который появится на экране, если пользователь нажмет клавишу <F1>. Если вывод справки не предусмотрен, то значение параметра helpCtx должно быть равно нулю.

 

Константы, определяющие отображаемые значки

Имя константы

Тип диалога

Значок

mtWarning

Внимание

mtError

Ошибка

mtInfirmation

Информация

mtConfirmation

Подтверждение

mtCustom

Обычное

Без значка

 

 

Константы, определяющие отображаемые кнопки

Имя кнопки

Кнопка

Имя результата

Значение результата

mbOK

OK

mrOK

1

mbCancel

Cancel

mrCancel

2

mbAbort

Abort

mrAbort

3

mbRetry

Retry

mrRetry

4

mbIgnore

Ignore

mrIgnore

5

mbYes

Yes

mrYes

6

mbNo

No

mrNo

7

mbHelp

Help

 

 

mbAll

All

 

 

 

Примеры вызова функции MessageDlg:

  1. MessageDlg('Ошибка',mtError,[mbYes],0);

     

 

 

  1. MessageDlg('сохранить изменения в файле?', mtConfirmation, [mbYes,mbNo,mbCancel], 0);

     

 

Для ввода текста в окно в процессе диалога служит фукнция:

 

InputBox (caption, promt, default);

 

caption текст заголовка окна.

promt – подсказка, приглашающая набрать текст в поле ввода.

default – строковое выражение, изначально отображаемое в поле ввода. Если этот аргумент опущен, поле ввода изображается пустым.

Функция возвращает строку из поля ввода на момент закрытия диалога. При нажатии кнопки Cancel функция возвращает текст из default.

 

Пример вызова функции InputBox:
 

  x := InputBox('Пользователь','Введите фамилию','Иванов');

 


Переменной x будет присвоено строковое значение, введённое в поле редактирования, если пользователь завершит диалог, не введя никакого значения, то переменной будет присвоено значение default.

 

Аналогичные действия выполняет функция:

 

InputQuery (caption, promt, value);

 

Набранный пользователем текст содержится в строке value. Функция возвращает булевское значение:

True – если пользователь нажал OK или Enter;

False – если Cancel или Esc.

 

Пример вызова функции InputQuery:
 

if InputQuery('Пользователь','Введите фамилию', Name)

            then Label1.Caption:= Name      // – при нажатии на кнопку OK

            else Label1.Caption:= ‘Иванов’  // – при нажатии на кнопку Cansel