![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2003
Сообщений: 144
|
спасите. ОЧЕНЬ НУЖНО заменять одну букву на другую, по ходу набора, в том же самом текстовом окне...
есть идеи? |
|
|||||
|
Цитата:
вар. 1 проверять каждую введенную (мало загрузки, но Ctrl+V) вар. 2 проверять постоянно всю строку при вводе и если А==В, то менять вар. 3 проверять всегда данную строку ![]() (тормоза придумали трусы)
__________________
Старый плюс лучше новых двух. I like RTFM попросил - подожди - обработай Chr(255) == '\xFF' - это про "я" lexass |
|
|||||
|
Регистрация: May 2003
Сообщений: 144
|
>есть
>вар. 1 проверять каждую введенную >(мало загрузки, но Ctrl+V) а как это делать? в этом и весь вопрос вот что я написал, не работает как нужно: eng = new Array(97, 98, 99.. ..74, 90); geo = new Array(4304, 4305, 4330.. ..44, 46, 96); listen = new Object(); listen.onKeyDown = function() { letter_code = Key.getAscii(); for (i=0; i<=geo.length; i++) { if (eng[i] == letter_code) { new_letter = String.fromCharCode(geo[i]); geonew.text = geonew.text+new_letter; }}} Key.addListener(listen) где eng[i] и geo[i] массивы кодов соответсвенно новых и старых букв, geonew - инстанс нэим текстового поля. набирает новые буквы, но старые оставляет в том-же окне и курсор тоже не переходит на конец. help |
|
|||||
|
//TF - TextField name
//txt- variable name TF.onChanged = function(){checkStr();} function checkStr() { var i,checkSimb='x',replaceSimb='@';if(txt=='' || txt==undefined)return; while((i=txt.indexOf(checkSimb))>-1)txt=txt.substring(0, i)+replaceSimb+txt.substring(i+1, txt.length); }; вот так фонтазия сработала!
__________________
Старый плюс лучше новых двух. I like RTFM попросил - подожди - обработай Chr(255) == '\xFF' - это про "я" lexass Последний раз редактировалось lexass; 15.10.2003 в 15:50. |
|
|||||
|
Регистрация: May 2003
Сообщений: 144
|
волшебник
работает и на все буквы: eng=new Array(97, 98.. ..74, 90); geo=new Array(4304, 4305.. ..46, 96); tf.onChanged = function(){checkStr();} function checkStr() { letter_code = Key.getAscii(); checkSimb=String.fromCharCode(letter_code); i=0; for (i=0; i<=geo.length; i++) { if (eng[i] == letter_code) { replaceSimb = String.fromCharCode(geo[i]); }} if(txt=='' || txt==undefined)return; while((i=txt.indexOf(checkSimb))>-1)txt=txt.substring(0, i)+replaceSimb+txt.substring(i+1, txt.length); } |
![]() |
Часовой пояс GMT +4, время: 20:42. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|