Delphi 3. Библиотека программиста


Использование макросов в редакторе Delphi


В редакторе Delphi можно записывать макросы, автоматизирующие ввод повторяющихся фрагментов— но узнать об этом можно разве что случайно; в справочных файлах Delphi это средство не документировано1.

Во время редактирования текста программы можно записать последовательность нажатий клавиш в виде макроса и потом воспроизвести ее. Чтобы начать запись макроса, нажмите Ctrl+Shift+R и введите нужную последовательность клавиш. Запись прекращается повторным нажатием Ctrl+Shift+R. Макрос воспроизводится клавишами Ctrl+Shift+P.

Редактор Delphi — не WinWord и не WordPerfect, и поддержка макросов в нем ограничена: запоминается лишь один набор клавиш. Кроме того, нажатие во время записи макроса любых клавиш, вызывающих переход к другому окну, отменяет процесс записи. Например, если последняя операция Find представляла собой простой поиск, то при нажатии F3 диалоговое окно не выводится (при успешном поиске) и клавиша F3 включается в макрос. Но если ранее выполнялся поиск с заменой, F3 выведет диалоговое окно с запросом подтверждения, и запись макроса прервется.

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

Например, после ввода заголовка метода в объявлении класса мне часто приходится копировать этот заголовок в секцию implementation модуля, вставлять перед ним имя класса с точкой и вводить пару begin..end. Если тщательно продумать последовательность операций, все эти действия можно записать в одном универсальном макросе. В листинге 9.16 приведен возможный набор клавиш, которые выполняют эту задачу при условии, что текстовый курсор находится в строке с заголовком метода.

Кстати, в моем примере использованы стандартные (Default) настройки клавиатурных комбинаций редактора. Если у вас установлен другой режим, возможно, макрос придется изменить.

Листинг 9.16. HEADING.TXT

{ Ниже приведена последовательность нажатий клавиш для вставки заголовка

метода в секцию implementation модуля и добавления пары begin..end.

Управляющие сочетания клавиш заключены в фигурные скобки.

После двойного символа "косая черта" следует комментарий.

Предполагается, что модуль заканчивается ключевым словом "end."}

{Ctrl+Shift+R} // Начало записи {HOME} // Перейти к началу строки {Shift+DOWN} // Выделить строку {Ctrl+C} // Скопировать выделенную строку {Ctrl+END} // Перейти в конец модуля {Ctrl+LEFT} // Перейти в позицию слева от "end." {Ctrl+V} // Вставить скопированную строку {UP} // Перейти к началу вставленной строки {Ctrl+T} // Удалить отступ {Ctrl+RIGHT} // Перейти к имени метода TMyClass. // Ввести имя класса с точкой {END} // Перейти к концу строки {ENTER} // Вставить новую строку begin // Ввести "begin" {ENTER}{ENTER} // Вставить две новые строки после "begin" end; // Ввести "end;" {ENTER} // Вставить новую строку после метода {UP}{UP} // Вернуться к телу метода {RIGHT}{RIGHT} // Создать отступ в два пробела // и приготовиться к вводу {Ctrl+Shift+R} // Остановить запись


Начало  Назад  Вперед