Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2011, 17:39   #1
dekuk
 
Аватар для dekuk
 
Регистрация: 11.09.2011
Сообщений: 6
По умолчанию Контроль ввода. Автозамена символов.

есть обработчик нажатия на клавишу, как его модернизировать, чтоб при вводе строчные буквы заменялись на заглавные? каждый символ описывать долго, наверняка есть какая-то закономерность, помогите

Код:

 // в ключе доступны 0-9 A-Z backspace
 if (CEdit=1) then
    if not (Key in [#48..#57,#65..#90,#8]) then Key:=#0;
end;
dekuk вне форума Ответить с цитированием
Старый 04.12.2011, 17:44   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
if Key in ['a'..'z'] then Key:=Chr(Ord(Key)+26);//помоему так
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.12.2011, 17:45   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
Key:=AnsiUpperCase(Key)[1];
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 04.12.2011, 19:09   #4
dekuk
 
Аватар для dekuk
 
Регистрация: 11.09.2011
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
Код:
if Key in ['a'..'z'] then Key:=Chr(Ord(Key)+26);//помоему так
нет, абракадабра получается=)

Цитата:
Сообщение от Аватар Посмотреть сообщение
Код:
Key:=AnsiUpperCase(Key)[1];
спасибо
dekuk вне форума Ответить с цитированием
Старый 04.12.2011, 19:13   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
абракадабра получается
Только потому, что кирилица не учтена, ее учесть и не будет абрыкадабры, ну и не +26, а -32
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 04.12.2011 в 19:18.
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Контроль ввода в консольном приложении Zeronim Паскаль, Turbo Pascal, PascalABC.NET 5 05.06.2011 18:44
Контроль ввода данных в Eddit gs.Soroka C/C++ Базы данных 2 28.05.2011 15:57
Контроль ввода - римские цифры Kortes Visual C++ 23 24.01.2011 15:46
Паскаль,СЕМАНТИЧЕСКИЙ КОНТРОЛЬ ВВОДА ROMA2PVT Помощь студентам 9 28.03.2010 14:49