5

アプリをdelphi2009に移行しています。アプリはまだ多くの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>

サラウンドメニューには表示されず、いつでもアクティブになりません。できるようになりたい

abc := **das***[tab]*def;

または、「def」を選択し、「surround」を使用して以下を取得します。

abc := TDeviceAnsiString(def);

ご協力ありがとうございました!

4

1 に答える 1

11

これはそれを行う必要があります:

<?xml version="1.0" encoding="utf-8" ?>
<codetemplate   xmlns="http://schemas.borland.com/Delphi/2005/codetemplates"
                version="1.0.0">
    <template name="das" surround="true" invoke="auto">
        <description>
            MP: TDeviceAnsiString
        </description>
        <author>
            Mike rev François
        </author>
        <code language="Delphi" delimiter="|"><![CDATA[TDeviceAnsiString(|end||selected|)]]>
        </code>
    </template>
</codetemplate>

追加: 詳細については、Delphi WikiLiveTemplates Technical Infosを参照してください。

于 2008-10-29T19:38:15.763 に答える