Einzelnen Beitrag anzeigen

KWolf

Registriert seit: 22. Jun 2011
12 Beiträge
 
#2

AW: Anfang und Ende eines String teils ermitteln

  Alt 3. Mär 2013, 19:32
Hallo jacky213,

ich habe deine beiden Funktionen eben mal getestet und bei mir kommen die korrekten Werte raus.
StringPartEnd liefert mir 18 und StringPartStart liefert mir 13. Ich denke mal dies ist das was du haben wolltest.

Dein Problem wird wohl an anderer Stelle liegen. Vieleicht postest du mal die die Stelle deines Programms an der du deine Funktionen aufrufst?

Folgendermaßen könntest du es ja machen:

Delphi-Quellcode:
function StringPartStart(str:string; start:integer) : integer;
var
  found: boolean;
begin
  found := false;

  while found = false do begin
    if Copy(Str, start, 1) = ' then
      found := true;

    start := start -1;
  end;

  Result:= Start + 2;
end;

function StringPartEnd(str:string; start:integer) : integer;
var
  found: boolean;
begin
  found := false;

  while found = false do begin
    if Copy(Str, start, 1) = ' then
      found := true;

    start := start +1;
  end;

  Result := Start - 2;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  lString : String;
begin
  lString:= 'Das ist der String den ich untersuchen möchte';

  Label1.Caption := IntToStr(StringPartStart(lString, 16));
  Label2.Caption := IntToStr(StringPartEnd(lString, 16));
end;
Gruß,
KWolf
  Mit Zitat antworten Zitat