Показать сообщение отдельно
  #6  
Старый 06.05.2013, 16:05
Sheitan48 Sheitan48 вне форума
Прохожий
 
Регистрация: 05.05.2013
Сообщения: 11
Версия Delphi: RAD Studio 2010
Репутация: 10
Стрелка

Цитата:
Сообщение от 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`а с группой следующих едитов.
А вот за это спасибо, буду пробовать...
Ответить с цитированием