Zitat von
Lotus:
@Rwarnecke
danke für diesen code.. allerdings verstehe ich diesen nicht ganz und möchte ihn daher nicht blind benutzen.. mir wäre es lieber wenn ich alles genau verstehe.. allerdings faengts schon bei sub und mainstring an...
Substring und MainString sind Variablen. SubString ist der String der gesucht wird im Mainstring. N ist die Position die gesucht werden soll vom Substring. Ein kleines Beispiel :
Delphi-Quellcode:
function PosN(Substring, Mainstring: string; n: Integer): Integer;
begin
if Pos(substring, mainstring) = 0 then begin
posn := 0;
Exit;
end else begin
if n = 1 then posn := Pos(substring, mainstring)
else begin
posn := Pos(substring, mainstring) + posn(substring, Copy(mainstring,
(Pos(substring, mainstring) + 1), Length(mainstring)), n - 1);
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
text : string;
ergebnis : string;
zaehler : integer;
begin
text := 'AVAAS';
zaehler := 1;
repeat
if posn('A', text, zaehler) > 0 then
ergebnis := ergebnis + IntToStr(posn('A', text, zaehler)) + ', ';
zaehler := zaehler + 1;
until posn('A', text, zaehler) = 0;
Label1.Caption := ergebnis;
end;
Das habe ich nur so runtergetippt. Sollte aber funktionieren. Ein kleiner Tipp von mir, schaue Dir wirklich mal die Befehle
Pos und
PosEx in der Online-Hilfe genaustens an.
Edit:
Für das Beispiel brauchst Du ein Label und einen TButton. Das ganze kann man sicherlich auch noch eleganter in einer For-Schleife machen.
Edit 2:
Erklärung von der Variable "n" hinzugefügt.