2008-10-29 14 views
5

Je migre mon application vers Delphi 2009. Mon application doit encore utiliser beaucoup d'AnsiString. pendant la migration, je me retrouve toujours la conversion:comment puis-je créer un modèle Delphi de type "Surround"?

abc := def; 

dans:

abc := string(def); 

ou

abc := TDeviceAnsiString(def); 

je sais que je devrais être en mesure de le faire avec des modèles, mais je trouve templates-- bien que puissant - ne sont pas si faciles à travailler. voici ce que j'ai essayé:

<?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> 

il ne semble pas dans le menu Surround et il ne se met pas à chaque fois que je veux. je voudrais pouvoir

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

ou sélectionnez « DEF » et utiliser « Surround » pour obtenir:

abc := TDeviceAnsiString(def); 

merci pour votre aide!

Répondre

11

Cela devrait le faire:

<?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> 

Ajouté: Vous pouvez trouver plus d'informations sur le Delphi Wiki avec le LiveTemplates Technical Infos

+0

merci François! ça fonctionne parfaitement. merci pour les liens aussi! –

Questions connexes