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;