Thema: Delphi String umdrehen

Einzelnen Beitrag anzeigen

Benutzerbild von dor557
dor557

Registriert seit: 24. Okt 2004
Ort: Walldorf
197 Beiträge
 
Delphi 10.1 Berlin Starter
 
#14

AW: String umdrehen

  Alt 6. Mär 2011, 18:57
Hier mal meinen Senf dazu... Habe das getestet. Ist sicherlich Fähig zu optimieren

Ich benutze immer eine Funktion die sich Explode nennt da ich viel mit arrays arbeite

hier mal mein Code :

Delphi-Quellcode:
  TSTringdynarray = array of String;
var
  Form1: TForm1;
  WechselText : TStringDynArray;

function Explode(const Separator, S: string; Limit: Integer = 0): TStringDynArray;
var
  SepLen: Integer;
  F, P: PChar;
  ALen, Index: Integer;
begin
  SetLength(Result, 0);
  if (S = '') or (Limit < 0) then Exit;
  if Separator = 'then
  begin
    SetLength(Result, 1);
    Result[0] := S;
    Exit;
  end;
  SepLen := Length(Separator);
  ALen := Limit;
  SetLength(Result, ALen);

  Index := 0;
  P := PChar(S);
  while P^ <> #0 do
  begin
    F := P;
    P := AnsiStrPos(P, PChar(Separator));
    if (P = nil) or ((Limit > 0) and (Index = Limit - 1)) then P := StrEnd(F);
    if Index >= ALen then
    begin
      Inc(ALen, 5);
      SetLength(Result, ALen);
    end;
    SetString(Result[Index], F, P - F);
    Inc(Index);
    if P^ <> #0 then Inc(P, SepLen);
  end;
  if Index < ALen then SetLength(Result, Index);
end;

procedure TForm1.Button1Click(Sender: TObject);
var I : Integer;
begin
 Edit2.text := '';
  WechselText := Explode(' ',Edit1.text);
  for I := 0 to Length(WechselText) - 1 do
  begin
    WechselText[i] := ReverseString(Wechseltext[i]);
    Edit2.text := Wechseltext[i] + ' ' + Edit2.text;
  end;
end;
Hoffe das ich jetzt nicht deine Hausaufgaben gemacht habe

gruss Sascha
Sascha Nickel
Man muss die Dinge nehmen wie sie kommen, man kann aber auch dafür sorgen das die dinge so kommen wie man sie nehmen möchte.
  Mit Zitat antworten Zitat