Делфи как вывести сообщение

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

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

В Delphi для вывода на экран окна сообщения зарезервирована процедура ShowMessage (либо выполняющая те же операции функция MessageDlg Delphi). Остановимся подробнее на них.

Процедура ShowMessage Delphi:

Применение процедуры ShowMessage позволяет вывести на экран окно с необходимым текстом и кнопкой подтверждения OK. Процедура ShowMessage Delphi организована следующим образом:

откуда Сообщение представляет собой текст, впоследствии выведенный в диалоговом окне.

Пример 1. Представим иллюстрацию окна сообщения, которое получено вследствие выполнения следующей инструкции:

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

Функция MessageDlg Delphi:

При помощи более универсальной процедуры MessageDlg возможно размещение в окне сообщения одного из стандартных значков, например, «Внимание», а также возможно задание количества и типа командных кнопок и обозначить, какую именно кнопку щелкнул программист. На рисунке ниже представлена иллюстрация окна, выведенного вследствие выполнения следующей инструкции:

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

  • Сообщение представляет собой некоторый текст;
  • Тип определяет тип сообщения, которое включает в себя информационное, предупреждающее или сообщение о критической ошибке. Определенному типу ставится в соответствие некоторый значок. Именованная константа задает тип сообщения (табл. ниже).
  • Кнопки выступают в качестве списка кнопок, которые отображаются в окне сообщения. В состав данного списка входят именованные константы, разделенные запятыми (табл. ниже), при этом весь список заключен в квадратных скобках. К примеру, для появления в окне сообщения кнопок OK и Cancel необходимо представить список Кнопки как [mbOk,mbCansel]. Помимо указанных в таблиц выше констант возможно применение и таких констант, как mbAbortRetryIgnore, а также mbYesNoCansel и др. Как правило, данные константы чаще используются в комбинациях командных кнопок диалоговых окон.
  • КонтекстСправки означает параметр, обозначающий раздел справочной системы, который впоследствии выведется на экран при нажатии пользователем на клавишу F1. В случае отсутствия справочной системы, параметр КонтекстСправки должен быть приравнен нулю.
Читайте также:  Как вывести диагональ квадрата

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

Источник

Функции сообщений в Delphi

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

1. Функция MessageBox (Windows API)

Функция – отображает диалоговое окно с сообщением.

Синтаксис функции (Windows API):

function MessageBox (Wnd: HWND; lpText, lpCaption : PChar; uType : Cardinal) : integer;

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

Параметр hWnd – маркер (дескриптор) окна владельца, идентифицирует окно владельца окна сообщений. Если этот параметр НУЛЕВОЙ (ПУСТОЙ), окно сообщений не имеет никакого владельца.

Параметр ipText – указатель на строку, содержащую сообщение, с нулевым символом в конце. Текст сообщения может быть длинным, более чем 255 символов в случае необходимости.

Параметр ipCaption — заголовок, который появляется в области заголовка диалогового окна. Заголовки могут быть более длинными, чем 255 символов, из-за чего создается широкое окно сообщений.

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

Группа флажков, определяющая, какие кнопки появятся на окне сообщений

№ п.п. Значения параметра Описание
1 MB_ABORTRETRYIGNORE Окно сообщений содержит три кнопки: Abort, Retry, and Ignore.
2 MB_OK Окно сообщений содержит одну кнопку: OK. Это значение по умолчанию.
3 MB_OKCANCEL Окно сообщений содержит две кнопки: OK и Cancel.
4 MB_RETRYCANCEL Окно сообщений содержит две кнопки: Retry and Cancel.
5 MB_YESNO Окно сообщений содержит две кнопки: Yes и No.
6 MB_YESNOCANCEL Окно сообщений содержит три кнопки: Yes, No, и Cancel.

Функция MessageBox возвращает 0, если нет достаточного количества памяти, чтобы создать окно сообщений. Иначе она возвращает одно из следующих значений:

Возвращаемое значение функции Возвращаемое числовое значение функции Описание
1 IDOK 1 Пользователь выбрал кнопку OK.
2 IDCANCEL 2 Пользователь выбрал кнопку Cancel.
3 IDABORT 3 Пользователь выбрал кнопку Abort.
4 IDRETRY 4 Пользователь выбрал кнопку Retry.
5 IDIGNORE 5 Пользователь выбрал кнопку Ignore.
6 IDYES 6 Пользователь выбрал кнопку Yes.
7 IDNO 7 Пользователь выбрал кнопку No.

Группа флажков, определяющая, какие иконки отобразятся в окне сообщений

№ п.п. Значения параметра Иконка Описание
1 MB_ICONEXCLAMATIONMB_ICONWARNING В окне сообщений появляется значок восклицательного знака
2 MB_ICONINFORMATIONMB_ICONASTERISK В окне сообщений появляется значок, состоящий из символа I нижнего регистра в круге.
3 MB_ICONQUESTION В окне сообщений появляется вопросительный знак в круге.
4 MB_ICONSTOPMB_ICONERRORMB_ICONHAND В окне сообщений появляется знак Stop

Группа флажков, указывающая на основную кнопку

№ п.п. Значения параметра Описание
1 MB_DEFBUTTON1 Первая кнопка — основная кнопка.
2 MB_DEFBUTTON2 Вторая кнопка — основная кнопка.
3 MB_DEFBUTTON3 Третья кнопка — основная кнопка.
4 MB_DEFBUTTON4 Четвертая кнопка — основная кнопка.

Группа флажков, указывающая на поведение диалогового окна

Кроме того, можно определить следующие флажки:

№ п.п. Значения параметра Описание
1 MB_APPLMODAL

Пример (фрагмент программы по созданию диалогового окна сообщений):

2. Функция MessageBoxEx (Windows API)

Функция – отображает диалоговое окно с сообщением.

Синтаксис функции (Windows API):

function MessageBox (Wnd: HWND; lpText, lpCaption : PChar; uType : Cardinal; wLanguageId: Word) : integer;

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

$0409 English (United States);

$0407 German (Standard);

3. Функция MessageBox (класса TApplication, модуля Forms)

Синтаксис функции:

function MessageBox(const Text, Caption: PChar; Flags: Longint = MB_OK): Integer;

В данной функции отсутствует первый параметр – маркер (дескриптор) окна владельца, в остальном используется аналогично приведенной выше.

Результат выполнения программного кода

4. Функция MessageDlg (модуля Dialogs)

function MessageDlg(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint): Word;

Описание

Функция MessageDlg используется для создания окна сообщений и получения на него реакции пользователя.

Параметр Msg – текст сообщения.

Параметр DlgType – определяет тип окна сообщений. Предлагаются следующие их типы:

№ п.п. Значения параметра Описание
1 MB_DEFAULT_DESKTOP_ONLY

Параметр Buttons определяет следующие типы кнопок:

TMsgDlgBtn = (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp);

TMsgDlgButtons = set of TMsgDlgBtn;

№ п.п. Значение Изображение Описание
1 mtWarning
Типы кнопок Возвращаемое значение
mbOK mrOK
mbCancel mrCancel
mbYes mrYes
mbNo mrNo
mbAbort mrAbort
mbRetry mrRetry
mbIgnore mrIgnore
mbAll mrAll
mbNoToAll mrNoToAll
mbYesToAll mrYesToAll
mbClose mrClose

Наборы кнопок также определены, как константы:

mbYesNoCancel = [mbYes, mbNo, mbCancel];

mbYesAllNoAllCancel = [mbYes, mbYesToAll, mbNo, mbNoToAll, mbCancel];

mbOKCancel = [mbOK, mbCancel];

mbAbortRetryIgnore = [mbAbort, mbRetry, mbIgnore];

mbAbortIgnore = [mbAbort, mbIgnore];

Примечание: 1. Если указываются кнопки, как элементы множества, то их необходимо писать в квадратных скобках. Например, [mbIgnore].

2. Если указывается набор кнопок, как константа, то писать нужно без скобок. Например, mbYesNoCancel.

Параметр HelpCtx определяет идентификатор для контекстной темы справки, которая должна появиться, когда пользователь нажимает кнопку справки или клавишу F1, в то время как отображено диалоговое окно. Если справка не нужна, то параметр равен нулю.

Фрагмент программы по использованию функции MessageDlg

5. Функция MessageDlgPos (модуля Dialogs)

function MessageDlgPos(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint; X, Y: Integer): Word;

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

6. Функция MessageDlgPosHelp (модуля Dialogs)

function MessageDlgPosHelp(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint; X, Y: Integer; const HelpFileName: string): Word;

Отображает диалоговое окно сообщения, справка которого предоставлена в именованном файле справки (HelpFileName) с номером раздела HelpCtx. Выводится на экран с координатами X,Y левого верхнего угла окна относительно левого верхнего угла экрана.

Источник

Оцените статью