![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|
|
|||||
|
Регистрация: Jan 2002
Адрес: Russia, Yoshkar-Ola
Сообщений: 9
|
Проблема такая:
Нужно обработать вводимые с клавиатуры русские буквы. Key.getAscii() возвращает код только английских буквы. А как получить код русских? В любом варианте или в Ascii или в юникоде. В дальнейшем я их буду обрабатывать: letter = String.fromCharCode(1041); // для юникода letter1 = chr(193); // для Ascii |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
|
|
|||||
|
Регистрация: Jan 2002
Адрес: Russia, Yoshkar-Ola
Сообщений: 9
|
Спасибо за быстрый ответ.
trace(chr(a=1103)); trace(chr(255)); trace(chr(255) == chr(a)); тут макромедийцы конечно постарались, ничего не скажешь. но с этим я как раз раз разобрался. У меня основная проблемма другая: как мне получить код вводимых русских букв с клавиатуры? в любом виде, хоть юникод, хоть ascii. Key.getAscii() выдает код только латинских букв и спецсиволов. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
ааа... понятно о чем ты :)
не знаю как сделать получше - я бы сделал по-простому: en = "qwertyuiop[]asdfghjkl;'zxcvbnm,.";
ru = "йцукенгшщзхъфывапролджэячсмитьбю";
en = en.split("");
ru = ru.split("");
ru_unicode = {};
for (var i = 0; i<en.length; i++) {
ru_unicode["en"+ord(en[i])] = ru[i];
}
this.onKeyDown = function() {
var ru = ru_unicode["en"+Key.getAscii()];
var en = Key.getAscii();
if (ru.length) {
trace("en : "+en+", ru: "+ru+"("+ord(ru)+")");
} else {
trace("en : "+en+"("+chr(en)+")");
}
};
Key.addListener(this);
Цитата:
даже если публиковать под шестерку - все равно этот баг уже не срабатывает :) Последний раз редактировалось Nox Noctis; 12.02.2004 в 20:03. |
|
|||||
|
Регистрация: Jan 2002
Адрес: Russia, Yoshkar-Ola
Сообщений: 9
|
Большое спасибо, Nox Noctis!
Это действительно выход из положения. Там только в цикле добавил ord(en[i]) for (var i = 0; i<en.length; i++) { ru_unicode["en"+ord(en[i])] = ru[i]; } и получил, то что хотел. единственный минус такого подхода: не работают буквы б и ю и при включенной русской раскладке буквы х, ъ, ж, э |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
Цитата:
Цитата:
а с включенной русской раскладкой мона поморочиться - просто посмотри какие коды там возвращаются и добавь им соответствия в строки en и ru Последний раз редактировалось Nox Noctis; 13.02.2004 в 12:26. |
|
|||||
|
Регистрация: Jan 2002
Адрес: Russia, Yoshkar-Ola
Сообщений: 9
|
Цитата:
Еще раз спасибо! |
|
|||||
|
Я тоже столкнулся с такой проблемой, когда делал одну флешку. Но решил я её таким образом: кождому коду клавиши присваивал значение русской буквы. Довольно длинный скрипт получился и нелепый. Приклепляю свою флешку, чтобы вы могли увидеть это в действии (это архив rar, но переименован в zip).
|
![]() |
Часовой пояс GMT +4, время: 01:49. |
|
|
« Предыдущая тема | Следующая тема » |
|
|