Thema: Delphi Trim funktion

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.079 Beiträge
 
Delphi 12 Athens
 
#8

Re: Trim funktion

  Alt 1. Mär 2006, 14:34
Zitat von Hawkeye219:
@himitsu: wäre es nicht geschickter, auch beim Beispiel 3 und 4 den geänderten Text in das Memo zurückzuschreiben?
Jupp, wäre es ...
Zitat von 1ceman:
Also erst mal vielen dank für die vielen und schnellen Antworten.
Mit dem StringReplace ist nur das Problem,das nachher die Formatierung nicht mehr stimmt, also
die Zeilenümbrüche nicht mehr da sind.
... und außerdem dürfen natürtürlich auch die Zeilenumbrüche nicht mit gelöscht werden

Also dürfte der 3. Code für dich passend sein ^_^
Delphi-Quellcode:
procedure TForm1.trimmen(M: TMemo);
var s : string;
  i : integer;
begin
  s := AnsiUpperCase(M.Text);
  s := StringReplace(S, 'Ä', 'AE', [rfReplaceAll]);
  s := StringReplace(S, 'Ö', 'OE', [rfReplaceAll]);
  s := StringReplace(S, 'Ü', 'UE', [rfReplaceAll]);
  s := StringReplace(S, 'ß', 'SS', [rfReplaceAll]);
  for i := 1 to Length(s) do
    if not (s[i] in [#10, #13, 'A'..'Z') then s[i] := ' ';
  Memo1.Text := s;
end;
@onlinekater: OK, wenn man das sooo sieht -.-''

Oder mal als Gag, wie wäre es mit dieser total unleserlichen, aber dennoch funktionalen Lösung
Delphi-Quellcode:
procedure TForm1.trimmen(M: TMemo);
var s : string;
  i : integer;
begin
  s := StringReplace(StringReplace(StringReplace(StringReplace(AnsiUpperCase(M.Text), 'Ä', 'AE', [rfReplaceAll]), 'Ö', 'OE', [rfReplaceAll]), 'Ü', 'UE', [rfReplaceAll]), 'ß', 'SS', [rfReplaceAll]);
  for i := 1 to Length(s) do if not (s[i] in [#10, #13, 'A'..'Z') then s[i] := ' ';
  Memo1.Text := s;
end;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat