UpperCase dla polskich liter w Edit.

0
procedure TForm2.JvEdit4KeyPress(Sender: TObject; var Key: Char);
begin
with Sender as TjvEdit do
    if (SelStart = 0) or
       (Text[SelStart] = ' ') then
          if Key in ['a'..'z']  or ['ą', 'ę', 'ś', 'ć', 'ź', 'ż', 'ł', 'ń', 'ó'] then
             Key := UpCase(Key) ;
end;

Siemanko.
Napisałem taki oto kodzik, który ma zamienić pierwszą literę po spacji na wielką.
od a..z działa, jednak jak dopisałem drugi nawias z polskimi literami, to wyskakuje błąd

[Error] Unit2.pas(513): Operator not applicable to this operand type

umieszczając kursor za then

Hmm, jak poprawić ten kod, aby działał z polskimi literami?

Gdy wpisuję w Edit 59-300 scinawa to zamienia na 59-300 Scinawa.
Jednak, gdy dam 59-300 ścinawa to dalej mam 59-300 ścinawa.

Jak to poprawić? Pewnie coś z AnsiUpper będzie.

0
if Key in ['a'..'z']  or ['ą', 'ę', 'ś', 'ć', 'ź', 'ż', 'ł', 'ń', 'ó'] then

Tak to rozumuje tylko człowiek, kompilator inaczej:

if (Key in ['a'..'z']) or (Key in ['ą', 'ę', 'ś', 'ć', 'ź', 'ż', 'ł', 'ń', 'ó']) then

5
Try it :d

PS:

to wyskakuje błąd

Następnym razem podaj dokładną linijkę błędu (513 linijka to mało informacji)

0

Następnym razem podaj dokładną linijkę błędu (513 linijka to mało informacji)

No przecież jest napisany cały błąd. :-)

A kod nie działa - nie zamienia polskich liter na wielką.
Próbuję dalej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1