Registriert seit: 31. Mai 2009
1.198 Beiträge
Turbo Delphi für Win32
|
AW: String umdrehen
28. Feb 2011, 03: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 17:04 Uhr)
|
|
Zitat
|