Турбо Паскаль 6.0


Чтение ввода пользователя.


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

repeat B := ReadKey; case B of 'i': InvertArray; 'e': EditArrayParams; 'g': GraphicDisplay; 'q': Quit := true; end; until Quit;

Программа управляемая событиями не очень отличается от обычной. В самом деле, трудно вообразить интерактивную программу, которая работает по другому. Однако, с точки зрения программиста программа управляемая событиями выглядит иначе. В программах на Turbo Vision Вы больше не читаете ввод пользователя поскольку Turbo Vision делает это вместо Вас. Он собирает ввод в записи Паскаля, называемые событиями и передает события соответствующим видимым элементам программы. Это означает, что Вашему коду только требуется знать как обработать соответствующий ввод. Например, если пользователь отмечает мышкой в неактивном окне, Turbo Vision читает ввод мышки, помещает его в запись события и посылает запись события в неактивное окно. Если Вы имеете опыт традиционного программирования Вы можете подумать сейчас: "Хорошо, я не должен читать ввод от пользователя. Я должен изучить как читать запись события об отметке мышкой и как сказать неактивному окну стать активным." В действительности Вы не должны писать так много кода. Видимые элементы сами могут обрабатывать большую часть ввода пользователя. Окно знает как открыться, закрыться, переместиться, стать выбранным, изменить размер и многое другое. Меню знает как открыться, взаимодействовать с пользователем и закрыться. Кнопки знают как нажиматься, как взаимодействовать между собой и как изменять цвет. Полосы скроллинга как функционировать. Неактивное окно может сделать себя активным без какой либо Вашей помощи. Что Вы должны делать как программист? Вам нужно определить новые видимые элементы с новыми функциями, которые должны знать об определенных видах событий заданных Вами. Вы также научите Ваши видимые элементы откликаться на стандартные команды и даже генерировать собственные команды (сообщения) другим видимым элементам. Этот механизм уже есть: все что Вы делаете - это генерируете команды и говорите видимым элементам что нужно сделать когда они увидят их. Как именно выглядят события в Вашей программе и как Turbo Vision обрабатывает их?




- Начало -  - Назад -  - Вперед -



Книжный магазин