Я перевожу свое приложение в Delphi 2009. В моем приложении должно быть много AnsiString. во время миграции я всегда конвертирую:
abc := def;
в
abc := string(def);
или
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» и используйте «round », чтобы получить:
abc := TDeviceAnsiString(def);
спасибо за вашу помощь!