Теория и практика объектно-ориентированного программирования. Ноткин А.М. - 30 стр.

UptoLike

Составители: 

31
Procedure TApp.Execute;
Var Event: TEvent;
Begin
repeat
EndState := 0;
GetEvent (Event);
HandleEvent (Event);
until Valid;
End;
Метод HandleEvent программы обрабатывает событиеконец
работы”, вызывая метод EndExec.EndExec изменяет значение private – пе-
ременной EndState. Значение этой переменной проверяет метод-функция
Valid, возвращающая значение true, есликонец работы”. Такой несколько
сложный способ завершения работы программы связан с тем, что в актив-
ном состоянии могут находиться несколько элементов группы. Тогда ме-
тод Valid группы, вызывая методы Valid своих
подэлементов, возвратит
true, если все они возвратят true. Это гарантирует, что программа завершит
свою работу, когда завершат работу все ее элементы.
Пример обработки событий. Рассмотрим простейший каль-
кулятор, воспринимающий команды в командной строке. Здесь приводится
упрощенный вариант. Рабочий вариант приведен вПриложении”.
Формат команды:
знак параметр
Знаки +, –, *, /, =, ?, q
Параметрцелое число
Const evNothing = $0000;
evMessage = $0100;
cmSet = 1; {занести число}
cmGet = 2; {посмотреть значение}
cmAdd = 3; {добавить}
и т.д. cmQuit = 100; {выход}
Запись-событие:
Type TEvent = record
what: word;
case what of
evNothing: ( );
evMessage: (
command: word;
A: integer;) end;
                                    31
     Procedure TApp.Execute;
     Var Event: TEvent;
     Begin
       repeat
        EndState := 0;
        GetEvent (Event);
        HandleEvent (Event);
       until Valid;
     End;
       Метод HandleEvent программы обрабатывает событие “конец
работы”, вызывая метод EndExec.EndExec изменяет значение private – пе-
ременной EndState. Значение этой переменной проверяет метод-функция
Valid, возвращающая значение true, если “конец работы”. Такой несколько
сложный способ завершения работы программы связан с тем, что в актив-
ном состоянии могут находиться несколько элементов группы. Тогда ме-
тод Valid группы, вызывая методы Valid своих подэлементов, возвратит
true, если все они возвратят true. Это гарантирует, что программа завершит
свою работу, когда завершат работу все ее элементы.
     •      Пример обработки событий. Рассмотрим простейший каль-
кулятор, воспринимающий команды в командной строке. Здесь приводится
упрощенный вариант. Рабочий вариант приведен в “Приложении”.
     Формат команды:
        знак параметр
     Знаки +, –, *, /, =, ?, q
     Параметр – целое число
     Const evNothing = $0000;
            evMessage = $0100;
            cmSet = 1; {занести число}
            cmGet = 2; {посмотреть значение}
            cmAdd = 3; {добавить}
     и т.д. cmQuit = 100; {выход}
     Запись-событие:
     Type TEvent = record
          what: word;
          case what of
           evNothing: ( );
           evMessage: (
              command: word;
              A: integer;) end;