=================================================================








                              Ал. Стивенс


                  "ТЕХНИКА ПРОГРАММИРОВАНИЯ НА ТУРБО СИ"










     =================================================================





Предисловие.....................................................  10
Обзор разделов..................................................  15
ГЛАВА 1.........................................................  19
 Интерактивное программное обеспечение, управляющее изображением. 19
ГЛАВА 2.........................................................  32
 Язык Cи........................................................  32
 Краткая история языка Си.......................................  33
 Особенности языка Си...........................................  37
 
                             - 2 -
 Достоинства языка Си...........................................  40
 Одобрение языка Си.............................................  43
 Рекомендуемая литература по Си ................................  43
ГЛАВА 3 ........................................................  46
 Компилятор Турбо Си ...........................................  46
 Два Турбо Си ..................................................  49
 Настройка интегрированной среды ...............................  51
 Редактор Турбо Си .............................................  53
 Компоновщик Турбо Си ..........................................  55
 Утилита построителя задач (Make) в Турбо Си ...................  56
 Обнаружение ошибок при компиляции и компоновке ................  58
 Программные средства низкого уровня ...........................  58
 Начальная установка ...........................................  61
 Модели памяти .................................................  62
 Библиотека исходных модулей ...................................  63
 Заключение ....................................................  63
ГЛАВА 4 ........................................................  64
 Функции общего назначения .....................................  64
 Исходные модули функций общего назначения .....................  72
 Заключение.....................................................  83
ГЛАВА 5 ........................................................  84
 Экранные окна .................................................  84
 Экранное окно .................................................  85
 Архитектура видеопамяти .......................................  94
 "Снег" и обратный ход луча развертки .......................... 101
 Заключение .................................................... 110
ГЛАВА 6 ........................................................ 111
 Библиотека оконных функций .................................... 111
 Стековые окна ................................................. 113
 Слоеные окна .................................................. 113
 Оконные функции ............................................... 120
 Листинги оконных функций ...................................... 134
 Описание программы: twindow.h ................................. 144
 Описание программы: twindow.c ................................. 175
 Примеры окон .................................................. 185
 Перемещение  окна ............................................. 185
 Подъем и опускание окон ....................................... 192
 
                             - 3 -
 Назначение заголовков и изменение цветов окна ................. 196
 Сравнение стековых и слоеных окон ............................. 203
 Перемещение, подъем, скрытие окон, меню, изменение интенсив. .. 208
 Резюме ........................................................ 223
ГЛАВА 7 ........................................................ 224
 Контекстно-управляемые окна подсказки ......................... 224
 Программирование окон подсказки ............................... 228
 Текстовый файл окна подсказки ................................. 233
 Функции подсказки ............................................. 239
 Изменение функциональной клавиши подсказки .................... 240
 Изменение функции подсказки ................................... 241
 Выключение подсказки .......................................... 242
 Исходный листинг: thelp.c ..................................... 242
 Описание программы: thelp.c ................................... 248
 Пример контекстно-управляемой подсказки ....................... 251
 Резюме ........................................................ 256
ГЛАВА 8 ........................................................ 257
 Иcпользование данных в окнах .................................. 257
 Шаблон ввода данных ........................................... 259
 Поле ввода данных ............................................. 260
 Позиция ....................................................... 260
 Атрибуты ...................................................... 261
 Буфер ......................................................... 262
 Проверка допустимости значений ................................ 262
 Help-информация ............................................... 263
 Маска вводимых данных ......................................... 264
 Приглашения к вводу в поле (Prompts) .......................... 265
 Ввод данных ................................................... 265
 Функции сбора данных .......................................... 266
 Исходный текст: entry.c ....................................... 280
 Описание программы: entry.c ................................... 299
 Пример: Ввод данных в определенном порядке .................... 307
 Резюме ........................................................ 320
ГЛАВА 9 ........................................................ 321
 Оконный текстовый редактор .................................... 321
 Команды тестового редактора ................................... 324
 Управление курсором ........................................... 326
 
                             - 4 -
 Постраничная работа ........................................... 327
 Команды работы с блоками текста ............................... 328
 Команды редактирования ........................................ 330
 Функция, реализующая текстовый редактор ....................... 331
 Исходный листинг: editor.c .................................... 332
 Описание программы: editor.c .................................. 366
 Пример: Использование редактора ............................... 378
 Резюме ........................................................ 385
ГЛАВА 10 ....................................................... 386
 Оконные меню .................................................. 386
 Меню .......................................................... 387
 Процесс, образующий оконное меню .............................. 391
 Функции поддержки меню ........................................ 393
 Исходный листинг: tmenu.c ..................................... 397
 Описание программы: tmenu.c ................................... 403
 Пример оконного меню .......................................... 406
 Резюме ........................................................ 414
ГЛАВА 11 ....................................................... 416
 Резидентные программы ......................................... 417
 Прерывания .................................................... 422
 Векторы прерывания ............................................ 423
 Аппаратные прерывания ......................................... 424
 Программные прерывания ........................................ 425
 ДОС - однозадачная операционная система ....................... 425
 TSR-программы ................................................. 431
 Программы обработки прерываний ................................ 433
 Резидентные утилиты ........................................... 434
 Что может быть резидентным .................................... 435
 Построение TSR-программ ....................................... 440
 Превращение программы в резидентную ........................... 440
 Резидентна ли уже программа? .................................. 441
 Захват прерывания ............................................. 444
 Величина TSR-программы ........................................ 446
 Переключение контекстов ....................................... 452
 Стек .......................................................... 453
 Program Segment Prefix (PSP) .................................. 455
 Дисковый буфер ................................................ 471
 
                             - 5 -
 Прерывание от клавиатуры (9) .................................. 472
 Прерывание от таймера ......................................... 474
 Проблема реентерабельности ДОС ................................ 475
 Два стека ДОС ................................................. 476
 Системный флажок занятости (0х34) ............................. 478
 Прерывание DOSOK .............................................. 479
 Дисковое прерывание ROM-BIOS.(0х13) ........................... 481
 Прерывание ctrl-Break в ДОС (0x23) ............................ 484
 Выполнение TSR-программы ...................................... 485
 Завершение TSR-программы ...................................... 486
 Приостановка и возобновление выполнения TSR-программы ......... 490
 Выводы ........................................................ 491
 Построение резидентных программ ............................... 492
 Пример TSR-программы - "часы" ................................. 493
 Превращение программы в резидентную ........................... 493
 Прерывание по делению на ноль ................................. 494
 Выполнение обработчика прерываний от таймера .................. 497
 Связ-вание старого вектора прерывания по таймеру .............. 498
 Сохранение и переключение контекста стека ..................... 498
 Вычисление времени ............................................ 499
 Программы TSR-драйвера ........................................ 504
 Действия трех программных модулей ............................. 506
 Размер TSR-программы .......................................... 507
 Присвоение "горячего ключа" ................................... 508
 Сигнатура TSR-программы ....................................... 511
 Коммуникационные прерывания ................................... 513
 Подготовка к резидентности .................................... 516
 Обработчик обращения к диску .................................. 517
 Обработчик критических ситуаций ............................... 520
 Обработчик клавиатуры ......................................... 521
 Обработчик таймера ............................................ 522
 Обработчик DOSOK .............................................. 522
 Выполнение TSR-программы ...................................... 523
 Удаление TSR-программы ........................................ 524
 Блоки памяти и управляющие блоки памяти ....................... 526
 Исходные тексты: popup.c, resident.c .......................... 527
 TSR-программа - приложение .................................... 547
 
                             - 6 -
 Проверка TSR-программ ......................................... 549
 Выводы ........................................................ 552
ЭПИЛОГ.......................................................... 553
скачать | некачать
Hosted by uCoz