ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.



 

Часть 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" для профессиональных программистов


?????? ???????????