Справочное руководство Free Pascal


Справочное руководство для Free Pascal, Версия 3.0.0
Версия документа 3.0

Ноябрь 2015 (оригинал)
(перевод на русский язык) Не окончен

Авторы:
Michaël Van Canneyt

Переводчики:
Google переводчик
Белькевич Дмитрий Васильевич
Чигрин Виталий Николаевич (адаптировал и переработал)
Использована более ранняя попытка перевести официальную документацию (к сожалению неизвестны имёна переводчиков)
 
 


© GNU

Про это руководство

Обозначения

Синтаксические диаграммы

О языке Паскаль

Глава 1 Элементы языка паскаль

1.1 Символы

1.2 Комментарии

1.3 Зарезервированные слова

1.3.1 Зарезервированные слова Turbo  Pascal

1.3.2 Зарезервированные слова Free Pascal

1.3.3 Зарезервированные слова Object Pascal

1.3.4 Модификаторы

1.4 Идентификаторы

1.5 Директивы подсказок.

1.6 Числа

1.7 Метки

1.8 Символьные строки

Глава 2 Константы

2.1 Обычные константы

2.2 Типизированные константы

2.3 Строковые ресурсы

Глава 3 Типы

3.1 Базовые типы

3.1.1 Перечислимые типы

Целые типы

Булевы типы

Типы перечислений

Типы диапазоны

3.1.2 Вещественные типы

3.2 Символьные типы

3.2.1 Символ (Char или AnsiChar)

3.2.2 WideChar

3.2.3 Другие символьные типы

3.2.4 Однобайтовые строковые тип

Короткие строки (ShortStrings)

Строки AnsiString

Преобразование кодовой страницы

Необработанная строка байт (RawByteString)

UTF8String

3.2.5 Многобайтные строковые типы

Строки Unicode (UnicodeStrings)

Большие строки (WideStrings)

3.2.6 Строковые константы (Constant strings )

3.2.7 PChar - строки завершённые нулём

3.2.8 Размеры строк

3.3 Структурированные Типы

Упакованные структурированные типы

3.3.1 Массивы

Статические массивы

Динамические массивы

Типы совместимые с Динамическими массивами

Конструктор Динамического массива

Упаковка и распаковка массивов

3.3.2 Записи

Структура и размер Записи

Замечания и примеры

3.3.3 Множества

3.3.4 Файловый тип

3.4 Указатели

3.5 Предварительное описания типа

3.6 Процедурный тип

3.7 Тип данных Variant

3.7.1 Определение

3.7.2 Вариантные переменные в присвоениях и выражениях

3.7.3 Варианты и интерфейсы

3.8 Псевдоним типа

Глава 4 Переменные

4.1 Определение

4.2 Объявление

4.3 Область видимости(контекст)

4.4 Инициализированные переменные

4.5 Инициализация переменных (по умолчанию)

4.6 Потоконезависимые переменные

4.7 Свойства (Properties)

Глава 5 Объекты

5.1 Объявление

5.2 Поля

5.3 Статические поля илм поля классов

5.4 Конструкторы и деструкторы

5.5 Методы

5.5.1 Объявление

5.5.2 Вызов метода

Статические методы

Виртуальные методы

Абстрактные методы

Методы класса и статические методы

5.6 Видимость

Глава 6 Классы

6.1 Определения классов

6.2 Обычные и статические поля

6.2.1 Обячные поля/переменные

6.2.2 Переменняе/поля класса

6.3 Экземпляр класса

6.4 Уничтожение класса

6.5 Методы

6.5.1 Объявление

6.5.2 Вызов

6.5.3 Виртуальные методы

6.5.4 Методы класса

6.5.5 Конструктор и деструктор класса

6.5.6 Стасический метод класса

6.5.7 Методы обработки сообщений

6.5.8 Использование наследования

6.6 Свойства

6.6.1 Определение

6.6.2 Индексированные свойства

6.6.3 Массив свойств

6.6.4 Свойства по умолчанию

6.6.5 Публикуемые (Published) свойства

6.6.6 Сохраняемая информация

6.6.7 Переопределение свойств

6.7 Свойства класса

6.8 Вложенные типы, константы и переменные

Глава 7 Интерфейсы

7.1 Определение

7.2 Идентификация интерфейса: GUID

7.3 Реализация интерфейса

7.4 Делегация Интерфейса

7.5 Интерфейсы и COM

7.6 CORBA и другие интерфейсы

7.7 Подсчет ссылок

Глава 8. Дженерики

8.1 Введение

8.2 Определение дженерика классов

8.3 Специализация дженерика класса

8.4 Ограничения дженериков

8.5 Совместимость с Delphi

8.5.1 Элементы синтаксиса

8.5.2. Ограничения для записей

8.5.3 Перегрузка типов

8.5.4 Соглашение о пространствах имен

8.5.5 Соглашение об области действия

8.6 Совместимость типов

8.7 Инициализация по умолчанию

8.8 Несколько слов об области действия

8.9 Перегрузка операторов и дженерики

Глава 9 Расширенные записи

9.1 Описание

9.2 Энумераторы расширенной записи

Глава 10 Хелперы для классов, записей и типов

10.1 Определение

10.2 Ограничения для классов хелперов

10.3 Ограничения на хелперы записей

10.4 Особенности хелперов простых типов

10.5 Замечание по видимости и времени жизни хелперов записей и типов

10.6 Наследование

10.7 Использование

Глава 11 Классы Objective-Pascal

11.1 Введение

11.2 Объявление классов Objective-Pascal

11.3 Формальное объявление

11.4 Распределение и освобождение экземпляров

11.5 Определения протокола

11.6 Категории

11.7 Пространство имён и идентификаторы

11.8 Селекторы

11.9 Тип id

11.10 Перечисления в классах Objective-C

Глава 12 Выражения

12.1 Синтаксис выражений

12.2 Вызов функций

12.3 Конструкторы множеств

12.4 Приведение типов значений

12.5 Приведения типов переменной

12.6 Приведение невыровненых типов

12.7 Оператор @

12.8 Операторы

12.8.1 Арифметические операторы

12.8.2 Поразрядные логические операторы

12.8.3 Логические операторы (однобитовые)

12.8.4 Строковый оператор

12.8.5 Операторы действий над множествами

12.8.6 Операторы отношения

12.8.7 Операторы действий над классами

Глава 13 Операторы

13.1 Простые операторы

13.1.1 Оператор присвоения

13.1.2 Оператор вызова процедуры

13.1.3 Оператор Goto

13.2 Структурные операторы

13.2.1 Составной оператор

13.2.2 Оператор Case

13.2.3 Оператор If..then..else

13.2.4 Оператор For..to/downto..do

13.2.5 Оператор For..in..do

13.2.6 Оператор Repeat..until

13.2.7 Оператор While..do

13.2.8 Оператор With

13.2.9 Операторы Исключения

13.3 Оператор Asm

Глава 14 Использование функций и процедур

14.1 Объявление процедуры

14.2 Объявление функции

14.3 Результат функции

14.4 Список параметров

14.4.1 Параметры-значения

14.4.2 Параметры-переменные

14.4.3 Выходные (Out) параметры

14.4.4 Параметры-константы

14.4.5 Параметр- открытый массив

14.4.6 Массив констант

14.5 Управляение типами со счетчиком ссылок

14.6 Перегрузка функций

14.7 Forward объявление подпрограмм

14.8 Внешние (external) функции

14.9 Функции на ассемблере

14.10 Модификаторы

14.10.1 alias

14.10.2 cdecl

14.10.3 export

14.10.4 inline

14.10.5 interrupt

14.10.6 iocheck

14.10.7 local

14.10.8 noreturn

14.10.9 nostackframe

14.10.10 overload

14.10.11 pascal

14.10.12 public

14.10.13 register

14.10.14 safecall

14.10.15 saveregisters

14.10.16 softfloat

14.10.17 stdcall

14.10.18 varargs

14.11 Неподдерживаемые модификаторы Turbo Pascal

Глава 15 Перегрузка операторов

15.1 Введение

15.2 Объявление оператора

15.3 Операторы присваивания

15.4 Арифметические операторы

15.5 Операторы сравнения

15.6 Оператор In

Глава 16 Программы, модули, блоки

16.1 Программы

16.2 Модули

16.3 Namespaces: Уточноние модуля

16.4 Зависимость модулей

16.5 Блоки

16.6 Область действия

16.6.1 Область действия блока

16.6.2 Область действия записи

16.6.3 Область действия класса

16.6.4 Область действия модуля

16.7 Libraries (Библиотеки)

Глава 17 Исключения

17.1 Оператор Raise

17.2 Операторы try...except

17.3 Операторы try...finally

17.4 Обработка вложенных исключений

17.5 Классы исключений

Глава 18 Использование ассемблера

18.1 Операторы Ассемблера

18.2 Процедуры и функции Ассемблера

18.3 Приложение