So bleibt extrem viel Performance auf der Strecke, da bei Aufruf von memo1.Text
jedesmal alle Zeichen geholt werden.
Das Property TMemo.Text mag ja aussehen, als ob es ein gewöhnlicher String wäre;
intern ist aber ein relativ hoher Aufwand nötig, diesen String zu liefern.
Delphi-Quellcode:
for i := 1 to memo1.GetTextLen do
begin
application.ProcessMessages; //damit das ganze nicht hängenbleibt
c:=memo1.text[i]; //dem char wird ein buchstabe des memos zugewiesen.
c:=ansilowercase(c)[1];
deutlich schneller:
Delphi-Quellcode:
var
s : string;
...
s := AnsiLowerCase(memo1.Text); // Daten aus Memo in einem Rutsch holen und gleich in Kleinbuchstaben wandeln
for i :=1 to Length(s) do
begin
c := s[i];
...