Цитата:
Сообщение от Alegun
Определитесь
код общего для всех едитов обработчика... или
не все едиты будут обрабатываться таким образом...
|
Ну блин, не писАть же, что для почти всех едитов
Цитата:
Сообщение от Alegun
вот это смущает
Код:
if (((key >= #192) and (key <= #255)) then begin end...
когда можно более конкретно и понятно
Код:
case Key of
'А'..'Я','а'..'я','Ё','ё': begin end;
chr(VK_BACK): exit;
...
else Key:= #0;
end;
|
Эм. поясню. Изначально планировалось использовалось так, как пишут в многочисленных примерах на просторах интернетов:
Код:
if Not (Key in ['А'..'Я', 'а'..'я', '0'..'9', #8])then Key:=#0;
В Delphi 7 этот код прекрасно работал. Но RAD Studio 2010 отказался обрабатывать таким макаром русский алфавит вообще... инглиш, цифры - на ура, русский хоть пиши хоть не пиши... Оказалось все дело в расширенной поддержке Unicode начиная с Delphi 2009.
Тут "чуть" более подробно, но т.к. сроки начинают уже поджимать а слов там очень много и разбираться во всем этом (чего-то там скан-коды, виртуальные коды, символьные коды...голова кругом идет

) не было никакого желания, было принято решение не заморачиваться и использовать ascii-коды. Может Вы в курсе, как можно исправить ситуацию без переустановки делфи на более старую версию?)
Цитата:
Сообщение от Alegun
можно так
Код:
with (FindComponent('GroupBox' + IntToStr((Sender as TEdit).Tag)) as TGroupBox) do
for i := 0 to ControlCount - 1 do (Controls[i] as TEdit).Enabled:= true;
где в свойстве .tag sender`а заранее записан порядковый номер groupbox`а с группой следующих едитов.
|
А вот за это спасибо, буду пробовать...