Cтраница 3
Каждое стандартное устройство ввода и вывода, в том числе устройство вывода сообщений об ошибках, может осуществлять переадресацию на другие устройства. Например, системные сообщения об ошибках часто переадресуются в файл регистрации. Для ввода и вывода данных программой также можно использовать файлы, для чего служат специальные команды операционной системы. [31]
Допустимое время выполнения 12 5 мин. Для вывода системных сообщений используется класс В. [32]
Одно последнее примечание: при рассмотрении событий учтите, что входные сообщения ( генерируемые мышью или клавиатурой) составляют лишь малый процент потока сообщений Windows-приложения. Большинство сообщений - это внутренние системные сообщения или сообщения, которыми обмениваются различные окна или элементы управления. Даже знакомые входные операции, например, щелчок на кнопке мыши, может привести к огромному количеству сообщений, преобладающее большинство которых будут составлять внутренние Windows-сообщения. [33]
![]() |
Параметры оператора EXEC. [34] |
Формат оператора EXEC приведен в табл. 3.1. Имя в подполе названия указывать не обязательно, но тем не менее рекомендуется каждому пункту задания присваивать имя. Имя используется во многих системных сообщениях, которые выдаются оператору ЭВМ и программисту и помогают установить, какой пункт задания вызвал то или иное сообщение. Если имя в операторе EXEC отсутствует, то в сообщении на том месте, где должно указываться имя пункта задания, будет пробел, что затрудняет анализ сообщений. Желательно, чтобы в пределах одного задания не было одинаковых имен для разных пунктов заданий. [35]
Параметр DATE является обязательным в команде SET, которая выдается оператором при начальной загрузке ОС. Сообщение о дате появляется в системных сообщениях и сообщениях, выдаваемых в листинге программистам. При повторном использовании команды SET указывать параметр DATE не обязательно. [36]
Рассмотрим формат оператора EXEC, который был приведен ранее в табл. 11.1. Имя в EXEC является необязательным параметром, но тем ие менее рекомендуется каждому пункту задания присваивать имя. Это имя используется во многих системных сообщениях и помогает установить, какой пункт задания вызвал то или иное сообщение. Если имя в операторе EXEC отсутствует, то в сообщении там, где должно находиться имя пункта задания, будет пробел. В пределах одного задания не должно быть одинаковых имен для разных пунктов заданий. [37]
Рассмотрим формат оператора EXEC, который был приведен ранее а табл. 11.1. Имя в EXEC является необязательным параметром, но тем не менее рекомендуется каждому пункту задания присваивать имя. Это и я используется во многих системных сообщениях и помогает установить, какой пункт задания вызвал то или иное сообщение. Если имя в операторе EXEC отсутствует, то в сообщении там, где должно находиться имя пункта задания, будет пробел. В пределах одного задания не должно быть одинаковых имен для разных пунктов заданий. [38]
Имя в операторе EXEC необязательно, но тем не менее рекомендуется каждому пункту задания присваивать имя. Имя пункта задания используется во многих системных сообщениях, выдаваемых программисту, и помогает установить, какой пункт задания вызвал то или иное сообщение. [39]
ВС позволяет получить сообщения на дисплее, выдаваемые оператором с ЭВМ по команде BRDCST, а параметр NOBC сообщает системе ДУВЗ, что такие сообщения н нужны. Параметр М ( MSGID) указывает, что системные сообщения выдаются с их идентификаторами, a NOM ( NOMSQID) - отменяет выдачу идентификаторов сообщений. [40]
В поле имени оператор EXEC может содержать имя шага задания. Это имя используется для ссылок, а также в системных сообщениях о ходе выполнения шага задания. [41]
Пользоваться предикатом is / 2 нужно с осторожностью. Если это не так, результатом будет ошибка Пролога - системное сообщение, появляющееся в том случае, когда аргумент в вызове встроенного предиката имеет неправильный тип. В различных реализациях Пролога это сообщение может быть различным. Обычно оно появляется на экране и сопровождается прерыванием выполнения программы. Наличие ситуаций, связанных с ошибками Пролога, несколько расширяет наши представления 6 Пролог-программе, которые мы получили в предыдущих главах, когда любой вызов мог заканчиваться только либо согласованием, либо отказом. Поведение программ, использующих встроенные предикаты, на типы аргументов которых наложены ограничения, является более сложным и трудноуправляемым. [42]
![]() |
Упрощенная структура функции WinMain. [43] |
Класс CWinApp является базовым классом, из которого мы образуем обязательный объект-приложение Windows. Основными задачами объекта этого класса являются инициализация и создание главного окна, а затем опрос системных сообщений. Если вспомнить, что процесс - каждый выполняемый экземпляр приложения ( в предыдущих версиях применялся термин задача), то можно сказать, что объект класса CWinApp отвечает за создание процесса в системе. Например, щелчком на пиктограмме WordPad вы запускаете процесс, который вызывает приложение WordPad. В действительности все происходит несколько сложнее ( одновременно формируется первичный поток, за создание и функционирование которого отвечает класс CWinThread - базовый для CWinApp, но на данном этапе знакомства с библиотекой MFC нам достаточно такого упрощенного представления. [44]
Окно руководства действиями оператора ( Operator Guide) отображает на дисплее сообщения руководства действиями оператора по мере их появления. Аналогично появлению новых сигнализаций процесса, новые и не квитированные метки руководства действиями оператора мигают в окне системных сообщений. [45]