Программа на Object Pascal, как и в более ранних версиях Pascal, состоит из основной части, называемой программой (англ. Program – Программа), и нескольких модулей (англ. Unit – Модуль), подключаемых на этапе компиляции к основной части программы. Наличие модулей в программе не обязательно.

Структура основной части программы:

  • Program – Заголовок программы
  • Uses – раздел подключения модулей (библиотек)
  • Label – Раздел описания меток безусловного перехода
  • Const – раздел описания констант
  • Type – Раздел описания нестандартных типов данных
  • Var – Раздел описания переменных
  • Begin – Начало раздела описания логики программы
  • – Раздел описания логики программы
  • End. – Конец раздела описания логики программы

Основная часть программы содержится в отдельном файле и состоит из одного или нескольких разделов, каждый из которых начинается с ключевого слова (“Program“, “Uses“, “Label” и т.д.). Если в существовании раздела нет необходимости, то ключевое слово, открывающее его, не указывается. Основная часть программы Delphi имеет расширение “dpr” (от англ. DPr – Delphi Project – Проект Delphi). Создание и обновление основной части программы берет на себя среда разработки.

Из всех представленных разделов обязательным является только раздел описания логики программы (начинается ключевым словом “Begin” и заканчивается ключевым словом “End” с точной). В программе на Delphi обязательным является также заголовок программы, имеющий вид:

Programm <Название>;

Требование к наличию заголовка программы связано со ссылками на файлы ресурсов, подключаемых к программе, и имеющих такие же названия, что и файл, в котором хранится основная часть программы. Данные ссылки создаются и поддерживаются средой автоматически, а их исправление не рекомендуется, так как это может вызвать нарушение структуры проекта.

Название программы выбирается по обычным правилам именования идентификаторов в Turbo Pascal. Исполняемый exe-файл, получаемый в результате компиляции программы, имеет имя, соответствующее названию файла с программой.

Изменение названия программы следует производить только с помощью пункта “File” -> “Save As” главного меню Delphi. Изменение идентификатора, стоящего после ключевого слова Program вручную, может привести к фатальным последствиям для целостности проекта.

Разделы описания констант (“Const“), нестандартных типов данных (“Type“) и переменных (“Var“) могут следовать друг за другом в любом порядке, но приведенный порядок является наиболее предпочтительным. Это связано с тем, что константы могут использоваться при описании типов данных и переменных, а типы данных обычно используются при описании переменных. При этом идентификаторы, описанные в разделе описания переменных, ни при каких условиях не могут использоваться в разделах описания типов и констант.

Область действия идентификатора начинается с момента его описания, то есть использование идентификатора возможно только нижу по тексту программы (*).

(*) Это замечание не касается “форвардных” описаний программ и классов, когда заголовок описания выносится выше по тексту программы для обеспечения возможности использования таких программ и классов выше их реального описания. Такая же ситуация с подпрограммами, заголовки которых указаны в интерфейсных частях библиотек. такие подпрограммы могут быть использованы в описательных частях библиотек вне зависимости от взаимного расположения их реальных описаний.