Thema: Delphi Trim funktion

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

Re: Trim funktion

  Alt 1. Mär 2006, 13: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;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat