Содержание
Хорошо, сейчас я студент 11 класса, который занимается ИТ. Я пытаюсь закончить практическое задание, но у меня возникла проблема: учебник, который я использую, не показывал мне, как создавать сообщение об ошибке, если пользователь не вводил данные в RichEdit. Может ли кто-нибудь посоветовать мне, как это сделать? спасибо, что нашли время, чтобы помочь.
Вот как вы поднимаете общее исключение (используя класс SysUtils.Exception ):
Необработанное исключение приводит к тому, что путь выполнения запускается в обработчик исключений по умолчанию внутри Delphi RTL, который затем отображает значение Exception.Message пользователю.
Вы даже можете обработать свое собственное исключение:
На самом деле вы бы этого не сделали. Вы вызываете исключения, чтобы код, вызывающий ваш метод, мог обрабатывать ошибку.
Поднимите исключение, если вы хотите обработать ошибку в другом месте (в вызывающем абоненте).
Чтобы просто отобразить диалоговое окно стандартной ошибки системы, вы можете использовать MessageDlg :
Под заголовком окна в этом случае будет просто "Ошибка". Если вы должны установить подпись, используйте CreateMessageDialog :
сейчас я расскажу как выводить сообщения в delphi.
для вывода простово сообщения есть такой код:
а для вывода сообщения с картинкой, несколькоми кнопками(как в basic`е)
в этом сообщение будет 3 кнопки
теперь рассказываю подробно о этом:
‘Вывод сообщения’ это текст
mtconfirmation это тип сообщения
[mbYes,mbNo,mbCancel] это кнопки
а 0 это индекс помощи можно ставить просто 0
теперь про кнопки
- mbYes — это да
- mbNo — нет
- mbOK — ОК
- mbCancel — канцел
- mbHelp — помощь
- mbAbort — прервавть
- mbRetry — повтор
- mbIgnore — пропустить
- mbAll — про эту кнопку незнаю
а теперь про типы их 5
- mtWarning — предупреждение
- mtError — ошибка
- mtInformation — информация
- mtConfirmation — запрос
- mtCustom — тоже самое что и ShowMessage
вот пример проги:
объявим переменную r(помните где переменные обьявлять?)
При разработке программ автоматизированного проектирования в Delphi приходится использовать окна сообщений. В данной статье функции для создания окон сообщений собраны в одном месте, а простые примеры помогут проектировщику выбрать из предложенного списка наиболее эффективную для решения поставленной задачи.
1. Функция MessageBox (Windows API)
Функция – отображает диалоговое окно с сообщением.
Синтаксис функции (Windows API):
function MessageBox (Wnd: HWND; lpText, lpCaption : PChar; uType : Cardinal) : integer;
Функция используется, чтобы отобразить универсальное диалоговое окно сообщений с одной или более кнопками.
Параметр hWnd – маркер (дескриптор) окна владельца, идентифицирует окно владельца окна сообщений. Если этот параметр НУЛЕВОЙ (ПУСТОЙ), окно сообщений не имеет никакого владельца.
Параметр ipText – указатель на строку, содержащую сообщение, с нулевым символом в конце. Текст сообщения может быть длинным, более чем 255 символов в случае необходимости.
Параметр ipCaption — заголовок, который появляется в области заголовка диалогового окна. Заголовки могут быть более длинными, чем 255 символов, из-за чего создается широкое окно сообщений.
Параметр uType определяет набор флажков, которые определяют содержание и поведение диалогового окна. Этот параметр может быть комбинацией флажков из следующих групп флажков.
Группа флажков, определяющая, какие кнопки появятся на окне сообщений
№ п.п. | 1 | 2 | 3 | 4 | 5 | 6 | |
№ | Возвращаемое значение функции | Возвращаемое числовое значение функции | Описание | ||||
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 |
Группа флажков, указывающая на основную кнопку
Описание |
Функция – отображает диалоговое окно с сообщением.
Синтаксис функции (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 – определяет тип окна сообщений. Предлагаются следующие их типы:
Параметр Buttons определяет следующие типы кнопок:
TMsgDlgBtn = (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp);
TMsgDlgButtons = set of TMsgDlgBtn;
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 левого верхнего угла окна относительно левого верхнего угла экрана.
«>