Математика | ||||
Язык СИ для профессионалов-Кузнецов Москва 1991 стр.382 | ||||
Содержание ПРЕДИСЛОВИЕ ..................................................... 6 ГЛАВА 1. ИСЧЕЗАЮЩИЕ И ИЕРАРХИЧЕСКИЕ МЕНЮ................... 7 Что такое исчезающие и иерархические меню? ....................... 7 Работа видеоадаптеров............................................ 8 Доступ к экрану через BIOS ....................................... 10 Использование inl860 ............................................ 10 Сохранение части экрана ......................................... 11 Восстановление экрана ........................................... 13 Создание исчезающих меню....................................... 13 Высвечивание меню.............................................. 14 Высвечивание рамки ............................................. 15 Ввод выбора пользователя......................................... 16 Функция рорирО ................................................ 19 Общий обзор.................................................... 20 Прямой доступ к видео памяти..................................... 26 Определение расположения видео памяти............................ 26 Изменение save_video() и restore_video()............................. 27 Создание иерархических окон ..................................... 35 Фреймы меню................................................... 35 Создание фрейма меню........................................... 36 Функция puIldownO.............................................. 37 Восстановление экрана ........................................... 38 Простая программа, использующая процедуру pulldown................ 38 ГЛАВА 2. ВСПЛЫВАЮЩИЕ ОКНА..................................... 48 Теория всплывающих окон........................................ 48 Оконные структуры.............................................. 49 Создание структуры окна ......................................... 50 Активирование и деактивирование окна............................. 51 Оконные функции ввода/вывода ................................... 53 Функция позиционирования курсора в окне.......................... 53 Функция window_getcheO......................................... 54 Функция window_gets() ........................................... 56 Функция window_putchar() ........................................ 56 Функция window_puts............................................ 58 Дополнительные функции управления экраном....................... 58 Изменение размера и положения окна во время выполнения программы .... 60 Создание прикладных программ, использующих всплывающие окна..... 63 Программа преобразования из десятиричной в шестнадцатиричную систему счисления............................................... 64 Калькулятор с четырьмя функциями................................ 64 Всплывающая записная книжка.................................... 67 Совместное использование всех программ............................ 69 Модификации программ управления окнами ......................... 87 ГЛАВА 3. ПРОГРАММЫ, ОСТАЮЩИЕСЯ РЕЗИДЕНТНЫМИ ПОСЛЕ ЗАВЕРШЕНИЯ И ФОРМИРУЮЩИЕ ПРИ ИХ ВЫЗОВЕ ВСПЛЫВАЮЩИЕ ИЗОБРАЖЕНИЯ НА ЭКРАНЕ ДИСПЛЕЯ............................... 91 Что такое TSR-программа? ........................................ 92 Прерывания в семействе процессоров 8086........................... 92 Прерывания против DOS и BIOS: Тревога в стране DOS................ 92 Модификатор функций прерывания Турбо Си........................ 93 Общий план TSR-программы ......................,................ 94 Использование прерывания печати экрана........................... 94 Раздел инициализации ........................................... 95 Прикладная часть TSR-программы.................................. 96 Использование прерывания по нажатию клавиши.....................109 Буфер символов, введенных с клавиатуры............................ПО Функция инициализации.........................................111 3 Прикладная часть TSR-программы..................................112 Тайна 28-го прерывания ..........................................127 Проблемы при создании TSR-программ..............................128 ГЛАВА 4. ГРАФИКА ..................................................129 Видеорежимы и цветовая палитра ..................................130 Запись точки растра..............................................131 Работа адаптеров CGA/EGA в графическом режиме..................132 Вычерчивание линий.............................................134 Изображение и закрашивание прямоугольников ......................136 Вычерчивание окружностей .......................................136 Простейшая тестовая программы ...................................138 Сохранение и загрузка графических изображений.....................143 Дублирование части экрана .......................................145 Вращение точки в плоскости экрана.................................146 Вращение обьекта................................................148 Сборка подпрограмм..............................................156 ГЛАВА5. ВИДЕОИГРЫ ...............................................176 Спрайты........................................................176 Поле игры ......................................................177 Мультипликация на экране........................................177 Мультипликация спрайта .........................................184 Организация данных в видеоиграх..................................186 Контроль границ.................................................186 Изменение цвета.................................................186 Табло счета активного противника..................................187 Разработка видеоигры ............................................187 Тело главной программы ..........................................189 Программа генерации движения спрайта компьютера..................193 Программа контроля касания спрайтов ..............................196 Полный текст программы игры TAG ................................197 Некоторые соображения по возможной модификации программы........209 ГЛАВА 6. ИСПОЛЬЗОВАНИЕ ПОСЛЕДОВАТЕЛЬНОГО ПОРТА: ПЕРЕДАЧА ФАЙЛОВ И ПРОСТЕЙШИЕ ЛВС.......................................211 Асинхронная последовательная передача данных......................212 Стандарт RS-232.................................................213 Аппаратное подтверждение связи...................................214 Проблемы передачи данных .......................................214 Переполнение регистра-приемника.................................215 Доступ к последовательному порту компьютера через BIOS.............215 Инициализация порта ............................................216 Передача байтов..............>...................................218 Контроль состояния порта.........................................218 Прием байтов ...................................................219 Передача файлов между компьютерами .............................220 Программное подтверждение связи .................................221 Семь и восемь бит данных .........................................222 Перекачка файла ................................................222 Прием файла....................................................225 Перекачка программы............................................226 Использование средств перекачки программ..........................230 Дальнейшее совершенствование программы..........................231 Простейшая ЛВС ................................................231 Файловый сервер................................................232 Загрузка удаленных файлов в узел сети..............................242 Хранение файлов................................................245 Использование ЛВС..............................................249 Совершенствование ЛВС..........................................249 ГЛАВА 7. ИНТЕРПРЕТАТОРЫ ЯЗЫКА..................................251 Синтаксический разбор выражений.................................252 4 Выражения.....................................................252 Лексемы........................................................253 Порядок построения выражений....................................257 Синтаксический анализатор выражений.............................259 Как анализатор обрабатывает переменные ...........................266 Интерпретатор языка SMALL BASIC ................................267 Основной цикл работы анализатора.................................269 Команда присваивания значений...................................270 Команда PRINT..................................................271 Команда INPUT .................................................272 Команда GOTO..................................................273 Оператор IF.....................................................277 Цикл FOR ......................................................277 Оператор GOSUB.................................-...............279 Полный файл интерпретатора......................................281 Пример использования интерпретатора SMALL BASIC.................291 Расширение возможностей интерпретатора ..........................292 ГЛАВА 8. О МАНИПУЛИРОВАНИИ ЭКРАНОМ И ГЕНЕРАЦИИ ЗВУКА......293 Использование цвета в текстовом режиме............................294 Атрибутный байт текстового режима................................294 Отображение строки в определенном цвете...........................295 Использование цвета .............................................297 Изменение размера курсора .......................................298 Скроллинг части экрана...........................................299 Простейшая демонстрационная программа...........................300 Сохранение копии экрана в дисковом файле..........................305 А теперь добавим звук ............................................306 Программируемый таймер 8253....................................306 Простейший способ проверки слуха.................................308 Имитация звука сирены и взрывы ..................................309 Создание "космической музыки"...................................312 ГЛАВА 9. ИНТЕРФЕЙС С "МЫШЬЮ" ..................................314 Некоторые начальные сведения о "мыши" ...........................315 Виртуализация и реальный экран ..................................316 Библиотека поддержки "мыши"....................................316 Функции поддержки "мыши" верхнего уровня .....................:. 318 Простейшая демонстрационная программа...........................321 Ввод информации с помощью "мыши" в программе рисования ..........325 Основной цикл работы программы..................................327 Определение объектов с помощью "мыши"...........................333 Полный текст модифицированной программы рисования...............336 Некоторые возможности расширения выполняемых функций программы .....................................................357 ГЛАВА 10. СОЗДАНИЕ КОММЕРЧЕСКИХ ДИАГРАММ...................358 Нормализация данных............................................358 Разработка функций построения диаграмм...........................359 Программа вычерчивания диаграмм ................................368 Отображение диаграмм на экране дисплея...........................381 Некоторые интересные идеи по модификации программ................383 Предисловие Если вы хотите создавать программы мирового уровня, написанные на Си, то эта книга - для вас! Что делает одни программы более удачными, чем другие, аналогичные им? Удачные программы были написаны людьми, которые не только имели крепкую хватку в специальной области, но и в совершенстве освоили оборудование компьютера, включая операционную систему и аппаратное обеспечение. Только программист, осуществляющий полный контроль над ними, может писать программы с дружелюбным интерфейсом пользователя, которые эффективно выполняются и дают пользователям большую гибкость. Эта книга открывает многие секреты, используемые мастерами программирования для достижения профессиональных результатов. С ее помощью вы расширите подходы и методы, которые делают программы интересными. После прочтения книги вы будете способны писать программы, которые заслужат внимание. Здесь рассматриваются следующие вопросы: # Прямой доступ к памяти экрана для быстрого отображения # Исчезающие и иерархические (popup и pulldown) меню # Процедуры работы с окнами # Завершение программ и оставление их в памяти # Интерфейс с мышью # Графические функции, включая вращение объектов # Языковые интерпретаторы # Передача файлов через последовательный порт Эта книга для любого и каждого программиста на Си, от новичка до профессионала. Даже если вы начинающий, вы можете использовать функции и программы из этой книги без понимания отдельных деталей их работы. Более подготовленные читатели могут использовать эти программы как основу для своих приложений. Исходные тексты этой книги соответствуют стандарту ANSI, кроме некоторых функций, специфичных для ПК. Таким образом все эти программы можно компилировать на любом компиляторе, который поддерживает стандарт. Для их разработки использовался Турбо Си и Microsoft Си. Цена: 150руб. |
||||