Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

edit.keypress [D7, WinXP]


Страницы:   1 2

enZinger ©   (2007-01-07 12:35:00) 

Подскажите как в событии keypress TEdit сделать обработку, что бы можно было вводить только

!%*+-./=:[]^_{}@0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyzЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧС
МИТЬБЮЁйцукенгшщзхъфывапролджэячсмитьбюё


а в остальных случаях ничего не вводило

Я нашел как сделать наоборот, но это немного не подходит.
 if ((UpCase(Key) = ';')) then
 Key := #0;


PZ   (2007-01-07 19:42:00) [21]

>  [2] Юрий Зотов ©   (07.01.07 17:40)

Возможно в смысле скорости будет лучше, но мне показалось, так (как у меня) проще.


Юрий Зотов   (2007-01-07 17:40:00) [22]

> PZ   (07.01.07 12:49) [1]

Если сделать не строку, а множество и проверять через in, то будет работать раз в 100 быстрее. А код практически тот же.


PZ   (2007-01-07 12:49:00) [23]



Const
 S = '!%*+-./=:[]^_{}@0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'+
     'abcdefghijklmnopqrstuvwxyzЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧС'+
     'МИТЬБЮЁйцукенгшщзхъфывапролджэячсмитьбюё';

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 If not (Pos(Key, S) > 0) then Key := #0;
end;


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо