![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() приветствую всех
у меня два вопроса: 1. как запретить вводить в поле латинницу 2. как в этом же текстовом поле, первую букву "поднимать" в верхний регистр автоматически спасибо |
#2
|
|||
|
|||
![]() нашел на цифири:
изменю на буквы, и, надеюсь, прокатит Код:
procedure TForm1.edt1KeyPress(Sender: TObject; var Key: Char); begin if Key in ['0'..'9'] then key :=#0; end; остался только верхний регистр первого символа |
#3
|
||||
|
||||
![]() Прокатит. В событие OnChange, используй AnsiUpperCase
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#4
|
|||
|
|||
![]() пробовал, спасибо
в общем варианте получилось так: Код:
function UpCaseRus(ch:Char):Char; asm CMP AL,'a' JB @@exit CMP AL,'z' JA @@Rus SUB AL,'a' - 'A' RET @@Rus: CMP AL,'я' JA @@Exit CMP AL,'а' JB @@yo SUB AL,'я' - 'Я' RET @@yo: CMP AL,'?' JNE @@exit MOV AL,'?' @@exit: end; procedure TForm5.sEdit1KeyPress(Sender: TObject; var Key: Char); begin if (Key in ['q','w','e','r','t','y','u','i','o','p','a','s','d','f','g','h','j','k','l','z','x','c','v','b','n','m','Q','W','E','R','T','Y','U','I','O','P','A','S','D','F','G','H','J','K','L','Z','X','C','V','B','N','M','!','@','#','$','%','^','&','*','(',')','_','-','+','<','>','/','\','|','.',',',' ']) then begin Key:=#0; Application.MessageBox(PChar(' Поменяйте раскладку клавиатуры '),':|',MB_OK); end; with Sender as TEdit do begin if (Text = '') or (Text[SelStart] = ' ') or (SelLength = Length(Text)) then begin if Key in ['й','ц','у','к','е','н','г','ш','щ','з','х','ъ','ф','ы','в','а','п','р','о','л','д','ж','э','я','ч','с','м','и','т','ь','б','ю'] then begin Key:=UpCaseRus(Key); end; end; end; end; |
#5
|
|||
|
|||
![]() работает безотказно
блин... сам спросил, сам ответил... ну может кто-то будет гуглить, найдет, понравится, останется |
#6
|
||||
|
||||
![]() Так не про катило почему такой большой код если проблема решается так
Код:
if Key in ['A'..'z'] then key :=#0; Нет ничего не возможного. Вопрос только во времени... |