![]() |
Buchstaben umsortieren
Hi!
Ich müsste wissen, wie ich mit Hilfe von Delphi ein Wort in sich umsortieren kann? Und alles in einer ListBox ausgeben kann? Beispiel: KEKS //<- Das ist das erste Wort EKKS SKKE SKEK ... Und das dann halt für jedes andere X-Beliegbige Wort. Könnt ihr mir helfen? MfG Cruso |
Re: Buchstaben umsortieren
Hm,
kannst ne Schleife nehmen und jeden Buchstaben durchgehen und ihn an eine andere Stelle setzen und dann in der ListBox einfuegen! |
Re: Buchstaben umsortieren
Was ist genau dein Problem, der Zugriff auf die einzelenen Positionen des strings oder die Kombinatorik?
|
Re: Buchstaben umsortieren
Hallo.
Scheinbar geht es um Sortieren und Umkehren. ReverseString() ist Bestandteil der Unit StrUtils und SortedString geht zur Not so:
Delphi-Quellcode:
Ostergrüße vom marabu
function SortedString(const s: String): String;
var iInner, iOuter: Integer; c: Char; begin Result := s; for iOuter := 2 to Length(Result) do for iInner := Pred(iOuter) downto 1 do if Result[iInner] > Result[Succ(iInner)] then begin c := Result[Succ(iInner)]; Result[Succ(iInner)] := Result[iInner]; Result[iInner] := c; end else Break; end; |
Re: Buchstaben umsortieren
|
Re: Buchstaben umsortieren
Zitat:
Delphi-Quellcode:
function ReverseString(const input : string) : string;
var currentChar, outputChar : PChar; beforeFirstChar : Integer; begin if length(input) > 1 then begin SetLength(Result, length(input)); beforeFirstChar := Integer(@input[1]) - SizeOf(Char); outputChar := @result[1]; currentChar := @input[length(input)]; while Integer(currentChar) > beforeFirstChar do begin outputChar^ := currentChar^; inc(outputChar); dec(currentChar); end; end else Result := input; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz