Xbase++ знает три режима работы приложений
Снова выберите папку Migrate, а следом папку Login. Там вы увидите полный переход от программы Clipper к графическому приложению в три этапа. Эта программа – просто вступление, и каждый шаг перехода отражен в одном файле EXE. Запустите эти три программы в следующем порядке:
Текстовый режим
LOGIN_T.EXE
Эта программа типична для многих приложений Clipper: логотип компании выводится в графике ASCII, и пользователю предлагается ввести имя и пароль при помощи @..SAY..GET (таким образом, T означает текстовый режим, пароль - "Alaska").
Гибридный режим
LOGIN_H.EXE
Буква H – синоним гибридного режима. Так разработчики называют рабочий режим приложений, которые комбинируют текст и графику. Основной алгоритм программы остался без изменений, так как имя пользователя и пароль до сих пор вводится при помощи команды @..SAY..GET. Однако, поля Get управляются мышью, и вид программы существенно изменился. Посмотрите сами!
Графический режим
LOGIN_G.EXE
Полностью графическая программа без каких бы то ни было текстовых элементов. Введение имени пользователя и пароля перемещено в модальное диалоговое окно. "Модальное" означает то, что пользователь должен закрыть окно прежде, чем продолжить работу с программой.
Этот пример переноса демонстрирует, что в Xbase++ любое определенное окно используется в зависимости от режима работы приложения. В текстовом режиме используется окно терминала Windows (не понимает графического вывода), окно XbpCrt поддерживает гибридный режим (комбинацию текста и графики), а окно XbpDialog является правильным выбором для настоящих приложений GUI (текстовый вывод, такой как @..SAY или QOut(), более недоступен).
После того, как вы увидели, как меняется во время переноса вид бывшей программы Clipper, вы, возможно, захотите изучить исходный код, чтобы посмотреть, что там изменилось. Вы найдете исходный текст программ в файлах LOGIN_T.PRG, LOGIN_H.PRG и LOGIN_G.PRG, и вам следует прочитать файлы именно в этом порядке. Пусть вас не смущает наличие исходного кода процедуры PassWord() в файле LOGIN_G.PRG. 90% этого кода было написано при помощи Xbase++ FormDesigner (мы познакомимся с FormDesigner позже).
Не отводите слишком много времени на изучение кода, и не ожидайте того, что вы поймете все с первого взгляда. У вас будет больше возможностей для этого позже. А пока закройте папку Login.
Чему я научился?
Я знаю, что Xbase++ поддерживает три типа приложений (текстовый режим, гибридный режим, графический режим), и что мне следует выбрать правильное окно (окно терминала, окно XbpCrt или XbpDialog).
Внимание: если вы хотите больше узнать о видах приложений и окнах, то вы найдете нужную информацию в интерактивной документации: Programming Guide-> User Interface and Dialog Concepts.
-