Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы (http://www.flasher.ru/forum/forumdisplay.php?f=10)
-   -   как переводить каретку после каждых 30-ти вписанных символов? (http://www.flasher.ru/forum/showthread.php?t=26913)

alio 07.02.2002 17:53

как переводить каретку после каждых 30-ти вписанных символов?
 
в input text



Будьте любезны - подскажите.

Egoritch 07.02.2002 18:40

я бы сделал так: мувиком ловил бы событие КейПресс, ловил бы остаток от деления длины текста на 90, и если он равен 0 - вписывал бы в текст "\n". А проверять- получится или нет - мне лень.

Egoritch 07.02.2002 18:42

..точнее от деления на 30

alio 07.02.2002 18:51

за ранее длину текста знать не возможно

alio 07.02.2002 19:24

for (i=0; i<msg.length; i++) {
if (msg.length/5 == 0){
msg = msg + "\r"
}
}

tak ne rabotaet

сочиNetz 08.02.2002 02:15

чет я не понял прикола. В теле цикла ни разу не используется переменная цикла. Вопрос: нахрена цикл?
msg.length здесь- константа, соответственно если msg.length/5 == 0 (след-но, msg.length=0) вообще ничего не будет..если msg.length>0 тоже ничего не буцет

Есть такой вариант:

for (i=dlina; i<msg.length; i+=dlina+1) {
msg = msg.substr(0,i) + "\r" + msg.substr(i)
}

где dlina- после скольки символов вставлять символ

alio 08.02.2002 14:58

не работает :(

после первого переноса строки он бешенно наращивает i , и всё переносит и переносит строку .

Egoritch 08.02.2002 15:37

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

это в мувике
Цитата:

onClipEvent (keyUp) {
trace(_parent.dt add " " add _parent.dt.length) ;
if ((_parent.dt.length%5)==0) {s=_parent.dt;s+="\r";_parent.dt=s;trace("Now");}
}
dt-это инпут текст текст. Энтер добавляется, вот тока курсор висит там же, где и был. Что получается реальнее глянь, если вместо "\r" написать "\rслово". А курсор двигать нельзя

alio 08.02.2002 16:12

вся проблема в том как написать чтоб он добавлял этот "\r" правильно.


msg = msg.substr(0,i) + "\r" + msg.substr(i) ;

здесь кажется всё из-за нуля (msg.substr(0,i)), потому что он стирает всё что было написано, то есть обнуляет msg.length

s=_parent.dt;
s+="\r";
_parent.dt=s;

а здесь он курсор не переводит после "\r"

потом я ещё кучу всего перепробовала, и ничего не получается.

alio 08.02.2002 18:08

2 сочиNetz

Я не заметила сразу :

for (i=dlina; i<msg.length; i+=dlina+1) {
msg = msg.substr(0,i) + "\r" + msg.substr(i)
}
где dlina- после скольки символов вставлять символ

i ведь становится больше чем msg.length.


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

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