Программа на языке Object Pascal состоит из заголовка, разделов описаний и раздела операторов.
Заголовок программы содержит имя программы. Структура:
Program <имя_программы>;
Описания могут включать в себя раздел подключаемых модулей, раздел описания меток, раздел описания констант, раздел описания типов, раздел описания переменных, раздел описания процедур и функций.
Раздел описания модулей содержит имена подключаемых модулей Раздел описания модулей должен быть первым среди разделов описаний.
Структура:
Uses <имя_модуля> [in ‘<путь>’][,…];
<путь> указывает директорию и имя модуля и используется, когда модуль расположен в неизвестной для компилятора директории.
Любой оператор в программе может быть помечен меткой. В качестве метки используются произвольные целые без знака, содержащие не более четырех цифр, либо имена. Метка ставится перед оператором и отделяется от него двоеточием. Все метки, используемые в программе, должны быть перечислены в разделе описания меток. Метки используются только в операторе goto.
Структура:
Label <имя_метки>[,…];
Описание констант, переменных, процедур и функций будет рассмотрено ниже. Отдельные разделы описаний могут отсутствовать, но следует помнить, что в языке Object Pascal должны быть обязательно описаны все элементы программы.
Раздел операторов представляет собой составной оператор, который содержит между служебными словами begin.......end последовательность операторов. Операторы отделяются друг от друга символом ;. Текст программы заканчивается символом точка.
Константы определяют синонимы для числовых или строковых значений. Каждая константа, используемая в программе, должна быть описана в разделе описания констант:
Const <имя_константы>[:<тип>]=<значение>[,…];
Константы называются типизированными, когда указан <тип>. Если <тип> не указан, то тип констант определяется по их виду: константы целого типа - это целые числа, не содержащие десятичной точки, константы действительного типа - действительные числа, логические константы - логические значения TRUE и FALSE, символьные константы – либо строки длиной в один символ, либо конструкции вида #K, строковые – текст заключенный в апострофы.
Переменная это область памяти, которая может содержать значения определенного типа. Обращения к области памяти происходит по имени переменной или адресу, который можно получить при помощи операции @. Каждая переменная, используемая в программе, должна быть описана в разделе описания переменных:
Var <имя_переменной>:<тип>[=<значение>];
В откомпилированной программе для всех глобальных переменных отведено место в памяти, и всем переменным присвоены нулевые значения. Для задания начальных значений переменным можно присвоить начальные значения переменным одновременно с их описанием.