Подписка

добавить на Яндекс

Наши проекты

Delphi+Google

Google API

Google API в Delphi - проект с открытым исходным кодом.

Chrono

Chrono

Хронометр - программа для ведения списка задач.

ODFProc

ODFProc

ODFProc - работа с документами OpenOffice в Lazarus и FreePascal.

Поддержка блога

А тут я коплю на лицензию Delphi XE на iPad =).
Сумма пожертвования не фиксирована.

Публикации

Год назад

Случайный пост

Последние

Сообщения форума

Комментарии

Социальные сети

Google

Facebook

Twitter

Опрос

Вы сейчас или в ближайшем обозримом будущем планируете разрабатывать кроссплатформенное приложение с использованием Firemonkey?



Loading ... Loading ...

Блоги и сообщества

Статьи по Delphi DelphiFeeds.ru - Все Delphi-блоги Рунета Сообщество умных людей VR-Online.RU Бесплатный журнал для программистов и всех, кто интересуется IT Статьи и уроки по Delphi Новостной блог о высоких технологиях
Система Orphus
Опубликовал Vlad 19 апреля 2010 в 17:20.
Категории: Delphi IDE.


Продолжаем разбираться с IDE Delphi 2010 и сегодня рассмотрим ещё один момент работы - шаблоны кода (templates). Впервые возможность использования собственных шаблонов кода при работе в Delphi была реализована (если я не ошибаюсь) ещё в Borland Delphi 2006. Но, тем не менее, далеко не все и не всегда пользуются этой замечательной возможностью.
Для чего нужны Templates? Основная их задача - автоматизировать процесс написания часто используемых частей кода. Думаю, что большинство тех, кто перешел на новую версию Delphi, скажем, с Delphi 6-7 были приятно удивлены, когда при после написания begin в редакторе и нажатии Enter в редактор автоматически добавился end. Аналогично могут завершаться try..except..end, if..then..else и т.д. Главное настроить шаблоны так как Вам это необходимо.
< ' ' >
Все шаблоны кода Delphi 2010 представляют собой xml-файлы, которые хранятся в директории (при установке по умолчанию):
c:\Program Files\Embarcadero\RAD Studio\7.0\ObjRepos\en\Code_Templates\Delphi\
Всего в начале Вам доступно 33 шаблона. Чтобы просмотреть все доступные шаблоны кода можно выбрать в меню Delphi "View - Templates"

В редакторе шаблонов можно изменить шаблон, добавить новый, удалить и т.д. Конечно 33 различных шаблона вполне достаточно для работы, но может оказаться так, что и их окажется недостаточно. Например, Вы пишете программу, которая использует какие-либо данные из Интернет. Часто в таких программах присутствуют функции открытия ссылки в браузере по умолчанию. Код выглядит следующим образом:

ShellExecute(Application.Handle,
     PChar('open'),
     PChar('www.webdelphi.ru'),
     PChar(0),
     nil,
     SW_NORMAL) ;

По сути единственное, что будет меняться в параметрах - это URL страницы, а остальное - повторяется каждый раз. Если в программе часто используется эта функция, то логично будет создать для неё отдельный шаблон.
Для того чтобы создать новый шаблон выбираем в меню "File - New - Other - Other Files - Code Template":

Откроется новое окно редактора, содержащее "скелет" нового шаблона:

Рассмотрим процесс создания шаблона по пунктам:
1. Заполняем атрибут name - название шаблона. Пусть название будет url.
2. Определяем значение атрибута invoke. invoke определяет то как шаблон будет вставляться в редактор кода и может принимать значения auto, т.е. шаблон вставиться автоматически после нажатия пробела, либо manual - вручную. Во втором случае шаблон будет вставляться после того как в редакторе будет написано название шаблона и нажат кнопка TAB. Также шаблон можно вставлять из списка, открывающегося по нажатию горячих клавиш Ctrl+J. Наш шаблон будет вставляться автоматически, поэтому записываем в invoke значение auto.
3. Заполняем значения тегов Author и Description. Значения тегов - произвольные строки. Например, в description можно записать "Open new URL in browser" и т.д.
4. Теперь необходимо определить части кода, которые будут вставляться в редактор и впоследствии изменяться программистом, т.е. так называемые jump point'ы. В нашем случае для ShellExecute - это строка www.webdelphi.ru. Схема описания jump point следующая:

<point name="url">
<text>
www.webdelphi.ru
</text>
<hint>
URL of the page
</hint>
</point>

name - имя точки, используемое парсером при вставке шаблона
hint - подсказка.
все теги point вставляются после description до раздела code. Если в шаблоне необходимо определить 2 точки, то, соответственно в коде шаблона должны быть определены 2 тега point и т.д.
5. Записываем код шаблона. В начале определяем необходимые значения атрибутов узла code.
language - язык в котом используется шаблон. В нашем случае - это Delphi.
delimiter - разделитель. Разделители используются для того, чтобы парсер мог определить в каком месте вставлять jump point. Обычно, в качестве разделителя ипользуется символ "|".
Код Delphi, который будет вставляться в редактор записывается в секции CDATA узла code. После того как определены атрибуты у узла code и записан код шаблона у Вас должно получиться примерно следующее:

<code language="Delphi" delimiter="|">
<![CDATA[ShellExecute(Application.Handle,
PChar('open'),
PChar('|url|'),
PChar(0),
nil,
SW_NORMAL) ;
]]>
</code>

Как видите, название jump point обрамлено двумя delimiter'ами.
6. Сохраняем шаблон с названием url.
Теперь можете открыть редактор кода какого-нибудь своего приложения, набрать url и нажать пробел. Вместо url должен вставиться наш только что созданный шаблон.
В приведенном выше примере мы использовали простой шаблон, автоматизирующий вставку метода ShellExecute. Также можно создавать более сложные шаблоны, которые могут использоваться, например, для обрамления (surround) частей кода. Чтобы понять как пишутся такие шаблоны можно посмотреть, например, исходник шаблона function.
Кстати, готовый шаблон для вставки ShellExecute Вы можете скачать здесь:
zip Шаблон URL(449 bytes)

--------------------
Мини-обзор софта
Помню года 3-4 назад гуляла по рукам довольно интересная консольная программа под названием Tiramisu, которая проводила восстановление данных с жесткого диска после его форматирования. Программа, конечно хорошая, но всё-таки консольное приложение в век Windows 7 - это уже не то :). Да и технологии уже давным давно шагнули вперед - появились объемные флэшки и т.д. Поэтому, представляю Вашему вниманию современную программу для восстановление информации после форматирования Hetman Uneraser, которая позволяет восстанавливать данные не только с жесткого диска, но и с флэшек, а также отображает содержание удаленных файлов.
--------------------
Понравилась статья? Тогда:
Делись! Загружай! Плюсуй!
   Отправить PDF на   
Читай ещё статьи на WebDelphi.ru

Комментарии (2)

WP_Cloudy
  • Евгений пишет:

    Скорее не шаблоны появились (я ими пользовался еще в Delphi 6), а функция автозавершения (autocomplite) кода.

  • Илья пишет:

    Спасибо большое за урок

Ваш ответ

Внимание: Все комментарии модерируются, и это может вызвать задержку их публикации. Отправлять комментарий заново не требуется.

Пожалуйста, заключайте исходный код в тэги [code][/code].
Если код большой, то воспользуйтесь Вставкой кода на отдельной странице и оставьте в комментарии ссылку на исходник