Руководство по языку B.Pascal 7

Руководство по языку B.Pascal 7

Введение

О чем рассказывается в данном руководстве
Глава 1. Что такое программа Borland Pascal?
Программа Borland Pascal
Процедуры и функции
Операторы
Выражения
Лексемы
Типы, переменные, константы и типизированные константы
Компоновка частей



Модули
Синтаксические диаграммы
Глава 2.Лексемы
Специальные символы
Зарезервированные слова и стандартные директивы Borland Pascal
Идентификаторы
Числа
Метки
Строки символов
Комментарии

Строки программы
Глава 3. Константы
Глава 4. Типы
Простые типы
Порядковые типы
Целочисленные типы
Булевские типы
Символьный тип (char)
Перечислимые типы
Отрезки типа

Вещественные типы
Программная поддержка чисел с плавающей точкой
Аппаратная поддержка чисел с плавающей точкой
Строковые типы
Структурные типы
Типы массив
Типы запись
Объектные типы

Компоненты и область действия
Методы
Виртуальные методы
Динамические методы
Создание экземпляров объектов
Активизация методов
Активизация уточненных методов
Множественные типы
Файловые типы

Ссылочные типы
Тип Pointer
Тип PChar
Процедурные типы
Процедурные значения
Совместимость типов
Тождественные и совместимые типы
Тождественность типов
Совместимость по присваиванию

Раздел описания типов
Описания переменных
Сегмент данных
Сегмент стека
Абсолютные переменные
Ссылки на переменные
Квалификаторы
Массивы, строки и индексы
Записи и десигнаторы полей
Десигнаторы компонентов объекта

Переменные-указатели и динамические переменные
Приведение типов переменных
Типизированные константы
Константы простого типа
Константы строкового типа
Константы структурного типа
Константы типа массив
Константы типа запись
Константы объектного типа
Константы множественного типа

Константы ссылочного типа
Константы процедурного типа
Глава 6. Выражения
Синтаксис выражений
Операции
Арифметические операции
Унарные арифметические операции
Логические операции
Булевские операции

Операция со строками
Операции над символьными указателями
Операции над множествами
Операции отношения
Сравнение простых типов
Сравнение строк
Сравнение упакованных строк
Сравнение указателей
Сравнение символьных указателей
Сравнение множеств

Проверка на принадлежность к множеству
Операция @
Использование операции @ для переменной
Использование операции @ для процедуры или функции или метода
Вызовы функции
Описатели множества
Приведение типа значений
Процедурные типы в выражениях
Процедурные типы в выражениях - 2
Глава 7. Операторы

Простые операторым
Оператор присваивания
Операторы процедуры
Операторы перехода
Структурные операторы
Составные операторы
Условные операторы
Оператор условия (if)
Оператор варианта (case)
Оператор цикла

Оператор цикла с постусловием (repeat)
Операторы цикла с предусловием (while)
Операторы цикла с параметром (for)
Оператор with
Глава 8. Блоки, локальность и область действия
Синтаксис
Правила для области действия
Область действия для блока

Область действия записи
Область действия объекта
Область действия модуля
Глава 9. Процедуры и функции
Описания near и far
Описания export
Описания interrupt
Описание forward
Описания external
Описания assembler

Описания inline
Описания функций
Описания методов
Конструкторы и деструкторы
Восстановление ошибок конструктора
Параметры
Параметры-значения
Параметры-константы

Параметры-переменные
Нетипизированные параметры
Открытые параметры
Открытые строковые параметры
Открытые параметры-массивы
Динамические переменные объектного типа
Процедурные переменные

Руководство по языку B.Pascal 7

Параметры процедурного типа
Синтаксис программ
Заголовок программы

Оператор uses
Синтаксис модулей
Заголовок модуля
Интерфейсная секция
Секция реализации
Секция инициализации
Косвенные ссылки на модули
Перекрестные ссылки на модули
Совместное использование описаний

Глава 11. Динамически компонуемые библиотеки
Что такое DLL?
Использование DLL
Модули импорта
Статический и динамический импорт
Написание DLL
Директива процедуры export
Оператор exports
Код инициализации библиотеки

Замечания по программированию библиотек
Глобальные переменные в DLL
Глобальные переменные и файлы в DLL
DLL и модуль System
Ошибки этапа выполнения в DLL
DLL и сегменты стека
Создание совместно используемых DLL
Часть II. Глава 12. Библиотеки исполняющей системы
Модули Borland Pascal
Модуль System

Модуль Dos и WinDos
Модуль Crt
Модуль WinCrt
Модуль Printer
Модуль WinPrn
Модуль Overlay
Модуль Strings
Модуль Graph
Модули Turbo3 и Graph3
Модули WinTypes и WinProcs

Модуль Win31
Модуль WinAPI
Модули, поддерживающие Windows 3.1
Глава 13. Стандартные процедуры и функции
Процедуры управления работой программы
Функции преобразования
Арифметические функции
Порядковые процедуры и функции
Строковые процедуры и функции
Процедуры и функции динамического распределения памяти

Функции для работы с указателями и адресами
Прочие процедуры и функции
Предописанные переменные
Глава 14. Ввод и вывод
Файловый ввод-вывод
Текстовые файлы

Нетипизированные файлы
Переменная FileMode
Устройства в Borland Pascal
Устройства DOS
Устройство CОN
Устройства LРT1, LРT2 и LРT3
Устройства CОМ1 и CОМ2
Устройство NUL
Устройства, предназначенные для текстовых файлов
Ввод и вывод с помощью модуля Crt

Использование модуля CRT
Окна CRT
Ввод строк
Процедуры и функции модуля Crt
Константы и переменные модуля Crt
Ввод и вывод с помощью модуля WinCrt
Использование модуля WinCrt

Переменные модуля WinCrt
Печать из программы Windows
Изменение заголовков
Изменение шрифтов
Остановка задания печати
Процедуры и функции модуля WinPrn

Функция Open
Функция InOut
Функция Flush
Функция Clоsе
Глава 15. Использование сопроцессора 80x87
Типы данных процессора 80x87
Арифметические операции с повышенной точностью
Сравнение вещественных чисел

Стек вычислений сопроцессора 80x87
Запись вещественных чисел при использовании сопроцессора 80x87
Модули, в которых используется сопроцессор 80x87
Распознавание сопроцессора 80х87 в программах DOS
Распознавание сопроцессора 80x87 в программе Windows
Использование эмуляции сопроцессора 80x87 на языке ассемблера
Глава 16. Модуль Dоs
Процедуры и функции модуля Dos

Константы, типы и переменные модуля Dos
Типы
Переменные модуля Dos
Процедуры и функции модуля WinDos
Константы, типы и переменные модуля WinDos
Переменные модуля WinDos

Глава 17. Программирование в защищенном режиме DOS
Что такое защищенный режим?
Расширения Borland защищенного режима DOS
DPMI-сервер
Администратор этапа выполнения
Разработка прикладных программ DOS защищенного режима
Надежное программирование в защищенном режиме
Загрузка в сегментные регистры недопустимых значений
Функция Ptr и массивы Mem

Операции с сегментами
Использование сегментных регистров в качестве временных переменных
Доступ к памяти вне границ сегмента
Запись в сегмент кода
Разыменование указателей nil
Сегменты кода и данных
Управление динамически распределяемой памятью
Предопределенные селекторы
Переменная SelectorInc

Управление памятью
Подпрограммы управления памятью API
Управление модулем
Управление ресурсами
Управление селектором
Другие подпрограммы API

Прямой доступ к DPMI-серверу
Компиляция прикладной программы защищенного режима
Выполнение программы защищенного режима DOS
Управление объемом используемой RTM памяти
Глава 18. Строки с завершающим нулем
Что такое строка с завершающим нулем?

Руководство по языку B.Pascal 7

Функции модуля Strings
Использование строк с завершающим нулем
Символьные указатели и строковые литералы
Символьные указатели и символьные массивы

Индексирование символьного указателя
Операции с символьными указателями
Строки с завершающим нулем и стандартные процедуры
Пример использования функций с завершающим нулем
Глава 19. Использование графического интерфейса Borland
Драйверы
Поддержка устройства IBM 8514
Система координат
Текущий указатель
Текст

Графические изображения и их виды
Области просмотра и двоичные образы
Поддержка страниц и цветов
Обработка ошибок
Начало работы
Пользовательские программы управления динамически распределяемой памятью
Процедуры модуля Graph
Константы, типы и переменные модуля Graph

Константы
Переменные
Глава 20. Использование оверлеев
Администратор оверлеев
Управление оверлейным буфером
Процедуры и функции модуля Overlay
Коды результата

Разработка программ с оверлеями
Генерация оверлейного кода
Требование использования дальнего типа вызовов
Инициализация администратора оверлеев
Разделы инициализации в оверлейных модулях
Что не должно использоваться в качестве оверлеев
Отладка оверлеев
Внешние программы в оверлеях

Задание функции чтения оверлея
Оверлеи в файлах .EXE
Глава 21. Использование памяти
Использование памяти программами реального режима DOS
Администратор динамически распределяемой области памяти DOS
Методы освобождения областей динамически распределяемой памяти

Список свободных блоков
Переменная HeapError
Использование памяти в программах DOS защищенного режима
Сегменты кода
Атрибуты сегмента
Атрибуты MOVEABLE или FIXED
Атрибуты PRELOAD или DEMANDLOAD
Атрибуты DISCARDABLE или PERMAMENT

Сегменты данных и стека
Изменение атрибутов
Использование памяти в программах Windows
Атрибуты сегментов
Атрибуты DISCARDABLE или PERMANENT

Сегмент локальных динамических данных
Форматы внутреннего представления данных
Символьный тип
Булевский тип

Перечислимый тип
Типы с плавающей точкой
Вещественный тип
Тип числа с одинарной точностью
Тип числа с двойной точностью
Тип числа с повышенной точностью
Сложный тип
Значения типа указатель
Значения строкового типа
Значения множественного типа

Значения типа массив
Значения типа запись
Таблица виртуальных методов
Таблица динамических методов
Значения файлового типа
Прямой доступ к памяти

Прямой доступ к портам
Глава 22. Вопросы управления
Соглашения по вызовам
Результаты функций
Ближние и дальние типы вызовов
Вложенные процедуры и функции
Соглашения о вызовах методов

Вызовы виртуальных методов
Вызовы динамических методов
Стандартный код входа и выхода
Соглашения по сохранению регистров
Процедуры выхода
Обработка прерываний
Разработка процедур обработки прерываний

Глава 23. Автоматическая оптимизация
Свертывание констант
Слияние констант
Вычисление по короткой схеме
Устранение избыточной загрузки указателей
Подстановка констант множественного типа
Малые множества
Порядок вычисления
Проверка на допустимость границ

Использование сдвига вместо умножения
Автоматическое выравнивание на границу слова
Удаление неиспользуемого кода
Эффективная компоновка
Глава 24. Встроенный ассемблер
Оператор asm
Использование регистров
Синтаксис операторa ассемблера
Размер инструкции RET

Автоматическое определение размера перехода
Директивы ассемблера
Операнды
Различия между выражениями Паскаля и ассемблера
Элементы выражений
Числовые константы
Строковые константы

Регистры
Классы выражений
Типы выражений
Операции в выражениях

Руководство по языку B.Pascal 7

Процедуры и функции ассемблера
Глава 25. Компоновка с программами на языке ассемблера
Турбо Ассемблер и Borland Pascal

Примеры программ на языке ассемблера
Методы на языке ассемблера
Включаемый машинный код
Операторы Inline
Директивы inline

Пакет Adobe GoLive далее

Как рисовать мангу далее