Руководство по языку
=========================================================================
 
         B.Pascal 7 & Objects/LR       - 1 -

        Введение.......................................................10
        О чем рассказывается в данном руководстве......................11
        Часть I. Язык Borland Pascal...................................12
        Глава 1. Что такое программа Borland Pascal?...................12
        Программа Borland Pascal.......................................13
        Процедуры и функции............................................13
        Операторы......................................................15
        Выражения......................................................16
        Лексемы........................................................17
        Типы, переменные, константы и типизированные константы.........17
        Компоновка частей..............................................19
        Модули.........................................................20
        Синтаксические диаграммы.......................................21
        Глава 2. Лексемы...............................................22
        Специальные символы............................................22
        Зарезервированные слова и стандартные директивы Borland
         Pascal........................................................24
        Идентификаторы.................................................25
        Числа..........................................................27
        Метки..........................................................29
        Строки символов................................................29
        Комментарии....................................................31
        Строки программы...............................................31
        Глава 3. Константы.............................................32
        Глава 4. Типы..................................................34
        Простые типы...................................................35
        Порядковые типы................................................35
        Целочисленные типы.............................................37
        Булевские типы.................................................39
        Символьный тип (char)..........................................40
        Перечислимые типы..............................................40
        Отрезки типа...................................................41
        Вещественные типы..............................................42
        Программная поддержка чисел с плавающей точкой.................43
        Аппаратная поддержка чисел с плавающей точкой..................43
        Строковые типы.................................................44
        Структурные типы...............................................45
        Типы массив....................................................46
        Типы запись....................................................48
        Объектные типы.................................................50
        Компоненты и область действия..................................54
        Методы.........................................................54
        Виртуальные методы.............................................54
        Динамические методы............................................56
        Создание экземпляров объектов..................................57
        Активизация методов............................................59
        Активизация уточненных методов.................................60
        Множественные типы.............................................61
        Файловые типы..................................................62
        Ссылочные типы.................................................63
        Тип Pointer....................................................64
        Тип PChar......................................................64
        Процедурные типы...............................................65
 
         B.Pascal 7 & Objects/LR       - 2 -

        Процедурные значения...........................................65
        Совместимость типов............................................67
        Тождественные и совместимые типы...............................67
        Тождественность типов..........................................67
        Совместимость типов............................................68
        Совместимость по присваиванию..................................69
        Раздел описания типов..........................................70
        Глава 5. Переменные и типизированные константы.................72
        Описания переменных............................................72
        Сегмент данных.................................................73
        Сегмент стека..................................................73
        Абсолютные переменные..........................................74
        Ссылки на переменные...........................................76
        Квалификаторы..................................................77
        Массивы, строки и индексы......................................78
        Записи и десигнаторы полей.....................................79
        Десигнаторы компонентов объекта................................79
        Переменные-указатели и динамические переменные.................79
        Приведение типов переменных....................................81
        Типизированные константы.......................................83
        Константы простого типа........................................84
        Константы строкового типа......................................84
        Константы структурного типа....................................85
        Константы типа массив..........................................86
        Константы типа запись..........................................88
        Константы объектного типа......................................89
        Константы множественного типа..................................90
        Константы ссылочного типа......................................91
        Константы процедурного типа....................................92
        Глава 6. Выражения.............................................93
        Синтаксис выражений............................................94
        Операции.......................................................99
        Арифметические операции........................................99
        Унарные арифметические операции...............................100
        Логические операции...........................................101
        Булевские операции............................................101
        Операция со строками..........................................103
        Операции над символьными указателями..........................104
        Операции над множествами......................................105
        Операции отношения............................................106
        Сравнение простых типов.......................................107
        Сравнение строк...............................................107
        Сравнение упакованных строк...................................107
        Сравнение указателей..........................................107
        Сравнение символьных указателей...............................108
        Сравнение множеств............................................108
        Проверка на принадлежность к множеству........................108
        Операция @....................................................109
        Использование операции @ для переменной.......................110
        Использование операции @ для процедуры или функции или
         метода.......................................................111
        Вызовы функции................................................111
        Описатели множества...........................................113
 
         B.Pascal 7 & Objects/LR       - 3 -

        Приведение типа значений......................................114
        Процедурные типы в выражениях.................................115
        Глава 7. Операторы............................................117
        Простые операторы.............................................117
        Оператор присваивания.........................................118
        Операторы процедуры...........................................119
        Операторы перехода............................................120
        Структурные операторы.........................................120
        Составные операторы...........................................121
        Условные операторы............................................121
        Оператор условия (if).........................................122
        Оператор варианта (case)......................................123
        Оператор цикла................................................125
        Оператор цикла с постусловием (repeat)........................125
        Операторы цикла с предусловием (while)........................127
        Операторы цикла с параметром (for)............................128
        Оператор with.................................................131
        Глава 8. Блоки, локальность и область действия................133
        Синтаксис.....................................................133
        Правила для области действия..................................136
        Область действия для блока....................................136
        Область действия записи.......................................137
        Область действия объекта......................................137
        Область действия модуля.......................................137
        Глава 9. Процедуры и функции..................................139
        Описания near и far...........................................141
        Описания export...............................................142
        Описания interrupt............................................143
        Описание forward..............................................143
        Описания external.............................................145
        Описания assembler............................................147
        Описания inline...............................................147
        Описания функций..............................................148
        Описания методов..............................................150
        Конструкторы и деструкторы....................................151
        Восстановление ошибок конструктора............................154
        Параметры.....................................................156
        Параметры-значения............................................157
        Параметры-константы...........................................157
        Параметры-переменные..........................................157
        Нетипизированные параметры....................................158
        Открытые параметры............................................160
        Открытые строковые параметры..................................160
        Открытые параметры-массивы....................................162
        Динамические переменные объектного типа.......................163
        Процедурные переменные........................................165
        Параметры процедурного типа...................................168
        Глава 10. Программы и модули..................................170
        Синтаксис программ............................................170
        Заголовок программы...........................................170
        Оператор uses.................................................171
        Синтаксис модулей.............................................172
        Заголовок модуля..............................................172
 
         B.Pascal 7 & Objects/LR       - 4 -

        Интерфейсная секция...........................................173
        Секция реализации.............................................174
        Секция инициализации..........................................175
        Косвенные ссылки на модули....................................175
        Перекрестные ссылки на модули.................................177
        Совместное использование описаний.............................179
        Глава 11. Динамически компонуемые библиотеки..................180
        Что такое DLL?................................................180
        Использование DLL.............................................180
        Модули импорта................................................182
        Статический и динамический импорт.............................184
        Написание DLL.................................................185
        Директива процедуры export....................................187
        Оператор exports..............................................187
        Код инициализации библиотеки..................................189
        Замечания по программированию библиотек.......................191
        Глобальные переменные в DLL...................................191
        Глобальные переменные и файлы в DLL...........................191
        DLL и модуль System...........................................191
        Ошибки этапа выполнения в DLL.................................192
        DLL и сегменты стека..........................................192
        Создание совместно используемых DLL...........................193
        Глава 12. Библиотеки исполняющей системы......................194
        Модули Borland Pascal.........................................194
        Модуль System.................................................195
        Модуль Dos и WinDos...........................................195
        Модуль Crt....................................................195
        Модуль WinCrt.................................................196
        Модуль Printer................................................196
        Модуль WinPrn.................................................196
        Модуль Overlay................................................196
        Модуль Strings................................................197
        Модуль Graph..................................................197
        Модули Turbo3 и Graph3........................................197
        Модули WinTypes и WinProcs....................................197
        Модуль Win31..................................................198
        Модуль WinAPI.................................................198
        Модули, поддерживающие Windows 3.1............................198
        Глава 13. Стандартные процедуры и функции.....................199
        Процедуры управления работой программы........................200
        Функции преобразования........................................200
        Арифметические функции........................................201
        Порядковые процедуры и функции................................202
        Строковые процедуры и функции.................................202
        Процедуры и функции динамического распределения памяти........203
        Функции для работы с указателями и адресами...................204
        Прочие процедуры и функции....................................205
        Предописанные переменные......................................206
        Глава 14. Ввод и вывод........................................215
        Файловый ввод-вывод...........................................217
        Текстовые файлы...............................................219
        Нетипизированные файлы........................................221
        Переменная FileMode...........................................221
 
         B.Pascal 7 & Objects/LR       - 5 -

        Устройства в Borland Pascal...................................222
        Устройства DOS................................................223
        Устройство CОN................................................224
        Устройства LРT1, LРT2 и LРT3..................................224
        Устройства CОМ1 и CОМ2........................................225
        Устройство NUL................................................225
        Устройства, предназначенные для текстовых файлов..............225
        Ввод и вывод с помощью модуля Crt.............................226
        Использование модуля CRT......................................227
        Окна CRT......................................................227
        Специальные символы...........................................228
        Ввод строк....................................................228
        Процедуры и функции модуля Crt................................230
        Константы и переменные модуля Crt.............................232
        Ввод и вывод с помощью модуля WinCrt..........................233
        Использование модуля WinCrt...................................234
        Специальные символы...........................................236
        Ввод строк....................................................236
        Процедуры и функции...........................................237
        Переменные модуля WinCrt......................................239
        Печать из программы Windows...................................241
        Изменение заголовков..........................................241
        Изменение шрифтов.............................................242
        Остановка задания печати......................................243
        Специальные символы...........................................243
        Процедуры и функции модуля WinPrn.............................244
        Функция Open..................................................246
        Функция InOut.................................................246
        Функция Flush.................................................247
        Функция Clоsе.................................................247
        Глава 15. Использование сопроцессора 80x87....................248
        Типы данных процессора 80x87..................................251
        Арифметические операции с повышенной точностью................252
        Сравнение вещественных чисел..................................253
        Стек вычислений сопроцессора 80x87............................253
        Запись вещественных чисел при использовании сопроцессора
         80x87........................................................255
        Модули, в которых используется сопроцессор 80x87..............255
        Распознавание сопроцессора 80х87 в программах DOS.............256
        Распознавание сопроцессора 80x87 в программе Windows..........257
        Использование эмуляции сопроцессора 80x87 на языке
         ассемблера...................................................258
        Глава 16. Модуль Dоs..........................................259
        Процедуры и функции модуля Dos................................260
        Константы, типы и переменные модуля Dos.......................263
        Типы..........................................................263
        Переменные модуля Dos.........................................264
        Процедуры и функции модуля WinDos.............................265
        Константы, типы и переменные модуля WinDos....................268
        Типы..........................................................269
        Переменные модуля WinDos......................................269
        Глава 17. Программирование в защищенном режиме DOS............270
        Что такое защищенный режим?...................................270
 
         B.Pascal 7 & Objects/LR       - 6 -

        Расширения Borland защищенного режима DOS.....................274
        DPMI-сервер...................................................274
        Администратор этапа выполнения................................274
        Разработка прикладных программ DOS защищенного режима.........276
        Надежное программирование в защищенном режиме.................276
        Загрузка в сегментные регистры недопустимых значений..........277
        Функция Ptr и массивы Mem.....................................277
        Абсолютные переменные.........................................277
        Операции с сегментами.........................................278
        Использование сегментных......................................278
        Доступ к памяти вне границ сегмента...........................278
        Запись в сегмент кода.........................................279
        Разыменование указателей nil..................................279
        Сегменты кода и данных........................................279
        Управление динамически распределяемой памятью.................280
        Предопределенные селекторы....................................280
        Переменная SelectorInc........................................281
        Модуль WinAPI.................................................284
        Управление памятью............................................284
        Подпрограммы управления памятью API...........................285
        Управление модулем............................................289
        Управление ресурсами..........................................290
        Управление селектором.........................................291
        Другие подпрограммы API.......................................292
        Прямой доступ к DPMI-серверу..................................293
        Компиляция прикладной программы защищенного режима............293
        Выполнение программы защищенного режима DOS...................294
        Управление объемом используемой RTM памяти....................295
        Глава 18. Строки с завершающим нулем..........................297
        Что такое строка с завершающим нулем?.........................297
        Функции модуля Strings........................................297
        Функции модуля Strings........................................298
        Использование строк с завершающим нулем.......................299
        Символьные указатели и строковые литералы.....................301
        Символьные указатели и символьные массивы.....................302
        Индексирование символьного указателя..........................303
        Операции с символьными указателями............................304
        Строки с завершающим нулем и стандартные процедуры............305
        Пример использования функций с завершающим нулем..............306
        Глава 19. Использование графического интерфейса Borland.......308
        Драйверы......................................................308
        Поддержка устройства IBM 8514.................................310
        Система координат.............................................311
        Текущий указатель.............................................311
        Текст.........................................................313
        Графические изображения и их виды.............................314
        Области просмотра и двоичные образы...........................314
        Поддержка страниц и цветов....................................315
        Обработка ошибок..............................................315
        Начало работы.................................................316
        Пользовательские программы управления динамически
         распределяемой памятью.......................................318
        Процедуры модуля Graph........................................321
 
         B.Pascal 7 & Objects/LR       - 7 -

        Константы, типы и переменные модуля Graph.....................326
        Константы.....................................................326
        Типы..........................................................328
        Переменные....................................................328
        Глава 20. Использование оверлеев..............................329
        Администратор оверлеев........................................330
        Управление оверлейным буфером.................................331
        Процедуры и функции модуля Overlay............................334
        Коды результата...............................................335
        Разработка программ с оверлеями...............................335
        Генерация оверлейного кода....................................336
        Требование использования дальнего типа вызовов................337
        Инициализация администратора оверлеев.........................338
        Разделы инициализации в оверлейных модулях....................341
        Что не должно использоваться в качестве оверлеев..............342
        Отладка оверлеев..............................................343
        Внешние программы в оверлеях..................................343
        Задание функции чтения оверлея................................345
        Оверлеи в файлах .EXE.........................................347
        Часть III. В среде Borland Pascal.............................348
        Глава 21. Использование памяти................................348
        Использование памяти программами реального режима DOS.........348
        Администратор динамически распределяемой области памяти DOS...350
        Методы освобождения областей динамически распределяемой
         памяти.......................................................352
        Список свободных блоков.......................................355
        Переменная HeapError..........................................356
        Использование памяти в программах DOS защищенного режима......359
        Сегменты кода.................................................359
        Атрибуты сегмента.............................................359
        Атрибуты MOVEABLE или FIXED...................................359
        Атрибуты PRELOAD или DEMANDLOAD...............................359
        Атрибуты DISCARDABLE или PERMAMENT............................359
        Сегменты данных и стека.......................................361
        Изменение атрибутов...........................................361
        Администратор динамически распределяемой области памяти DOS...362
        Переменная HeapError..........................................363
        Использование памяти в программах Windows.....................365
        Атрибуты сегментов............................................365
        Атрибуты MOVEABLE или FIXED...................................365
        Атрибуты PRELOAD или DEMANDLOAD...............................365
        Атрибуты DISCARDABLE или PERMANENT............................365
        Изменение атрибутов...........................................365
        Сегмент локальных динамических данных.........................367
        Администратор динамически распределяемой области памяти.......368
        Переменная HeapError..........................................370
        Форматы внутреннего представления данных......................372
        Целочисленные типы............................................372
        Символьный тип................................................372
        Булевский тип.................................................372
        Перечислимый тип..............................................372
        Типы с плавающей точкой.......................................373
        Вещественный тип..............................................373
 
         B.Pascal 7 & Objects/LR       - 8 -

        Тип числа с одинарной точностью...............................374
        Тип числа с двойной точностью.................................374
        Тип числа с повышенной точностью..............................375
        Сложный тип...................................................375
        Значения типа указатель.......................................375
        Значения строкового типа......................................376
        Значения множественного типа..................................376
        Значения типа массив..........................................376
        Значения типа запись..........................................376
        Объектные типы................................................377
        Таблица виртуальных методов...................................378
        Таблица динамических методов..................................381
        Значения файлового типа.......................................385
        Процедурные типы..............................................387
        Прямой доступ к памяти........................................387
        Прямой доступ к портам........................................387
        Глава 22. Вопросы управления..................................388
        Соглашения по вызовам.........................................388
        Параметры-переменные..........................................388
        Параметры-значения............................................388
        Открытые строковые параметры..................................389
        Результаты функций............................................390
        Ближние и дальние типы вызовов................................391
        Вложенные процедуры и функции.................................391
        Соглашения о вызовах методов..................................392
        Вызовы виртуальных методов....................................394
        Вызовы динамических методов...................................395
        Конструкторы и деструкторы....................................396
        Стандартный код входа и выхода................................396
        Соглашения по сохранению регистров............................400
        Процедуры выхода..............................................400
        Обработка прерываний..........................................403
        Разработка процедур обработки прерываний......................403
        Глава 23. Автоматическая оптимизация..........................405
        Свертывание констант..........................................405
        Слияние констант..............................................405
        Вычисление по короткой схеме..................................405
        Параметры-константы...........................................406
        Устранение избыточной загрузки указателей.....................406
        Подстановка констант множественного типа......................406
        Малые множества...............................................407
        Порядок вычисления............................................407
        Проверка на допустимость границ...............................408
        Использование сдвига вместо умножения.........................408
        Автоматическое выравнивание на границу слова..................408
        Удаление неиспользуемого кода.................................409
        Эффективная компоновка........................................409
        Часть IV. Использование Borland Pascal с языком ассемблера....411
        Глава 24. Встроенный ассемблер................................411
        Оператор asm..................................................411
        Использование регистров.......................................412
        Синтаксис операторa ассемблера................................412
        Метки.........................................................413
 
         B.Pascal 7 & Objects/LR       - 9 -

        Размер инструкции RET.........................................413
        Автоматическое определение размера перехода...................414
        Директивы ассемблера..........................................415
        Операнды......................................................417
        Выражения.....................................................417
        Различия между выражениями Паскаля и ассемблера...............418
        Элементы выражений............................................419
        Константы.....................................................420
        Числовые константы............................................420
        Строковые константы...........................................420
        Регистры......................................................422
        Идентификаторы................................................422
        Классы выражений..............................................426
        Типы выражений................................................427
        Операции в выражениях.........................................430
        Процедуры и функции ассемблера................................434
        Глава 25. Компоновка с программами на языке ассемблера........437
        Турбо Ассемблер и Borland Pascal..............................438
        Примеры программ на языке ассемблера..........................440
        Методы на языке ассемблера....................................441
        Включаемый машинный код.......................................442
        Операторы Inline..............................................442
        Директивы inline..............................................444
скачать | некачать
Hosted by uCoz