Имя: Пароль:
1C
 
Ввод английских символов
0 Merlin2006
 
21.02.08
16:18
Привет.
Никто незнает. Как сделать в поле ввода ввод только английских символов, а на русские ругаться?!
1 Мулька
 
21.02.08
16:19
Проверяй посимвольно потом
2 Merlin2006
 
21.02.08
16:20
А других вариантов нет?!
3 Sadovnikov
 
21.02.08
16:22
Можно попробовать поиграться с событием ПриОтжатииКнопкиКлавиатуры()
4 Merlin2006
 
21.02.08
16:24
А это не стандартная функция!?
5 Sadovnikov
 
21.02.08
16:27
(4) Это событие FormEx-а
6 gopher
 
21.02.08
16:27
(4) это 1с++
7 Merlin2006
 
21.02.08
16:28
Не подойдет.
8 Sadovnikov
 
21.02.08
16:30
(7) О как! Эт почему? Религия не позволяет?
Или просто не ищем легких путей в жизни?
9 Яндекс
 
21.02.08
16:31
(8)О как, а что свойства Маска уже отменили?
10 Merlin2006
 
21.02.08
16:34
1с++ Это наворот. И он не подойдет по многим причинам.
А можно про "Маска" поподробней?!
11 Яндекс
 
21.02.08
16:35
Маска
Установить/определить маску интерактивного ввода для элементов диалога типа «поле ввода».

Синтаксис:

Маска(<СтрокаМаски>)

Англоязычный синоним:

Mask

Параметры:

<СтрокаМаски>
Необязательный параметр. Строковое выражение — посимвольная маска интерактивного ввода для стро­ковых реквизитов диалога (аналогично установке в свойствах реквизита диалога в конфигураторе).


Возвращаемое значение:

Строковое значение — текущая маска интерактивного ввода для строковых реквизитов (на момент до исполнения метода).

Описание:

Метод Маска позволяет установить посимвольную маску интерактивного ввода для элементов диалога типа «поле ввода» (аналогично установке в свой­ствах реквизита диалога в конфигураторе).

В параметре <СтрокаМаски> допустимы следующие символы:

·          ! — введенный символ преобразуется в верхний регистр;

·          9 — произвольный символ цифры;

·          # — произвольный символ цифры или - (знак минус) или + (знак плюс) или пробел;

·          N — любые алфавитно-цифровые символы (буквы или цифры);

·          Х (латинского алфавита) — произвольный символ;

·          @ — любые алфавитно-цифровые символы (буквы или цифры) в верх­нем регистре.

Доступ к данному методу возможен только в контексте Модуля формы.

Пример:

форма.Телефон.Маска("999-99-99");
12 Яндекс
 
21.02.08
16:36
Блин я затупил. "Х (латинского алфавита)"
13 Sadovnikov
 
21.02.08
16:36
(9) А подробнее? ЖКК вот что про маску говорит:
! — введенный символ преобразуется в верхний регистр;
9 — произвольный символ цифры;
# — произвольный символ цифры или - (знак минус) или + (знак плюс) или пробел;
N — любые алфавитно-цифровые символы (буквы или цифры);
Х (латинского алфавита) — произвольный символ;
@ — любые алфавитно-цифровые символы (буквы или цифры) в верх­нем регистре.

(10) Пипец... Трахайтесь дальше...
14 Sadovnikov
 
21.02.08
16:37
(12) Ага! Я не один такой!!! Я тоже на это сначала купился :))
15 Merlin2006
 
21.02.08
16:37
Сейчас проверим
16 Мулька
 
21.02.08
16:38
(13) Нуралиеву слив. Допустил геноцид русского алфавита (символов). По идейным соображениям надо отказываться от юзания маски
17 Merlin2006
 
21.02.08
16:40
Не пойму!
В поле ввода в закладке указываем на Маске=X - англ.
А всё равно можно вводить любые символы
18 Sadovnikov
 
21.02.08
16:42
(17) Обрати внимание на (12).
19 Merlin2006
 
21.02.08
16:42
И что делать?!
20 Sadovnikov
 
21.02.08
16:44
(19) Даже и не знаю. Наверное, продолжать дальше тихо ненавидеть ВК, которые очень многое умеют...
21 Merlin2006
 
21.02.08
16:45
А "ВК" это что?!
22 Sadovnikov
 
21.02.08
16:46
(21) Внешние компоненты. Например, FormEx и 1С++.
23 Merlin2006
 
21.02.08
16:48
Так дело не в том что "ненавижу"
А в том что везде 1с++ не поставишь.
24 Яндекс
 
21.02.08
16:49
а чем проверка после ввода не устраивает?
25 Merlin2006
 
21.02.08
16:49
Как?!
Просто не пойму.
26 Яндекс
 
21.02.08
16:51
Ну вешаешь процедуру на поле ввода. Которая проверит если символы в веденой строке или нет.
27 Мулька
 
21.02.08
16:52
(23) Че курил ?
28 Merlin2006
 
21.02.08
16:52
а как мне сказать, что это именно "англ" символы, а не "рус".
29 Heckfy
 
21.02.08
16:54
(28) Делай таблицу соответствий. Для примера:

Сообщить("Рус. "+КодСимв("а")+"   Англ. "+КодСимв("a"));
30 Sadovnikov
 
21.02.08
17:03
(28)
КодСимв(<?>)
Синтаксис:
КодСимв(<Символ>)
Назначение:
Возвращает код первого символа, содержащегося в строке.
Параметры:
<Символ> - строковое выражение.
31 Merlin2006
 
21.02.08
17:05
Я понял. А у меня ещё вопрос. А как проще перебрать англ. алфавит. Что бы не писать так
КодСимв("a");
КодСимв("b");
32 Яндекс
 
21.02.08
17:08
Размер = стрдлина(ТвояСтрока);
для х = 1 по Размер цикл
 Символ = нрег(сред(ТвояСтрока, х, 1));
 если найти("qwertyuiopasdfghjklzxcvbnm", Символ) > 0 тогда
   сообщить("есть английский символ");
 конецесли;
конеццикла;
33 Ёпрст2
 
21.02.08
17:13
(31) Лови:

ИсходнаяСтрока = "ВасяSSSSS";
АнглийскаяСтрока = OemToAnsi(ИсходнаяСтрока);

Для к  = 1 По СтрДлина (ИсходнаяСтрока )Цикл
  Если Сред(ИсходнаяСтрока,к,1)<>Сред(АнглийскаяСтрока,к,1) Тогда
    Сообщить("Руская буковка " + Сред(ИсходнаяСтрока,к,1) + " в "+к +" позиции");
  КонецЕсли;
КонецЦикла;
34 Merlin2006
 
21.02.08
17:16
Спасибо. Уже сам написал!
35 Ёпрст2
 
21.02.08
17:17
(34) Показывай ...как сделал