ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП |
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы. |
Часть 1
Герберт ШИЛДТ Си для профессиональных программистов Москва, 1989 г. С О Д Е Р Ж А Н И Е Предисловие ................................................... I- 1 Глава I. ИСЧЕЗАЮЩИЕ И ИЕРАРХИЧЕСКИЕ МЕНЮ Что такое исчезающие и иерархические меню? .................... I- 4 Работа видеоадаптеров ......................................... I- 5 Доступ к экрану через BIOS .................................... I- 7 Использование int86() ......................................... I- 8 Сохранение части экрана ....................................... I- 9 Восстановление экрана ......................................... I-11 Создание исчезающих меню ...................................... I-12 Высвечивание меню ............................................. I-13 Высвечивание рамки ............................................ I-15 Ввод выбора пользователя ...................................... I-16 Функция popup() ............................................... I-19 Общий обзор ................................................... I-21 Прямой доступ к видео памяти .................................. I-27 Определение расположения видео памяти ......................... I-28 Изменение save_video() и restore_video() ...................... I-29 Создание иерархических окон ................................... I-37 Фреймы меню ................................................... I-38 Создание фрейма меню .......................................... I-39 Функция pulldown() ............................................ I-41 Восстановление экрана ......................................... I-42 Простая программа, использующая процедуру pulldown ............ I-43 Добавочные функции ............................................ I-52 Глава II. ВСПЛЫВАЮЩИЕ ОКНА Теория всплывающих окон ...................................... II- 2 Оконные структуры ............................................ II- 3 Создание структуры окна ...................................... II- 4 Активирование и деактивирование окна ......................... II- 6 Оконные функции ввода/вывода ................................. II- 8 Функция позиционирования курсора в окне ...................... II- 9 Функция window_getche() ...................................... II-10 Функция window_gets() ........................................ II-12 Функция window_putchar() ..................................... II-13 Функция window_puts .......................................... II-15 Дополнительные функции управления экраном .................... II-16 Изменение размера и положения окна во время вып. программы ... II-18 Создание прикладных программ, использующих всплывающие окна .. II-22 Программа преобр. из десят. в шестнад. систему счисления ..... II-23 Калькулятор с четырьмя функциями ............................. II-24 Всплывающая записная книжка .................................. II-27 Совместное использование всех программ ....................... II-29 Модификации программ управления окнами ....................... II-48 "C" для профессиональных программистов Глава III. ПРОГРАММЫ, ОСТАЮЩИЕСЯ РЕЗИДЕНТНЫМИ Что такое TSR-программа? .................................... III- 2 Прерывания в семействе процессоров 8086 ..................... III- 3 Прерывания против DOS и BIOS: Tревога в стране DOS .......... III- 4 Модификатор функций прерывания Турбо Си ..................... III- 5 Общий план TSR-программы .................................... III- 6 Использование прерывания печати экрана ...................... III- 7 Раздел инициализации ........................................ III- 8 Прикладная часть TSR-программы .............................. III-10 Использование прерывания по нажатию клавиши ................. III-22 Буфер символов, введенных с клавиатуры ...................... III-23 Функция инициализации ....................................... III-24 Прикладная часть TSR-программы .............................. III-25 Тайна 28-го прерывания ...................................... III-40 Проблемы при создании TSR-программ .......................... III-41 Глава IV. ГРАФИКА Видеорежимы и цветовая палитра ............................... IV- 2 Запись точки растра .......................................... IV- 4 Работа адаптеров CGA/EGA в графическеом режиме ............... IV- 5 Вычерчивание линий ........................................... IV- 8 Изображение и закрашивание прямоугольников ................... IV-10 Вычерчивание окружностей ..................................... IV-11 Простейшая тестовая программы ................................ IV-13 Сохранение и загрузка графических изображений ................ IV-18 Дублирование части экрана .................................... IV-21 Вращение точки в плоскости экрана ............................ IV-23 Вращение обьекта ............................................. IV-25 Сборка подпрограмм ........................................... IV-33 Глава V. ВИДЕОИГРЫ Спрайты ....................................................... V- 2 Поле игры ..................................................... V- 3 Мультипликация на экране ...................................... V- 4 Мультипликация спрайта ........................................ V-11 Организация данных в видеоиграх ............................... V-13 Контроль границ ............................................... V-14 Изменение цвета ............................................... V-15 Табло счета активного противника .............................. V-16 Разработка видеоигры .......................................... V-17 Тело главной программы ........................................ V-20 Программа генерации движения спрайта компьютера ............... V-24 Программа контроля касания спрайтов ........................... V-28 Полный текст программы игры TAG ............................... V-29 Некоторые соображения по возможной модификации программы ...... V-41 "C" для профессиональных программистов Глава VI. ИСПОЛЬЗОВАНИЕ ПОСЛЕДОВАТЕЛЬНОГО ПОРТА Асинхронная последовательная передача данных ................. VI- 2 Стандарт RS-232 .............................................. VI- 4 Аппаратное подтверждение связи ............................... VI- 6 Проблемы передачи данных ..................................... VI- 7 Переполнение регистра-приемника .............................. VI- 8 Доступ к последовательному порту компьютера через BIOS ....... VI- 9 Инициализация порта .......................................... VI-10 Передача байтов .............................................. VI-13 Контроль состояния порта ..................................... VI-14 Прием байтов ................................................. VI-16 Передача файлов между компьютерами ........................... VI-18 Программное подтверждение связи .............................. VI-19 Семь и восемь бит данных ..................................... VI-20 Перекачка файла .............................................. VI-21 Прием файла .................................................. VI-24 Перекачка программы .......................................... VI-26 Использование средств перекачки программ ..................... VI-31 Дальнейшее совершенствование программы ....................... VI-32 Простейшая ЛВС ............................................... VI-33 Файловый сервер .............................................. VI-34 Загрузка удаленных файлов в узел сети ........................ VI-44 Хранение файлов .............................................. VI-48 Использование ЛВС ............................................ VI-52 Совершенствование ЛВС ........................................ VI-53 Глава VII. ИНТЕРПРЕТАТОРЫ ЯЗЫКА Синтаксический разбор выражений ............................. VII- 2 Выражения ................................................... VII- 3 Лексемы ..................................................... VII- 5 Порядок построения выражений ................................ VII-10 Синтаксический анализатор выражений ......................... VII-12 Как анализатор обрабатывает переменные ...................... VII-19 Интерпретатор языка SMALL BASIC ............................. VII-20 Основной цикл работы анализатора ............................ VII-23 Команда присваивания значений ............................... VII-25 Команда PRINT ............................................... VII-26 Команда INPUT ............................................... VII-28 Команда GOTO ................................................ VII-29 Оператор IF ................................................. VII-32 Цикл FOR .................................................... VII-34 Оператор GOSUB .............................................. VII-37 Полный файл интерпретатора .................................. VII-39 Пример использования интерпретатора SMALL BASIC ............. VII-49 Расширение возможностей интерпретатора ...................... VII-51 "C" для профессиональных программистов Глава VIII. О МАНИПУЛИРОВАНИИ ЭКРАНОМ И ГЕНЕРАЦИИ ЗВУКА Использование цвета в текстовом режиме ..................... VIII- 2 Атрибутный байт текстового режима .......................... VIII- 3 Отображение строки в определенном цвете .................... VIII- 5 Использование цвета ........................................ VIII- 8 Изменение размера курсора .................................. VIII- 9 Скроллинг части экрана ..................................... VIII-11 Простейшая демонстрационная программа ...................... VIII-13 Сохранение копии экрана в дисковом файле ................... VIII-18 А теперь добавим звук ...................................... VIII-20 Программируемый таймер 8253 ................................ VIII-21 Простейший способ проверки слуха ........................... VIII-23 Имитация звука сирены и взврывы ............................ VIII-25 Создание "космической музыки" .............................. VIII-27 Глава IX. ИНТЕРФЕЙС С "МЫШЬЮ" Некоторые начальные сведения о "мыши" ........................ IX- 3 Виртуализация и реальный экран ............................... IX- 4 библиотека поддержки "мыши" .................................. IX- 5 Функции поддержки "мыши" верхнего уровня ..................... IX- 8 Простейшая демонстрационная программа ........................ IX-12 Ввод информации с помощью "мыши" в программе рисования ....... IX-17 Основной цикл работы программы ............................... IX-20 Определение объектов с помощью "мыши" ........................ IX-26 Полный текст модифицированной программы рисования ............ IX-29 Некоторые возм. расширения выполняемых функций программы ..... IX-50 Глава X. СОЗДАНИЕ КОММЕРЧЕСКИХ ДИАГРАММ Нормализация данных ........................................... X- 2 Разработка функций построения диаграмм ........................ X- 3 Программа вычерчивания диаграмм ............................... X-13 Отображение диаграмм на экране дисплея ........................ X-26 Некоторые интересные идеи по модификации программ ............. X-28 "C" для профессиональных программистов