ВУЗ:
Составители:
Рубрика:
38
GetEvent(event); //получить событие
HandleEvent(event); //обработать событие
if(event.what!=evNothing) //событие осталось не обработано
EventError(event);
}
while(!Valid());
return endState;
}
Метод HandleEvent программы обрабатывает событие “конец рабо-
ты”, вызывая метод EndExec. EndExec изменяет значение private – пере-
менной EndState. Значение этой переменной проверяет метод–функция
Valid, возвращающая значение true, если “конец работы”. Такой несколько
сложный способ завершения работы программы связан с тем, что в актив-
ном состоянии
могут находиться несколько элементов группы. Тогда ме-
тод Valid группы, вызывая методы Valid своих подэлементов, возвратит
true, если все они возвратят true. Это гарантирует, что программа завершит
свою работу, когда завершат работу все ее элементы.
Если событие осталось не обработанным, то вызывается метод
EventError, которая в простейшем случае может просто выдать сообщение.
Пример обработки
событий.
Рассмотрим простейший калькулятор, воспринимающий команды в
командной строке. Здесь приводится упрощенный вариант. Вариант, по
схеме которого следует выполнить лабораторную работу, приведен в при-
ложении.
Формат команды:
знак параметр
Знаки +, –, *, /, =, ?, q
Параметр – целое число
Константы-команды:
сonst int evNothing = 0;
сonst int evMessage = 100;
сonst int cmSet = 1; //занести число
сonst int cmGet = 2; //посмотреть значение
сonst int cmAdd = 3; //добавить
и т.д.
сonst int cmQuit = 101; //выход
Класс-событие
struct TEvent
{int what
38 GetEvent(event); //получить событие HandleEvent(event); //обработать событие if(event.what!=evNothing) //событие осталось не обработано EventError(event); } while(!Valid()); return endState; } Метод HandleEvent программы обрабатывает событие “конец рабо- ты”, вызывая метод EndExec. EndExec изменяет значение private – пере- менной EndState. Значение этой переменной проверяет метод–функция Valid, возвращающая значение true, если “конец работы”. Такой несколько сложный способ завершения работы программы связан с тем, что в актив- ном состоянии могут находиться несколько элементов группы. Тогда ме- тод Valid группы, вызывая методы Valid своих подэлементов, возвратит true, если все они возвратят true. Это гарантирует, что программа завершит свою работу, когда завершат работу все ее элементы. Если событие осталось не обработанным, то вызывается метод EventError, которая в простейшем случае может просто выдать сообщение. Пример обработки событий. Рассмотрим простейший калькулятор, воспринимающий команды в командной строке. Здесь приводится упрощенный вариант. Вариант, по схеме которого следует выполнить лабораторную работу, приведен в при- ложении. Формат команды: знак параметр Знаки +, –, *, /, =, ?, q Параметр – целое число Константы-команды: сonst int evNothing = 0; сonst int evMessage = 100; сonst int cmSet = 1; //занести число сonst int cmGet = 2; //посмотреть значение сonst int cmAdd = 3; //добавить и т.д. сonst int cmQuit = 101; //выход Класс-событие struct TEvent {int what
Страницы
- « первая
- ‹ предыдущая
- …
- 35
- 36
- 37
- 38
- 39
- …
- следующая ›
- последняя »