Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Смена языковой раскладки (http://www.flasher.ru/forum/showthread.php?t=174242)

mapit 20.01.2012 19:58

Смена языковой раскладки
 
Здравствуйте!

1)Скажите, пожалуйста, почему так долго сменяется язык в flash-приложении-переводчике? - около 3 секунд приложение зависает, прежде чем сменится раскладка. Ошибок при компиляции никаких нет. Что может так задерживать смену языка?

2)Возможно ли установить по умолчанию язык для ввода строки в текстовое поле, например, русский?

3) Можно ли сделать так, чтобы ввод в текстовое поле был только на кириллице(в данном случае, на русском)?

Stitch512 20.01.2012 20:24

Эээ... Опять битва экстрасенсов... Что за такое абстрактное приложение то... А то получается "у меня ничего не работает, почему, хелп!"...

Добавлено через 1 минуту
Язык ввода устанавливать нельзя, а содержимое текстового поля можно фильтровать, к примеру с использованием регулярных выражений.

bav 20.01.2012 20:30

Добавлю к тому, что сказал Stitch512: TextField.restrict.

mapit 20.01.2012 22:00

Спасибо.
Приложение - простой переводчик.
В качестве базы данных используется XML-файл.
Есть текстовое поле Input, к которому прикручено автозаполнение с выпадающим списком предположений по мере набора текста в этот TextField путем обращения к массиву значений из XML.//массив.push(Info)

После этого перевод выбранного искомого слова отображается в другом динамическом текстовом поле путем непосредственного обращения к этому же XML(не к массиву!) - простое соответствие children'ов.
То есть загрузчик XML-файла - один общий.

При запуске flash ставит языком по умолчанию английский, так как язык операционной системы у меня по умолчанию - английский. То есть, если даже браузер уже настроен на русскую раскладку, то при открытии flash-приложения в этом же браузере и клике на рабочую область приложения раскладка меняется на английскую.
Мне же, собственно, нужна только русская раскладка. Так вот, смена язык. раскладки ОС занимает около 3 секунд.
Возможно, flash так реагирует на событие клавиатуры Ctrl+Shift?
Либо такое обращение к XML-файлу вызывает задержку при смене языковой раскладки?

Inet_PC 20.01.2012 23:00

Ну попробуйте убрать
Цитата:

такое обращение к XML-файлу
и засечь время переключения раскладки. И сразу станет ясно.

mapit 20.01.2012 23:55

Проверил. Массив в отдельном текстовом файле txt. Перевод слова путем XML. Всё работает, но проблема осталась.
И я понимаю, что событие клавиатуры обуславливает задержку. Неважно, Ctrl+Shift или Ctrl+K, или Shift+Space. Так как смена язык.раскладки кликом мышки на языковую панель проходит гладко(без задержек).
У меня на этом текстовом поле Input висит KEY_UP, при котором совершаются несколько циклов(переборов) массива. Ну хоть понял причину.

TanaTiX 21.01.2012 00:04

Вывод может быть только один - вы что-то накосячили. Что? - на данный момент актуален 1й ответ в теме.
По поводу смены языка я бы делал внутренние настройки, не зависящие от настроек ОС. По клику по кнопке определяем нажатую клавишу и подставляем нужное значение.

И кстати, возможно парсинг xml благотворно скажется на работе приложения.

mapit 21.01.2012 00:37

Спасибо!
Цитата:

Сообщение от TanaTiX (Сообщение 1058202)
По поводу смены языка я бы делал внутренние настройки, не зависящие от настроек ОС. По клику по кнопке определяем нажатую клавишу и подставляем нужное значение.

Внутренние настройки чего? Если приложения, то где в CS5 они находятся.
А вообще, хотелось бы, чтобы при запуске приложения язык менялся бы на русский автоматически, как вот в этом приложении:
http://fundux.ru/watch3

как это сделать?

Wolsh 21.01.2012 00:51

А что там меняется? Там просто restrict стоит и можно вводить только кириллицу.

TanaTiX 21.01.2012 01:00

Объясню еще раз идею на примере. Пользователь заходит в приложение, ставит курсор на интересующее текстовое поле, жмет кнопку на клаве, например, "й". Приложению все равно какая там у ОС раскладка активна, русская, английская, китайская, арабская. Приложение определяет код нажатой клавиши и сама подставляет нужный символ не зависимо от раскладок.


Часовой пояс GMT +4, время: 17:39.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.