Delphi для начинающих



 

Вывод в окно сообщения


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

Вывести на экран окно с сообщением можно при помощи процедуры 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