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

Вывести на экран окно с сообщением можно при помощи процедуры ShowMessage или функции MessageDlg.

Процедура ShowMessage выводит на экран окно с текстом и командной кнопкой ОК.

В общем виде инструкция вызова процедуры ShowMessage выглядит так:

ShowMessage(Сообщение);

где сообщение — текст, который будет выведен в окне.

На рис. 1.7 приведен вид окна сообщения, полученного в результате выполнения инструкции:

ShowMessage('Введите вес в фунтах.');

Рис. 1.7. Пример окна сообщения

Следует обратить внимание на то, что в заголовке окна сообщения, выводимого процедурой ShowMessage, указано название приложения, которое задается на вкладке Application окна Project Options. Если название приложения не задано, то в заголовке будет имя исполняемого файла.

Функция MessageDig более универсальная. Она позволяет поместить в окно с сообщением один из стандартных значков, например "Внимание", задать количество и тип командных кнопок и определить, какую из кнопок нажал пользователь. На рис. 1.8 приведено окно, выведенное в результате выполнения инструкции

r:=MessageDlg('Файл '+ FName + ' будет удален.', mtWarning, [mbOk,mbCancel] , 0) ;

Рис. 1.8. Пример окна сообщения

Значение функции MessageDlg — число, проверив значение которого, можно определить, выбором какой командной кнопки был завершен диалог.

В общем виде обращение к функции MessageDig выглядит так:

Выбор: = MessageDlg( Сообщение, Тип, Кнопки, КонтекстСправки)

где:

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

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

Таблица 1.8. Константы функции MessageDlg


Константа

Тип сообщения

Значок



mtWarning

Внимание




mtError

Ошибка




mt Information

Информация




mtConfirmation

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




mtCustom

Обычное

Без значка


 

Таблица 1.9. Константы функции MessageDlg


Константа

Кнопка

Константа

Кнопка



mbYes

Yes

mb Abort

Abort



mbNo

No

mbRetry

Retry



mbOK

OK

mblgnore

Ignore



mbCancel

Cancel

mbAll

All



mbHelp

Help




Например, для того чтобы в окне сообщения появились кнопки ОК и Cancel, список Кнопки должен быть таким:

[mbOK,mbCancel]

Кроме приведенных констант можно использовать константы: mbokcancel, mbYesNoCancel и mbAbortRetryIgnore. Эти константы определяют наиболее часто используемые в диалоговых окнах комбинации командных кнопок.

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

Значение, возвращаемое функцией MessageDig (табл. 1.10), позволяет определить, какая из командных кнопок была нажата пользователем.

Таблица 1.10. Значения функции MessageDlg


Значение функции MessageDig

Диалог завершен нажатием кнопки



mrAbort

Abort



mrYes

Yes



mrOk

Ok



mrRetry

Retry



mrNo

No



mrCancel

Cancel



mrIgnore

Ignore



mrAll

All