Einzelnen Beitrag anzeigen

ereetzer

Registriert seit: 21. Mär 2003
86 Beiträge
 
Delphi XE Starter
 
#1

Funktion Pos -> nächstes Zeichen, geht das auch einfacher

  Alt 18. Apr 2003, 14:38
folgende Situation bzw Code:

Code:
procedure TForm1.BitBtn12Click(Sender: TObject);
var
  a: integer;
  k, m,l,t: string;
begin
  m:='';
  t:='';
  l:=ShellListView1.SelectedFolder.DisplayName;
  k:=ShellListView1.SelectedFolder.DisplayName;
  a:= CountSubStr(Edit14.Text, ShellListView1.SelectedFolder.DisplayName);
  while Pos(Edit14.Text, l)>0 do
  begin
    t:='';
    t := IntToStr(Pos(Edit14.Text, l));
    l:=StringReplace(l,Edit14.Text,'*',[]);
    if m = '' then m:=m + t else m:=m + ', ' + t;
  end;
  ShowMessage('Die Zeichenkette ist ' + IntToStr(a) + ' mal in ' + k + ' an folgenden Positionen enthalten: ' + m);
end;

function TForm1.CountSubStr(SubStr,Str:String):Integer;
begin
  Result:=0;
  while Pos(SubStr,Str)>0 do
  begin
    Inc(Result);
    Str:=StringReplace(Str,SubStr,'*',[]);
  end;
end;
Stört Euch erstmal nicht an den unaussagekräftigen Variablen und seltsamer Schreibweise. So sieht das in der Testphase bei mir immer aus .

Naja, ich wollte einfach nur wissen, on oben dargestellter Code auch einfacher geht bzw. ob es dafür nich vielleicht eine fertige Funktion in Delphi gibt. Ich habe jedenfalls keine gefunden.

cu
ereetzer
  Mit Zitat antworten Zitat