Delphi коды клавиш ctrl c. Delphi - Делфи коды
Начиная с самого рассвета компьютерной
промышленности, клавиатура была первичным
устройством ввода информации, и вероятнее всего
сохранит свою позицию ещё долгое время.
События клавиатуры, наряду с событиями мыши,
являются основными элементами взаимодействия
пользователя с программой. В данной статье
пойдёт речь о трёх событиях, которые позволяют
отлавливать нажатия клавиш в приложении Delphi: OnKeyDown
,
OnKeyUp
и OnKeyPress
.
Для получения ввода с клавиатуры, приложения
Delphi могут использовать два метода. Самый простой
способ, это воспользоваться одним из
компонентов, автоматически реагирущем на
нажатия клавиш, таким как Edit. Второй способ
заключается в создании процедур в форме, которые
будут обрабатывать нажатия и отпускания клавиш.
Эти обработчики могут обрабатывать как нажатия
одиночных клавиш, так и комбинаций. Итак, вот эти
события:
OnKeyDown
- вызывается, когда на клавиатуре
нажимается любая клавиша. OnKeyUp
- вызывается,
когда любая клавиша на клавиатуре отпускается. OnKeyPress
- вызывается, когда нажимается клавиша,
отвечающая за определённый ASCII символ.
Теперь самое время посмотреть, как выглядят в программе заголовки обработчиков:
procedure TForm1.FormKeyDown (Sender: TObject; var procedure TForm1.FormKeyUp (Sender: TObject; var Key: Word; Shift: TShiftState); ... procedure var Key: Char); |
Все события имеют один общий параметр, обычно называемый Key . Этот параметр используется для передачи кода нажатой клавиши. Параметр Shift (в процедурах OnKeyDown и OnKeyUp), указывает на то, была ли нажата клавиша в сочетании с Shift , Alt , и Ctrl .
Фокус
Фокус, это способность получать
пользовательский ввод через мышь или клавиатуру.
Получать события от клавиатуры могут только те
объекты, которые имеют фокус. На форме активного
приложения в один момент времени может быть
активным (иметь фокус) только один компонент.
Некоторые компоненты, такие как TImage, TPaintBox, TPanel и TLabel не могут получать фокус, другими словами, это компоненты, наследованные от TGraphicControl. Так же не могут получать фокус невидимые компоненты, такие как TTimer.
OnKeyDown, OnKeyUp
События OnKeyDown и OnKeyUp обеспечивают самый низкий
уровень ответа клавиатуры. Обработчики OnKeyDown и
OnKeyUp могут реагировать на все клавиши клавиатуры,
включая функциональные и комбинации с клавишами
Shift, Alt, и Ctrl.
События клавиатуры - не взаимоисключающие. Когда пользователь нажимает клавишу, то генерируются два события OnKeyDown и OnKeyPress, а когда отпускает, то только одно: OnKeyUp. Если пользователь нажмёт одну из клавиш, которую OnKeyPress не сможет определить, то будет сгенерировано только одно событие OnKeyDown, а при отпускании OnKeyUp.
OnKeyPress
OnKeyPress возвращает различные значения ASCII для "g" и
"G,". Однако, OnKeyDown и OnKeyUp не делают различия между
верхним и нижним регистром.
Параметры Key и Shift
Параметр Key можно изменять, чтобы приложение
получило другой код нажатой клавиши. Таким
образом можно ограничивать набор различных
символов, которые пользователь может ввести с
клавиатуры. Например разрешить вводить только
цифры. Для этого добавьте в обработчик события
OnKeyPress следующий код и установите KeyPreview в True (см.
ниже).
if Key in ["a".."z"] + ["A".."Z"] then Key:=#0 |
Это выражение проверяет, содержит ли параметр
Key символы нижнего регистра ("a".."z") и символы
верхнего регистра ("A".."Z"). Если так, то в параметр
заносится значение нуля, чтобы предотвратить
ввод в компонент Edit (например).
В Windows определены специальные константы для
каждой клавиши. Например, VK_RIGHT соответствует
коду клавиши для правой стрелки.
Чтобы получить состояния специальных клавиш, таких как TAB или PageUp можно воспользоваться API функцией GetKeyState . Клавиши состояния могут находиться в трёх состояниях: отпущена, нажата, и включена. Если старший бит равен 1, то клавиша нажата, иначе отпущена. Для проверки этого бита можно воспользоваться API функцией HiWord . Если младший бит равен 1, то клавиша включена. Вот пример получения сосотояния специальной клавиши:
if HiWord(GetKeyState(vk_PageUp)) <> 0 then ShowMessage("PageUp - DOWN") else ShowMessage("PageUp - UP"); |
В событиях OnKeyDown и OnKeyUp, Key является беззнаковым двухбайтовым (Word) значением, которое представляет виртуальную клавишу Windows. Для получания значения символа можно воспользоваться функцией Chr. В событии OnKeyPress параметр Key является значением Char, которое представляет символ ASCII.
События OnKeyDown и OnKeyUp имеют параметр Shift с типом TShiftState. В Delphi тип TShiftState определён как набор флагов, определяющих состояние Alt, Ctrl, и Shift при нажатии клавиши.
Например, следующий код (из обработчика OnKeyUp) соединяет строку "Ctrl +" с нажатой клавишей и отображает результат в заголовке формы:
Переадресация событий
клавиатуры в форму
Клавиатурный обработчик может работать на двух
уровнях: на уровне компонентов и на уровне формы.
Свойство формы KeyPreview
определяет, будут ли
клавиатурные события формы вызываться перед
клавиатурными событиями компонентов, так как
форма может получать все нажатия клавиш,
предназначенные для компонента имеющего в
данный момент фокус.
Чтобы перехватить нажатия клавиш на уровне формы, до того как они будут переданы компонентам на форме, необходимо установить свойство KeyPreview в True. После этого компонент как и раньше будет получать события, однако сперва они будут попадать в форму, чтобы дать возможность программе разрешить или запретить ввод различных символов.
Допустим, У Вас на форме есть несколько компонентов Edit и процедура Form.OnKeyPress выглядит следующим образом:
procedure TForm1.FormKeyPress (Sender: TObject; var Key: Char); begin if Key in ["0".."9"] then Key:= #0 end ; |
Если один из компонентов Edit имеет фокус и свойство KeyPreview установлено в False, то этот код не будет выполнен - другими словами, если пользователь нажмёт клавишу "5", то в компоненте Edit, имеющем фокус, появится символ "5".
Однако, если KeyPreview установлено в True, то событие формы OnKeyPress будет выполнено до того, как компонент Edit увидит нажатую клавишу. Поэтому, если пользователь нажмёт клавишу "5", то в Key будет подставлено нулевое значение, предотвращая тем самым попадание числовых символов в Edit.
ПРИЛОЖЕНИЕ: Таблица кодов виртуальных клавиш.
Symbolic constant name |
Value (hexadecimal) |
Keyboard (or mouse) equivalent |
---|---|---|
VK_LBUTTON | 01 | Left mouse button |
VK_RBUTTON | 02 | Right mouse button |
VK_CANCEL | 03 | Control-break processing |
VK_MBUTTON | 04 | Middle mouse button (three-button mouse) |
VK_BACK | 08 | BACKSPACE key |
VK_TAB | 09 | TAB key |
VK_CLEAR | 0C | CLEAR key |
VK_RETURN | 0D | ENTER key |
VK_SHIFT | 10 | SHIFT key |
VK_CONTROL | 11 | CTRL key |
VK_MENU | 12 | ALT key |
VK_PAUSE | 13 | PAUSE key |
VK_CAPITAL | 14 | CAPS LOCK key |
VK_ESCAPE | 1B | ESC key |
VK_SPACE | 20 | SPACEBAR |
VK_PRIOR | 21 | PAGE UP key |
VK_NEXT | 22 | PAGE DOWN key |
VK_END | 23 | END key |
VK_HOME | 24 | HOME key |
VK_LEFT | 25 | LEFT ARROW key |
VK_UP | 26 | UP ARROW key |
VK_RIGHT | 27 | RIGHT ARROW key |
VK_DOWN | 28 | DOWN ARROW key |
VK_SELECT | 29 | SELECT key |
VK_PRINT | 2A | PRINT key |
VK_EXECUTE | 2B | EXECUTE key |
VK_SNAPSHOT | 2C | PRINT SCREEN key |
VK_INSERT | 2D | INS key |
VK_DELETE | 2E | DEL key |
VK_HELP | 2F | HELP key |
30 | 0 key | |
31 | 1 key | |
32 | 2 key | |
33 | 3 key | |
34 | 4 key | |
35 | 5 key | |
36 | 6 key | |
37 | 7 key | |
38 | 8 key | |
39 | 9 key | |
41 | A key | |
42 | B key | |
43 | C key | |
44 | D key | |
45 | E key | |
46 | F key | |
47 | G key | |
48 | H key | |
49 | I key | |
4A | J key | |
4B | K key | |
4C | L key | |
4D | M key | |
4E | N key | |
4F | O key | |
50 | P key | |
51 | Q key | |
52 | R key | |
53 | S key | |
54 | T key | |
55 | U key | |
56 | V key | |
57 | W key | |
58 | X key | |
59 | Y key | |
5A | Z key | |
VK_NUMPAD0 | 60 | Numeric keypad 0 key |
VK_NUMPAD1 | 61 | Numeric keypad 1 key |
VK_NUMPAD2 | 62 | Numeric keypad 2 key |
VK_NUMPAD3 | 63 | Numeric keypad 3 key |
VK_NUMPAD4 | 64 | Numeric keypad 4 key |
VK_NUMPAD5 | 65 | Numeric keypad 5 key |
VK_NUMPAD6 | 66 | Numeric keypad 6 key |
VK_NUMPAD7 | 67 | Numeric keypad 7 key |
VK_NUMPAD8 | 68 | Numeric keypad 8 key |
VK_NUMPAD9 | 69 | Numeric keypad 9 key |
VK_SEPARATOR | 6C | Separator key |
VK_SUBTRACT | 6D | Subtract key |
VK_DECIMAL | 6E | Decimal key |
VK_DIVIDE | 6F | Divide key |
VK_F1 | 70 | F1 key |
VK_F2 | 71 | F2 key |
VK_F3 | 72 | F3 key |
VK_F4 | 73 | F4 key |
VK_F5 | 74 | F5 key |
VK_F6 | 75 | F6 key |
VK_F7 | 76 | F7 key |
VK_F8 | 77 | F8 key |
VK_F9 | 78 | F9 key |
VK_F10 | 79 | F10 key |
VK_F11 | 7A | F11 key |
VK_F12 | 7B | F12 key |
VK_F13 | 7C | F13 key |
VK_F14 | 7D | F14 key |
VK_F15 | 7E | F15 key |
VK_F16 | 7F | F16 key |
VK_F17 | 80H | F17 key |
VK_F18 | 81H | F18 key |
VK_F19 | 82H | F19 key |
VK_F20 | 83H | F20 key |
VK_F21 | 84H | F21 key |
VK_F22 | 85H | F22 key |
VK_F23 | 86H | F23 key |
VK_F24 | 87H | F24 key |
VK_NUMLOCK | 90 | NUM LOCK key |
VK_SCROLL | 91 | SCROLL LOCK key |
VK_LSHIFT | A0 | Left SHIFT key |
VK_RSHIFT | A1 | Right SHIFT key |
VK_LCONTROL | A2 | Left CONTROL key |
VK_RCONTROL | A3 | Right CONTROL key |
VK_LMENU | A4 | Left MENU key |
VK_RMENU | A5 | Right MENU key |
VK_PLAY | FA | Play key |
VK_ZOOM | FB | Zoom key |
Среди наших пользователей очень много начинающих программистов. Каждый из программистов знает, что программировать, да и не только, быстрее не используя мышь, а работая исключительно с клавиатурой компьютера. Специально для тех, кто делает первые шаги в среде прогаммирования Delphi мы создали совет: Справочник горячих клавиш Делфи.
Комбинации клавиш в Delphi - горячие клавиши в среде программирования Delphi
Справочник горячих клавиш мы представили в виде таблиц, которые приведены ниже и разделены по типам. Это конечно же не все клавиши и возможности, но все ровно они помогут начинающим.
Клавиши редактора кода в Delphi
Клавиша | Назначение клавиш | Версия Delphi |
Ctrl + J | Выбор code-template. Вставка шаблона кода. Можно вставлять типовые шаблоны, а можно написать свои собственные. При нажатии Ctrl + J, будет показан список шаблонов. Либо можно набрать несколько букв из имени шаблона, чтобы ограничить выбор, либо полное имя шаблона и нажать комбинацию - шаблон сразу вставится. Например набираем try и жмём. Нам предложат варианты конструкции try. Или набираем classc, жмём - получаем готовую заготовку для описания класса. |
5 |
Ctrl + Shift + C | Class Completion. Одна из важнейших комбинаций при описании класса. Закончив базовое описание класса, нажимаем комбинацию. Автоматически создадутся все описанные методы в разделе implementation, для всех property создадутся приватные поля и сеттеры. | 5 |
Ctrl + Shift + V | Автоматическое объявление переменной. При написании функции можно написать код, не прописывая заранее переменные в var. Потом установить курсор на переменную и нажать данную комбинацию. Автоматически будет создан раздел var (при необходимости), и в нём будет помещено описание переменной. В случае, когда по коду нельзя точно определить тип переменной, будет вызвано уточняющее окошко. Впрочем оно редко ошибается с типом и я обычно сразу подтверждаю по Enter. | 2006 |
Ctrl + пробел | Вызов CodeCompletion (того, который автоматом появляется после нажатия точки после имени объекта/класса). При нажатии на пустом месте, показывает объекты/класса/функции/процедуры/методы и т.д., которые мы можем использовать в данном месте. При нажатии в объявлении класса, показывает методы, которые можно пронаследовать от родительского класса. |
5 |
Ctrl + Shift + пробел | Показывает всплывающий хинт, подсказывающий параметры функции. | 5 |
Ctrl + Shift + Enter | Если встать на имя функции и нажать комбинацию, то будут найдены все места в проекте, где она используется. | 2005 |
Ctrl + Shift + G | Вставить GUID | |
Ctrl + Shift + T | Вставляет в текущую позицию заметку ToDo. Все расставленные заметочки можно потом смотреть через ToDo-List и осуществлять навигацию по ним. Для тех, кто не в курсе - ToDo означает "Нужно сделать". То есть расставляем себе заметочки, что тут нужно сто-то сделать или доработать. |
5 |
Ctrl + Shift + A | Добавляет в uses нужный модуль. Например у Вас есть код, но дельфи ругается, что она не знает, что это за функция или константа и т.п. Просто ставим на неё курсор и жмём комбинацию. Дельфи сама найдёт модуль, где она объявлена и добавит его в uses | 2005 |
Ctrl+O+O | Вставить в код директивы компилятора, соответствующие текущим настройкам проекта | 5 |
Клавиши редактирования в Delphi
Клавиша | Назначение | Версия Delphi |
Ctrl + T | Удалить слово в позиции курсора | 5 |
Ctrl + Y | Удалить текущую строку | 5 |
Ctrl + Shift + Y | Удалить текст от позиции курсора до конца строки | 5 |
Ctrl+N | Вставить строку | 5 |
Ctrl + Shift + I | Увеличить отступ выбранного текста от левого края | 5 |
Ctrl + Shift + U | Уменьшить отступ выбранного текста | 5 |
Ctrl + / | Закомментировать или раскомментировать выделенный блок текста | 2005 |
Ctrl + Shift + R | Начать/завершить запись макроса | 1 |
Ctrl + Shift + P | Воспроизвести макрос | 1 |
Ctrl+K+E | Перевести слово в нижний регистр | 5 |
Ctrl+K+F | Перевести слово в верхний регистр | 5 |
Shift + Навигация | Выделить часть кода (Shift + мышь,вверх, влево, Home и т.д) | 1 |
Shift + Alt + Навигация | Аналогично предыдущей, но выделяет прямоугольную часть кода. | 1 |
Ctrl+O+C | Включить режим блочного выделения | 1 |
Ctrl+O+K | Включить режим поточного выделения | 1 |
Ctrl + Del | Удалить выделенное | 1 |
Ctrl + BackSpace | Стересть слово перед курсором | 1 |
Клавиши навигации по коду в Delphi
Клавиша | Назначение клавиш | Версия Delphi |
Ctrl + F | Поиск | 3 |
F3 | Продолжение поиска | 3 |
Ctrl + E | Инкрементный поиск. Поиск без диалога - нажимаете комбинацию и начинаете набирать текст. Навигация сама побежит по коду в поисках слова. Если слово найдено, но нужно найти в другом месте - также работает F3. | 5 |
Alt + [ | Ищет открывающую скобку для закрывающей скобки, перед которой стоит курсор | 5 |
Alt + ] | Ищет закрывающую скобку для открывающей скобки, перед которой стоит курсор | 5 |
Alt + Влево | Назад по истории перемещений. Возвращает в то место кода, откуда мы перешли. | 7 |
Alt + Вправо | Вперёд по истории перемещений. Результат обратный предыдущей комбинации. Действует только после её использования. | 7 |
Alt + Вверх | Выполняет действие, аналогичное удержанию Ctrl + клик мышкой по слову - происходит переход на его декларацию. Например, установив курсор на слово TLabel и нажав комбинацию, мы попадём туда, где описан класс TLabel. Данный переход помещается в историю перемещений. Вернуться обратно можно по Alt + Влево. | 7 |
Ctrl + Shift + Вверх | Переход между описанием процедуры/функции/метода в и его/её реализацией | 5 |
Ctrl + Shift + Вниз | Аналогично предыдущей | 5 |
Ctrl + Alt + Верх | Переход к реализации предыдущего метода класса (в алфавитном порядке). То есть, просматривая код метода, мы можем перейти к реализации предыдущего (по алфавиту) метода этого же класса | 2006 |
Ctrl + Alt + Вниз | Переход к реализации следующего метода класса (в алфавитном порядке). | 2006 |
Ctrl + Alt + Home | Переход к реализации первого метода класса (в алфавитном порядке) | 2006 |
Ctrl + Alt + End | Переход к реализации последнего метода класса (в алфавитном порядке) | 2006 |
Ctrl + F12 | Открывает окно со списком юнитов проекта. | 1 |
Shift + F12 | Открывает окно со списком форм | 1 |
Ctrl + Tab | Переход к следующему открытому юниту в порядке следования их на закладках | 1 |
Ctrl + Shift + Tab | Переход к предыдущему открытому юниту в порядке следования их на закладках | 1 |
Ctrl + Alt + F12 | Выпадающее меню со списком открытых юнитов | 2006 |
Ctrl + F4 | Закрыть текущий юнит | 1 |
Alt + G | Перейти на строку с номером... | 1 |
Ctrl + Вверх | Скролит экран на строку вверх | 1 |
Ctrl + Вниз | Скролит экран на строку вниз | 1 |
CodeFolding | Ниже клавиши, относящиеся к сворачиванию кода в Delphi 2005 и выше | 2005 |
Ctrl+Shift K+A | Развернуть всё | 2005 |
Ctrl+Shift K+E | Свернуть блок кода | 2005 |
Ctrl+Shift K+U | Развернуть блок кода | 2005 |
Ctrl+Shift K+T | Переключение состояния свёрнутый/развёрнутый | 2005 |
Ctrl+Shift K+O | Выключить CodeFolding | 2005 |
Клавиши общей навигациив Delphi
Клавиша | Назначение | Версия Delphi |
F12 | Переключение между окном кода и визуальным редактором формы | 3 |
Alt + F12 | Переключение на просмотр формы в текстовом виде (dfm) и обратно | 3 |
F11 | Переключиться на Object Inspector | 3 |
Ctrl + Alt + F11 | Открыть менеджер проектов | 5 |
Shift + Alt + F11 | Открыть окно структуры | 2005 |
Ctrl + Alt + P | Переключиться на палитру инструментов | 2005 |
Ctrl + Shift + B | Открывает на окно эксплорера проекта | 5 |
Ctrl + Alt + V | Открыть окно лога событий | 5 |
Ctrl + Shift + F | Найти в файлах. Производит поиск выражения в файлах проекта, в каталоге и т.п. по выбору. | 5 |
Alt + F7 | Переход к предыдущему найденному при помощи Ctrl + Shift + F | 5 |
Alt + F8 | Переход к следующему найденному при помощи Ctrl + Shift + F | 5 |
Ctrl + Enter | При нажатии на юните из списка uses, открывает его на новой закладке. При нажатии в другом месте, происходит вызов команды Open главного меню. | 5 |
Alt + F11 | Если открыт юнит, эта комбинация покажет диалог добавления юнита, где можно будет выбрать, к каким модулям его добавить | 5 |
Клавиши отладки в Delphi
Клавиша | Назначение клавиши | Версия Delphi |
F9 | Запуск программы. (неожиданно, правда? :)) Также продолжает выполнение программы после остановки на брекпоинтах, либо после возникновения исключений. | 1 |
Ctrl + F9 | Компиляция программы без запуска | 1 |
Shift + F9 | Билд проекта. Билд отличается от компиляции тем, что производит перекомпиляцию всех модулей проекта. Обычная компиляция компилирует только изменённые модули. Также билд увеличивает номер билда в версии программы, если в настройках указана данная опция. | 5 |
Ctrl + Shift + F9 | Запуск программы с отключенным отладчиком. Аналогично простому запуску exe файла. Функции отладки отключены. Используется, если вы хотите прогнать программу в рабочем режиме, не останавливаясь на брекпоинтах и обработанных исключениях. | 2005 |
F5 | Установить брекпоинт (точку останова). Программа, дойдя до данной точки, остановит выполнение для дальнейших инструкций | 1 |
F4 | Запустить программу и приостановить выполнение в заданной точке | 1 |
F8 | Выполнить следующий шаг программы без захода в функции/процедуры. | 1 |
F7 | Выполнить следующий шаг программы с заходом в функцию/процедуру | 1 |
Shift + F7 | Трассировка до следующей выполняемой строки | 5 |
Shift + F8 | Выполнить до возврата из функции/процедуры. Программа выполнит все действия и снова остановится после возврата из неё. | 5 |
Ctrl + F2 | Прервать выполнение программы | 5 |
Ctrl + F7 | Выполнить собственный код дельфи во время отладки. В коде можно модифицировать любые переменные, доступные в данном месте кода. | 2005 |
Ctrl + F5 | Если курсор установлен на переменной, то она будет добавлена в Watch List | 5 |
Ctrl + Alt + W | Показывает Watch List. Предназначен для отображения текущего значений переменных и их модификации. | 5 |
Ctrl + Shift + B | Показать список всех расставленных в проекте брекпоинтов с возможностью навигации по ним | 5 |
Ctrl + Alt + S | Показывает стэк вызова, который показывает, откуда мы сюда пришли | 5 |
Ctrl + Alt + L | Открывает окно локальных переменных. В нём отображаются значения всех локальных переменных функции во время отладки | 5 |
Ctrl + Alt + T | Открывает окно тредов. Во время отладки в нём перечислены все треды приложения и их состояние | 5 |
Ctrl + Alt + C | Открывает окно CPU. В этом окне можно смотреть и отлаживать код в ассемблерном представлении. По сути встроенный asm отладчик. Причём, используя F7 можно зайти даже в код API функций и посмотреть, что там и куда идёт. | 5 |
Не секрет, что современный язык программирования Делфи был основан на более распространённом Pascal и некоторое время не имел самостоятельности. Тем не менее, сейчас Delphi является полноценным развивающимся языком программирования, тогда как ранее он был всего лишь производной Pascal, созданным для обозначения диалекта этого языка.
Delphi, оснащённый собственной средой программирования, имеет все необходимые условия и отличительные черты самостоятельного языка, в том числе и персональные исходные коды. К слову, Delphi коды размещены и публично доступны на странице разработчиков, сопровождаемые необходимыми комментариями относительно возможности изменения исходных кодов и создания собственных приложений при помощи Delphi.
Исходный код Delphi можно разделить на модули и файлы проекта. Эти элементы подчинены одинаковым соглашениям. Файлы проекта Delphi имеют расширения DPR . Такие файлы разработаны как главные исходные файлы для всех проектов. Все модули, которые могут использоваться в проекте, всегда имеют расширение PAS . Так же в проектах могут использоваться и дополнительные файлы (например, командные, html, DLL и так далее). Такие файлы зачастую очень важны, но к нашей теме имеют совсем малое отношение.
Для того, чтобы оперироваться исходными файлами, над ними, без сомнения, необходимо производить какие-то важные действия. К таким действиям можно отнести задание имени или переименование. Для языка Delphi предусмотрена большая длина имени файла, что делает работу значительно удобнее. Если в названии файла используется несколько слов, для написания первой буквы каждого слова следует использовать заглавные буквы. Такой способ именования файлов называется InfixCaps или по-другому: CamelCaps .
Чтобы организовать исходные файлы, вам потребуется знать, какие элементы могут содержаться в модулях. Список таких элементов в необходимом порядке представлен ниже:
- Информация о правах (Copyright/ID);
- Имя модуля (Unit Name);
- Объявление включаемых файлов (Include files);
- Секцию интерфейса (Interface section);
- Дополнительные определения (Additional defines);
- Реализацию (Implementation)
- Объявление используемых модулей (Uses clause);
- Закрывающий оператор и точку (A closing end and a period).
Элементы дополнительного характера можно структурировать по желанию пользователя. Однако, даже в этом случае существует необходимость соблюдения некоторых условий относительно порядка написания копирайта, имени модуля, условных директив и определений, директив компилятора и файлов включения, определения подключения. Именно в таком порядке должны располагаться перечисленные выше элементы.