Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   String umkehren (https://www.delphipraxis.net/35024-string-umkehren.html)

Tomy 1. Dez 2004 16:21


String umkehren
 
hi leuts
ich möchte einen String verkehrt rum wieder ausgeben. ist das überhaupt möglich???

jfheins 1. Dez 2004 16:23

Re: String umkehren
 
Da hatt' ich was für dich:
Delphi-Quellcode:
function StrRev (Str: String): String;
var
 Res: String;
 i: Cardinal;
begin
 for i := length (Str) downto 1 do Res := Res + Str[i];
 Result := Res;
end;

Luckie 1. Dez 2004 16:24

Re: String umkehren
 
Klar. Es gibnt da, glaube ich, eine String Funktion oder du machst es von Hand. Auf die einzelnen Zeichen eines Strings kannst du mit dem Index zugreifen:
Delphi-Quellcode:
s := 'Hello';
s[1] ist dann das 'H'.

Rest ist etwas Nachdenken deiner seits und das war es schon.

mirage228 1. Dez 2004 16:32

Re: String umkehren
 
Hi,

in der Unit "StrUtils" gibts dafür die Funktion Delphi-Referenz durchsuchenReverseString. (Delphi 7)

mfG
mirage228

shmia 1. Dez 2004 16:37

Re: String umkehren
 
@jfheins: deine function StrRev arbeitet sehr langsam, da mit (fast) jedem Zeichen im Speicher eine neue Reservierung vorgenommen werden muss.

Hier die schnelle Alternative aus der JCL:
Delphi-Quellcode:
function StrReverse(const S: AnsiString): AnsiString;
begin
  Result := S;
  StrReverseInplace(Result);
end;

procedure StrReverseInPlace(var S: AnsiString);
var
  P1, P2: PChar;
  C: AnsiChar;
begin
  UniqueString(S);
  P1 := PChar(S);
  P2 := P1 + SizeOf(AnsiChar) * (Length(S) - 1);
  while P1 < P2 do
  begin
    C := P1^;
    P1^ := P2^;
    P2^ := C;
    Inc(P1);
    Dec(P2);
  end;
end;

Tomy 1. Dez 2004 16:58

Re: String umkehren
 
Danke euch!

hab aber noch ne frage:
kann ich eine Zeichenfolge z.b: '#$D' aus einem String: 'Hallo#$D' löschen???

Matze 1. Dez 2004 16:59

Re: String umkehren
 
Hier im Forum suchenStringReplace Delphi-Referenz durchsuchenStringReplace ;)

blackdrake 11. Apr 2008 18:33

Re: String umkehren
 
Hallo.

Eine Frage: Gibt es zu dem JCL-Code eine noch schnellere Alternative (z.B. in Assembler)?

Gruß
blackdrake


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz