Разработка диалоговых систем на языке Си. Средства создания интерфейса. Князев А.В. - М.: Изд-во МЭИ, 1995- - 8Вс. Изложены принципы создания интерфейса программ и описаны средства языка Си для разработки интерфейса. Приведены программы, образующие библиотеку функций для создания интерфейса. Предназначено для слушателей ФПКП и студентов специальности "Прикладная математика". ВВЕДЕНИЕ
Данное учебное пособие представляет собой вторую часть серии учебных пособий под общим названием "Разработка диалоговых систем на языке Си", предназначенных для обучения программированию на языке Си, начиная с самых основ языка вплоть до разработки вполне профессиональных программ.
Настоящее пособие посвящено средствам создания интерфейса -это окна, меню, простейшие редакторы текста.
Интерфейс является одной из наиболее важных частей любой более или менее сложной программы. Именно по интерфейсу пользователь в первую очередь оценивает программу. Поэтому программист должен уделять особое внимание разработке интерфейса программы.
В первой главе рассматриваются способы создания окон и вывода информации в окно, основанные на использовании функций, входящих в библиотеки наиболее распространбнных в нашей стране систем программирования: Turbo С, Turbo C++ и Quick С.
Остальные главы посвящены изучению и разработке средств создания интерфейса, не зависящих от системы программирования: использованию прямого вывода в видеобуфер и использованию функций BIOS для работы с клавиатурой и управления курсором. Такой подход даВт большую гибкость программисту и позволяет создать универсальные средства.
Программы, приведенные в пособии, проверены на практике и образуют библиотеку функций, которая может быть использована для разработки достаточно сложного интерфейса.

Введение ......................... 3
Глава 1. Управление экраном ............... 4
1.1. Режимы работы экрана .............. 4
1.1.1. Видеоадаптеры и видеорежимы ........ 4
1.1.2. Установка текстовых режимов в Turbo С,
Turbo C++.................8
1.1.3. Установка текстовых режимов в Quick С ... 9
1.2. Окна......................10
1.2.1. Формирование окон в Turbo С, Turbo C++ ... 10
1.2.2. Формирование окон в Quick С ........ 14
1.3. Вывод в окно..................18
1.3.1. Установка положения курсора в Turbo С,
Turbo C++.................19
1.3.2. Установка положения курсора в Quick С ... 19
1.3.3. Вывод текста в окно в Turbo С, Turbo C++ . . 18
1.3.4. Вывод текста в окно в Quick С ....... 21
1.4. Сохранение и восстановление текстового окна
в Turbo С, Turbo C++..............22
1.5. Создание рамки окна ............... 24
Глава 2. Формирование окон прямым выводом в видеобуфер . . 26
2.1. Прямой доступ к видеобуферу ........... 26
2.2. Очистка окна..................28
2.3. Вывод строки..................30
2.4. Вывод массива строк ............... 31
2.5. Формирование рамки...............32
Глава 3. Работа с клавиатурой..............36
3.1. Принцип работы клавиатуры ............ 36
3.2. Чтение кодов клавиш с помощью функций языка Си . 39
3.2.1. Использование функции getch ........ 39
3.2.2. Использование функций bloskey, _bios_keybrd ................ 40
3.3. Чтение кодов клавиш с помощью функций BIOS ... 42
3.3.1. Чтение кода клавиши с ожиданием......43
3.3.2. Проверка буфера на наличие в нём кодов клавиш...................44
- 87 -
3.3.3. Получение состояния статусных клавиш .... 45
3.4. Формирование модифицированных кодов клавиш ... 46
Глава 4. Организация меню................ 50
4.1. Простейшее меню................. 50
4.2. Модифицированная функция вертикального меню ... 53
4.3. Меню на основе таблицы ............. 57
4.4. Горизонтальное меню............... 64
Глава 5. Ввод в окно................... 69
5.1. Управление курсором ............... 69
5.2. Простейший строчный редактор .......... 71
5.3. Усовершенствованный строчный редактор...... 75
5.4. Организация ввода в окно ............ 79
Литература........................ 86
Hosted by uCoz