Thema: Delphi String umdrehen

Einzelnen Beitrag anzeigen

Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#7

AW: String umdrehen

  Alt 28. Feb 2011, 02:18
Mein Ketchup dazu:
Delphi-Quellcode:
function ReverseString(const S: String): String;
var
  i, Len: Integer;
begin
  Len := Length( S );
  SetLength( Result, Len );
  for i := 1 to Len do
    Result[i] := S[Len+1-i];
end;

function PosEx(const SubStr: String; Str: String; const From: Integer): Integer;
begin
  Str := Copy( Str, From, Length( Str ) - From + 1 );
  Result := Pos( SubStr, Str );
  if Result > 0 then
    inc( Result, From - 1 );
end;

function ReverseSentence(const S: String; const Separator: Char = ' '): String;
var
  i, Len,
  p: Integer;
  Word: String;
begin
  Result := S;
  Len := Length( S );
  i := 1;
  while i < Len do
  begin
    p := PosEx( Separator, S, i );
    if p = 0 then
      p := Len + 1 - i
    else
      p := p - i;
    Word := ReverseString( Copy( S, i, p ) );
    Move( Word[1], Result[i], p );
    inc( i, p + 1 );
  end;
end;
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG

Geändert von Aphton (28. Feb 2011 um 16:04 Uhr)
  Mit Zitat antworten Zitat