Einzelnen Beitrag anzeigen

newuser01

Registriert seit: 31. Aug 2006
248 Beiträge
 
Delphi 7 Professional
 
#1

Templates mit TurboDelphi

  Alt 6. Sep 2006, 15:42
Hallo

Neuer Tag neues Problem Ich habe mir gestern TurboDelphi runtergeladen und ich muss sagen die Tamplates haben mich richtig begeistert. Ich bin dabei mir ein Template selber zu basteln also das immer ein hinterlegter Codeschnipses bei Aufruf des Templates
erscheint.

Das Template habe ich so gestaltet:

XML-Code:

<?xml version="1.0" encoding="utf-8" ?>
<codetemplate   xmlns="http://schemas.borland.com/Delphi/2005/codetemplates"
            version="1.0.0">
    <template name="search-string" invoke="manual">

      <point name="search-string">
      <text>search-string</text>
        <hint>suchen nach einen bestimmten string</hint>
      </point>
 
      <point name="Variable oder Wert">
      <text>Variable oder Wert</text>
      <hint>Wert</hint>
      </point>

      <point name="Text der durchsucht werden soll">
      <text>Text der durchsucht werden soll</text>
      <hint>Text</hint>
      </point>

      <point name="gesuchter String">
      <text>gesuchter String</text>
      <hint>Search String</hint>
      </point>

      <point name="slTmp">
      <text>slTmp</text>
      <hint>TStringList</hint>
      </point>

      <point name="sText">
      <text>sText</text>
      <hint>StringVariable</hint>
      </point>

      <point name="sSearch">
      <text>sSearch</text>
      <hint>StringVariable</hint>
      </point>

      <point name="i">
      <text>i</text>
      <hint>IntegerVariable</hint>
      </point>

      <description>string suchen</description>
      <author>newuser</author>

      <script language="Delphi" onenter="true" onleave="true">
      DeclareVariable(|slTmp|,StringList);
      DeclareVariable(|sText|,string);
      DeclareVariable(|sSearch|,string);
      DeclareVariable(|i|,integer);
      </script>

      <code language="Delphi" delimiter="|" ><![CDATA[

|search-string|

  for |i| := 0 to |Variable oder Wert| -1 do
  begin

  |slTmp| := TStringList.Create;
  slTmp.Clear();
  |sText| := '';
  |sText| := |Text der durchsucht werden soll|;
  |sSearch| := |gesuchter String|;

    while pos(sSearch,sText) <> 0 do
    begin
    slTmp.Add(copy(sText,1,pos(sSearch,sText)-1));
    delete(sText,1,pos(sSearch,sText));
    end;

  slTmp.Add(sText);

    if slTmp.Strings[i] = sText Then
    begin
    //
    end
      else
         begin
         MessageDlg('String gefunden',mtInformation, [mbOK], 0);
    end;//if
  end;//for

      ]]>
      </code>
   </template>
</codetemplate>

Wenn ich nun "search-string" eingebe und die Tab-Taste betätige vervollständigt sich dieser Code nur die Variablen "slTmp" und "sSearch" sind falsch deklariert worden eigentlich müsste "slTmp" vom Typ TStringList sein und "sSearch" vom Typ String. Ich hab keine Ahnung woran es liegen könnte denn die Variablen "sText" und "i" werden ja auch richtig Deklariert vielleicht könnt ihr ja weiterhelfen ?

Delphi-Quellcode:

procedure TForm1.Button1Click(Sender: TObject);
var
  slTmp: TObject; //falsch siehe XML-Code
  sText: string;
  sSearch: TObject; //falsch siehe XML-Code
  i: Integer;
begin

  for i := 0 to Wert -1 do
  begin

  slTmp := TStringList.Create;
  slTmp.Clear();
  sText := '';
  sText := Text der durchsucht werden soll;
  sSearch := gesuchter String;

    while pos(sSearch,sText) <> 0 do
    begin
    slDat.Add(copy(sText,1,pos(sSearch,sText)-1));
    delete(sText,1,pos(sSearch,sText));
    end;

  slTmp.Add(sText);

    if slTmp.Strings[i] = sText Then
    begin
    //
    end
      else
        begin
        MessageDlg('String gefunden',mtInformation, [mbOK], 0);
    end;//if

  end;//for
end;

Gruß
Holger
  Mit Zitat antworten Zitat