я переношу свое приложение на delphi 2009. мое приложение все еще должно использовать много AnsiString. во время миграции я всегда конвертирую:
abc := def;
в:
abc := string(def);
or
abc := TDeviceAnsiString(def);
я знаю, что должен иметь возможность делать это с помощью шаблонов, но я считаю, что шаблоны, хотя и мощные, не так просто заставить работать. вот что я пытался:
<?xml version="1.0" encoding="utf-8" ?>
<codetemplate xmlns="http://schemas.borland.com/Delphi/2005/codetemplates"
version="1.0.0">
<template name="das" invoke="auto">
<point name="expr">
<script language="Delphi">
InvokeCodeCompletion;
</script>
<hint>
MP: TDeviceAnsiString
</hint>
<text>
True
</text>
</point>
<description>
MP: TDeviceAnsiString
</description>
<author>
Mike
</author>
<code language="Delphi" context="any" delimiter="|"><![CDATA[TDeviceAnsiString(|selected|)|end|]]>
</code>
</template>
</codetemplate>
он не отображается в меню Surround и не активируется, когда я хочу. я хотел бы быть в состоянии
abc := **das***[tab]*def;
или выберите «def» и используйте «surround», чтобы получить:
abc := TDeviceAnsiString(def);
Спасибо за помощь!