Borland
Pascal 6.0
ВВЕДЕНИЕ
Что в этом руководстве
Ч А С Т Ь 1. СТАНДАРТ TURBO PASCAL
ГЛАВА 1 ЛЕКСЕМЫ И КОНСТАНТЫ
Специальные символы и зарезервированные слова
Идентификаторы
Метки
Числа
Строки символов
Объявление констант
Комментарии
Строки программы
ГЛАВА 2 БЛОКИ, ЛОКАЛИЗАЦИЯ И СФЕРА ДЕЙСТВИЯ
Синтаксис
Правила для сферы действия
Сфера действия интерфейса и стандартных идентификаторов
ГЛАВА 3 ТИПЫ
Простые типы
Порядковые типы
Целочисленный тип
Логический тип
Символьный тип
Перечислимые типы
Тип поддиапазона
Вещественные типы
Программная поддержка чисел с плавающей точкой
Аппаратная поддержка чисел с плавающей точкой
Строковые типы
Структурные типы
Тип массив
Типы запись
Типы объектов
Компоненты и сфера действия
Методы
Виртуальные методы
Экземпляры объектов
Тип множество
Файловые типы
Типы указатель
Процедурные типы
Тождественные и совместимые типы
Тождественность типов
Совместимость типов
Совместимость в операциях присваивания
Раздел объявления типов
ГЛАВА 4. ПЕРЕМЕННЫЕ
Объявления переменных
Сегмент данных
Сегмент стека
Абсолютные переменные
Ссылки на переменные
Квалификаторы
Массивы, строки и индексы
Записи и обозначения полей
Обозначения компонент объекта
Переменные указателей и динамические переменные
Приведение типов переменных
ГЛАВА 5. ТИПИРОВАННЫЕ КОНСТАНТЫ
Константы простого типа
Константы строкового типа
Константы структурного типа
Константы с типом массив
Константы типа объект
Константы с типом запись
Константы типа множества
Константы с типом указатель
Константы процедурного типа
ГЛАВА 6. ВЫРАЖЕНИЯ
Синтаксис выражений
Операторы
Арифметические операторы
Логические операторы
Булевские операторы
Строковые операторы
Операторы множества
Операторы отношения
Сравнение простых типов
Сравнение строк
Сравнение упакованных строк
Сравнение указателей
Сравнение множеств
Проверка на принадлежность множеству
Оператор @
Использование оператора @ для переменной
Использование оператора @ для параметра-значения
Использование оператора @ для параметра-переменной
Использование оператора @ для процедуры или функции
Использование оператора @ с методом
Вызов функции
Создание множества
Приведение типа
Процедурные типы в выражениях
ГЛАВА 7. ОПЕРАТОРЫ
Простые операторы
Операторы присваивания
Присваивание объектов
Оператор процедуры
Вызовы методов, констракторов и дестракторов
Операторы перехода (goto)
Структурные операторы
Составные операторы
Условные операторы
Оператор if
Оператор case
Операторы цикла
Операторы цикла repeat
Операторы цикла while
Операторы цикла for
Оператор над записями with
ГЛАВА 8. ПРОЦЕДУРЫ И ФУНКЦИИ
Объявление процедур
near и far объявления
interrupt объявление
Опережающие объявления (forward)
Внешние объявления (external)
assembler объявление
inline объявление
Объявления функций
Объявление методов
Констракторы и дестракторы
Параметры
Параметры - значения
Параметр - переменная
Объекты
Нетипированные параметры-переменные
Процедурные типы
Процедурные переменные
Параметры процедурного типа
ГЛАВА 9. ПРОГРАММЫ И МОДУЛИ
Синтаксис программы
Заголовок программы
Предложение uses
Cинтаксис модулей
Заголовок модуля
Интерфейсный раздел
Раздел реализации
Раздел инициализации
Косвенные ссылки на используемые модули
Круговые ссылки модулей
Разделение других объявлений
Ч А С Т Ь 2. СТАНДАРТНЫЕ БИБЛИОТЕКИ
ГЛАВА 10. МОДУЛЬ SYSTEM
Стандартные процедуры и функции
Процедуры управления обработкой
Процедуры динамического распределения
Функции динамического распределения
Функции преобразования
Арифметические функции
Процедуры порядкового типа
Функции порядкового типа
Строковые процедуры
Строковые функции
Функции для работы с указателями и адресами
Другие процедуры
Другие функции
Ввод и вывод
Введение во ввод/вывод
Процедуры В/В
Функции В/В
Текстовые файлы
Процедуры
Функции
Нетипированные файлы
Процедуры
Переменная FileMode
Устройства в Turbo Pascal
Устройства DOS
Устройство CON
Устройства LTP1, LTP2, LTP3
Устройства COM1 и COM2
Устройство NUL
Устройство, предназначенное для текстовых файлов
Предопределенные переменные
Неинициализированные переменные
Инициализированные переменные
ГЛАВА 11. МОДУЛЬ DOS
Константы, типы и переменные
Константы
Константы флагов
Константы режима файла
Константы атрибутов файла
Типы
Типы файловых записей
Тип Registers
Тип DataTime
Тип SearchRec
Строковые типы обработки файлов
Переменные
Переменная DosError
Процедуры и функции
Процедуры даты и времени
Процедуры обслуживания прерываний
Функция статуса диска
Процедуры обработки файла
Функции обработки файла
Процедуры обработки процессов
Функции обработки процессов
Функции управления средой
Дополнительные процедуры
Дополнительные функции
ГЛАВА 12. МОДУЛЬ GRAPH
Драйверы
Поддержка IBM 8514
Координатная система
Текущий указатель
Текст
Фигуры и стили
Окна и битовые образы
Страницы и цвет
Обработка ошибок
Начало работы
Пользовательские программы управления кучей
Константы,типы и переменные модуля Graph
Константы
SetPalette и SetAllPalette
SetRGBPalette
Константы типов линий
Константы управления шрифтом
Константы выравнивания
Константы отсечения
Константы полосы
Константы шаблона заполнения
Битовые операторы
Константа палитры
Типы
Переменные
Процедуры
Функции
ГЛАВА 13. ОВЕРЛЕИ
Монитор оверлеев
Монитор буфера оверлеев
Константы и переменные
OvrResult
OvrTrapCount
OvrLoadCount
OvrFileMode
OvrReadBuf
Коды возврата
Процедуры и функции
OvrInit
OvrInitEMS
OvrSetBuf
OvrGetBuf
OvrClearBuf
OvrSetRetry
OvrGetRetry
Создание оверлейных программ
Генерация оверлейного кода
Дальняя модель вызова
Инициализация монитора оверлеев
Инициализационная часть в оверлейных модулях
Что нельзя в оверлее
Отладка оверлеев
Внешние программы в оверлеях
Оверлеи в EXE файлах
ГЛАВА 14. ИСПОЛЬЗОВАНИЕ 8087
Типы данных 8087
Расширенная арифметика
Сравнение вещественных типов
Стек вычисления 8087
Вывод вещественных чисел с 8087
Модули, использующие 8087
Обнаружение 8087
Эмуляция 8087 в Ассемблере
ГЛАВА 15. МОДУЛЬ CRT
Файлы ввода и вывода
Окна
Специальные символы
Ввод строки
Константы, типы и переменные
Константы
Константы режима Crt
Константы цветов текста
Переменные
CheckBreak
CheckEof
CheckSnow
DirectVideo
LastMode
TextAttr
WindMin и WindMax
Процедуры и функции
Ч А С Т Ь 3. TURBO PASCAL ВНУТРИ
ГЛАВА 16. ПАМЯТЬ
Карта памяти Turbo Pascal
Монитор кучи
Освобождение памяти
Список свободных блоков
Переменная HeapError
Внутренние форматы данных
Целые типы
Символьный тип
Логический тип
Перечислимые типы
Вещественные типы
Тип Rreal
Тип Single
Тип Double
Тип Extended
Тип Comp
Тип Pointer
Строковый тип
Тип множества
Тип массива
Тип запись
Файловый тип
Процедурный тип
Прямой доступ к памяти
ГЛАВА 17. ВНУТРЕННИЙ ФОРМАТ ОБЪЕКТОВ
Таблицы виртуальных методов
Стандартная функция SizeOf
Стандартная функция TypeOf
Вызовы виртуальных методов
Соглашение о вызовах методов
Констракторы и дестракторы
Расширения для New и Dispose
Методы на ассемблере
Восстановление ошибок констрактора
ГЛАВА 18. ВОПРОСЫ КОНТРОЛЯ
Соглашения о вызовах
Изменяемые параметры
Неизменяемые параметры
Результаты функции
Ближние и дальние вызовы (NEAR и FAR)
Вложенные процедуры и функции
Код входа и выхода
Соглашения о регистрах
Процедуры выхода
Обработка прерываний
Написание процедур прерывания
ГЛАВА 19. ВВОД И ВЫВОД
Драйверы устройств текстового файла
Функция Open
Функция InOut
Функция Flush
Функция Close
Прямой доступ к портам
ГЛАВА 20. АВТОМАТИЧЕСКАЯ ОПТИМИЗАЦИЯ
Вычисление констант
Объединение констант
Короткое вычисление
Порядок вычислений
Проверка диапазона
Сдвиг вместо умножения
Автоматическое выравнивание
Удаление неиспользованного кода
Отличное редактирование связей
ГЛАВА 21. ДИРЕКТИВЫ КОМПИЛЯТОРА
Директивы переключения
Выравнивание данных
Вычисление булевских выражений
Отладочная информация
Эмуляция
Выбор модели дальнего вызова
Генерация кода 80286
Проверка ввода/вывода
Информация о локальных символах
Числовая обработка
Генерация оверлейного кода
Проверка диапазона
Проверка переполнения стека
Проверка переменной строки
Расширенный синтаксис
Параметрические директивы
Включенный файл
Подключение объектного файла
Размеры распределения памяти
Имя оверлейного модуля
Условная компиляция
Условные символы
Директива Define (определить)
Директива UNDEF
Директива IFDEF
Директива IFNDEF
Директива IFOPT
Директива ELSE
Директива ENDIF
Ч А С Т Ь 4. ИСПОЛЬЗОВАНИЕ TURBO PASCAL С ЯЗЫКОМ АССЕМБЛЕРА
ГЛАВА 22. ВСТРОЕННЫЙ АССЕМБЛЕР
Оператор asm
Использование регистров
Синтаксис ассемблерных операторов
Метки
Префикс
Коды инструкций
Размер инструкции RET
Автоматический размер перехода
Директивы Ассемблера
Операнды
Выражения
Различия между выражениями Паскаля и Ассемблера
Элементы выражения
Константы
Числовые константы
Строковые константы
Регистры
Символы
Классы выражений
Типы выражений
Операторы выражений
Ассемблерные процедуры и функции
ГЛАВА 23. РЕДАКТИРОВАНИЕ АССЕМБЛЕРНОГО КОДА
Turbo Assembler и Turbo Pascal
Примеры программ на Ассемблере
Пример на Turbo Assembler
Встроенный машинный код
Оператор Inline
Директива Inline
Ч А С Т Ь 5. П Р И Л О Ж Е Н И Я
ПРИЛОЖЕНИЕ A СООБЩЕНИЯ ОБ ОШИБКАХ
Сообщения об ошибках компиляции
Ошибки времени выполнения
Ошибки операционной системы DOS
Ошибки ввода/вывода
Критические ошибки
Фатальные ошибки
ПРИЛОЖЕНИЕ B СПРАВОЧНЫЙ МАТЕРИАЛ
Коды ASCII
Расширенные коды клавишей
Коды сканирования клавиатуры
|