Имя: Пароль:
1C
1С v8
Ввод латиницей
0 svchernova
 
18.01.12
16:26
Всем здравствуйте,

Есть ли возможность программно переключить раскладку на латиницу? Необходимо некоторые поля ввода заполнять только английскими буквами и цифрами. Я могу, конечно, контролировать это сразу после ввода, каждый введённый символ. взять переменную, забить туда весь английский алфавит и контролировать. Но как-то это всё не очень красиво выглядит. хотелось бы контролировать каждый набранный символ во время ввода, и как-то это покрасивше сделать.. Есть идеи?
1 acsent
 
18.01.12
16:26
маска
2 svchernova
 
18.01.12
16:30
(1) напиши мне маску, пожалуйста
3 svchernova
 
18.01.12
16:37
насколько я знаю, для маску нужно задавать такой же длины, какая будет у введённой строки. Но у меня там разная длина строк может быть.
4 acsent
 
18.01.12
16:39
продам сп, дорого
5 svchernova
 
18.01.12
16:40
да ну тебя! :)
6 svchernova
 
18.01.12
16:43
(4) не подходит маска.. там необходимо указывать то количество символов, которое буде введено. а у меня в поле ввода может быть строка разной длины
7 svchernova
 
18.01.12
16:49
(4) Да и на латиницу маской не переключишься..
8 Defender aka LINN
 
18.01.12
16:52
По коду символа
9 svchernova
 
18.01.12
16:58
(8) во время ввода невозможно отследить каждый символ, как я поняла.. Хотелось бы контролировать каждый вводимый символ. а по коду символа проверить всю строку - всё равно что завести переменную с английским алфавитом и потом в ней искать символы
10 GenV
 
18.01.12
17:32
(0) Линейкой по пальцам или после ввода преобразовать в латиницу.
11 GROOVY
 
18.01.12
17:40
Событие Автоподбор попробуйте.
12 vmlspb
 
18.01.12
17:54
Я так проверяю
//Если есть русские буквы в Позиционировании, то ругаемся и не записываем
   ЗапросРусскиеБуквы = Новый Запрос;
   ЗапросРусскиеБуквы.Текст =
   "ВЫБРАТЬ
   |    ИСТИНА КАК Запись
   |ГДЕ
   |    &Позиционирование ПОДОБНО ""%[А-Я]%""";
   
   ЗапросРусскиеБуквы.УстановитьПараметр("Позиционирование",Позиционирование);
   
   Если Не ЗапросРусскиеБуквы.Выполнить().Пустой() Тогда
       Сообщить("В реквизите ""Позиционирование"" должны быть только латинские буквы!",СтатусСообщения.Важное);
       ЕстьОшибки = Истина;
   КонецЕсли;
   
   Если ЕстьОшибки Тогда
       Отказ = Истина;
       Возврат;
   КонецЕсли;
13 svchernova
 
18.01.12
17:55
(11) и (12) спасибо, на событии автоподбор отработала ситуацию
14 svchernova
 
18.01.12
17:56
КодСимвола проверяла.
15 Jaffar
 
18.01.12
18:22
ПунтоСвитчер не предлагать?
хотя я сам ему не доверяю - вижу, какие косяки присылает друг, которым им активно пользуется :-)
16 Fragster
 
гуру
18.01.12
18:27
(12) лучше "не подобно %[a-z]%"
17 svchernova
 
18.01.12
18:57
контроль-то получается, но вот очистить это поле при неверном вводе убрать неправильный символ-нет. ТекстРедактирования доступен только для чтения
18 svchernova
 
19.01.12
08:07
непонятно, как очистить или изменить ТекстРедактирования, так как значение поля ввода я очищаю, но текст редактирования сохраняется
я очищала

Элементы.Driver.ТекущиеДанные.DRIVER_CERTIFICATE
и
Объект.Driver[Элементы.Driver.ТекущаяСтрока].DRIVER_CERTIFICATE = Текст;

но отображение не меняется, то есть в поле ввода остается старый текст.