Mam różne funkcje konwertujące tekst, a uruchamiam je tak:
<font color="blue"> var z,g:string; begin if length(Nota.Text) 0 then begin z := Nota.Text; case i of 1 : g := f1(z); 2 : g := f2(z); 3 : g := f3(z); // i tak dalej end; if z g then begin Nota.SelectAll; Nota.SelText := g; end;</span> end; end;Nota to SynMemo, a f1, f2, f3... to funckje. Przykładowo:
<font color="blue">function f1(s: string): string; // Usuwanie "ogonków"
var
i:integer;
begin
result := s;
for i:=1 to Length(s) do
begin
case s[i] of
'ą' : Result[i] := 'a';
'ę' : Result[i] := 'e';
'ś' : Result[i] := 's';
'ć' : Result[i] := 'c';
'ń' : Result[i] := 'n';
'ż' : Result[i] := 'z';
'ź' : Result[i] := 'z';
'ó' : Result[i] := 'o';
'ł' : Result[i] := 'l';
'Ą' : Result[i] := 'A';
'Ę' : Result[i] := 'E';
'Ś' : Result[i] := 'S';
'Ć' : Result[i] := 'C';
'Ń' : Result[i] := 'N';
'Ż' : Result[i] := 'Z';
'Ź' : Result[i] := 'Z';
'Ó' : Result[i] := 'O';
'Ł' : Result[i] := 'L';
else
Result[i] := s[i];
end;
end;
end;</span>
I problem polega na tym, że zawsze, gdy w "Nota" na końcu jest kilka Enterów, to on je powiela.. co wykonanie funkcji pojawia się nowy Enter (ale tylko jak za pierwszym razem był). Co jest grane ? Jak to naprawić ?