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