IPB

Здравствуйте, гость ( Вход | Регистрация )

> Перенос строк, как правильно?
  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
Тарас
сообщение 7.07.2007 - 23:37
Сообщение #1


Активный участник
***

Группа: Пользователь
Сообщений: 200
Регистрация: 20.04.2007
Пользователь №: 3496



На форуме я не нашел ответ, и решил задать в новой теме. Может подскажет кто начинающему.
Вопшем так: создал динамическое текстовое поле, как положено назвал его в поле Instance Name, в поле Var тоже задал имя. В кадре написал код :stop();
var my_text="Текст"
В итоге в дин. поле выводится текст. Все бы хорошо, но если вместо одного слова ввести текст , то перенос каждой строки текста приходиться делать с помощъю "+newline+".
Так вот, как прописать чтоб текст сам делал перенос дойдя до края динамического поля ?
Может для кого то это просто, а мне не понятно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов (1 - 14)
tiHo
сообщение 8.07.2007 - 01:47
Сообщение #2


тихо-хо :)
****

Группа: Модераторы
Сообщений: 1467
Регистрация: 10.04.2006
Из: Млечный Путь, 3-я планета от Солнца, Россия, Москва, Люблино.
Пользователь №: 293



Цитата
в поле Var тоже задал имя.

вот ето ты зря.. ну ты попал! ))
раз задаеш в Instance name то в Var уже ненужно (тоже и наобарот)

если назвал в Instace name то текст туда добавляеш так:
Код
текстовое_поле.text="текст"

а если через Var то просто присваеваеш переменной значение
Код
название_переменной="текст"


а переносить можно еще с помощью символа \n
Код
текстовое_поле.text="строка1\nстрока2\nстрока3"


хз че тебе еще сказать smile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 8.07.2007 - 02:08
Сообщение #3


Ветеран конференции
****

Группа: Flash Zone Team
Сообщений: 3912
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Цитата
Так вот, как прописать чтоб текст сам делал перенос дойдя до края динамического поля ?

Тарас

На самом деле всё просто (чтобы автоматически срабатывал перенос). Ты просто невнимательно изучил Properties текстового поля.

Можно использовать newline и "\n" (мета символ возврата каретки) - это принудительный перенос. А чтобы автоматически переносило текст, без расстановки принудительных переносов нужно лишь установить правильный режим (работы текстового поля). В свойствах поля режим Line type нужно задать Multiline (вместо Single Line) и тогда заработает автоматический перенос.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Тарас
сообщение 8.07.2007 - 09:49
Сообщение #4


Активный участник
***

Группа: Пользователь
Сообщений: 200
Регистрация: 20.04.2007
Пользователь №: 3496



Спасибо. Multiline действительно помогло.
P.S. Класный у тебя сайт !
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Rohan
сообщение 8.07.2007 - 11:45
Сообщение #5


Активный участник
***

Группа: Пользователь
Сообщений: 300
Регистрация: 23.04.2006
Из: Днепропетровск, Украина
Пользователь №: 317



newline - ламерская константа. Потому что маленькими буквами. Лучше использовать chr(13) - это готичнее ))
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Тарас
сообщение 8.07.2007 - 12:20
Сообщение #6


Активный участник
***

Группа: Пользователь
Сообщений: 200
Регистрация: 20.04.2007
Пользователь №: 3496



Мне нужен был автоматический перенос, а не вручную.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 8.07.2007 - 15:56
Сообщение #7


Ветеран конференции
****

Группа: Flash Zone Team
Сообщений: 3912
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Цитата
Спасибо. Multiline действительно помогло.

Тарас, всегда пожалуйста.

Цитата
Лучше использовать chr(13) - это готичнее ))

chr(13) - это ещё один вариант принудительного переноса. Но если ставить переносы вручную, то наиболее профессиональный вариант - это "\n" (в стиле Си, сейчас этот метасимвол поддерживается многими языками программирования).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Rohan
сообщение 8.07.2007 - 17:15
Сообщение #8


Активный участник
***

Группа: Пользователь
Сообщений: 300
Регистрация: 23.04.2006
Из: Днепропетровск, Украина
Пользователь №: 317



\n не катит. Если попытаться разбить на строки введенный в поле текст (когда стоит multiline), то разбить по \n не получится, работает лишь somefield.text.split(chr(13));
Это можно элементарно проверить - trace(newline=="\n");
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 9.07.2007 - 01:45
Сообщение #9


Ветеран конференции
****

Группа: Flash Zone Team
Сообщений: 3912
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Цитата
\n не катит. Если попытаться разбить на строки введенный в поле текст (когда стоит multiline), то разбить по \n не получится

Rohan

Всё прекрасно катит и всё получится smile.gif.

У меня во Флеш 6/мх и Флеш 8 \n работает как с Single Line, так Multiline wink.gif. Так что данный метасимвол можно использовать в обоих режимах для разбиения строк.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Rohan
сообщение 9.07.2007 - 11:17
Сообщение #10


Активный участник
***

Группа: Пользователь
Сообщений: 300
Регистрация: 23.04.2006
Из: Днепропетровск, Украина
Пользователь №: 317



хм... Юзаю CS3, разбиение по \n НЕ работает... blink.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
OXYGENIUM
сообщение 9.09.2010 - 17:59
Сообщение #11


Новичок
*

Группа: Новичок
Сообщений: 1
Регистрация: 9.09.2010
Пользователь №: 10079



Цитата(MustLive @ 8.07.2007 - 02:08) *
Тарас

На самом деле всё просто (чтобы автоматически срабатывал перенос). Ты просто невнимательно изучил Properties текстового поля.

Можно использовать newline и "\n" (мета символ возврата каретки) - это принудительный перенос. А чтобы автоматически переносило текст, без расстановки принудительных переносов нужно лишь установить правильный режим (работы текстового поля). В свойствах поля режим Line type нужно задать Multiline (вместо Single Line) и тогда заработает автоматический перенос.


Не стоит давать людям неправильные советы и при этом говорить, что они что-то там невнимательно изучили wink.gif

зы: textfield.wordWrap = true;
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 9.09.2010 - 23:36
Сообщение #12


Ветеран конференции
****

Группа: Flash Zone Team
Сообщений: 3912
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Цитата
хм... Юзаю CS3, разбиение по \n НЕ работает

Rohan

Это у тебя в CS3 так. А у меня во Флеш 6 и 8 всё прекрасно работает, как я писал. Это вероятно связано с тем, что Адоб в девятой версии редактора переделали этот функционал. В любом случае у тебя есть возможность использовать newline или chr(13) wink.gif.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 9.09.2010 - 23:43
Сообщение #13


Ветеран конференции
****

Группа: Flash Zone Team
Сообщений: 3912
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Цитата
зы: textfield.wordWrap = true;

OXYGENIUM

Данный код является AS-эквивалентом тому методу, о котором я говорил (чтобы в свойствах задать настройки текстового поля). Эти методы эквивалентны. Какой метод выбрать - в редакторе в поле задать настройки или написать AS код - это зависит от разработчика, кому какой метод удобнее. И если код вообще не используется во флешке, то нет и потребности в данном подходе и проще будет сделать всё в свойствах текстового поля в редакторе, а если код используется, то в зависимости от ситуации, можно или в свойствах задать, или в AS-коде.

Цитата
Не стоит давать людям неправильные советы

Твоё утверждение некорректно. Мой совет правильный, потому что, как видно из вышесказанного, данные методы эквивалентны.

Данный совет давался исходя из многолетнего опыта - поэтому я давал рабочий совет (что я делаю всегда). И как ты можешь увидеть в теме (в посте от 8.07.2007), он помог Тарасу. Поэтому твоё утверждение вдвойне некорректно. К тому же первым постом на форуме делать некорректные заявления и безосновательно обвинять других участников - это весьма некорректный подход и ты так далеко не зайдёшь wink.gif.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
chingachgoog
сообщение 10.09.2010 - 11:56
Сообщение #14


Ветеран конференции
****

Группа: Пользователь
Сообщений: 777
Регистрация: 27.02.2009
Из: Moscow
Пользователь №: 9144



На самом деле smile.gif за автоматический перенос строки на новую строчку (когда строчка упирается в границу текстового поля) отвечает именно свойство wordWrap.
Об этом говорит и семерочный хелп:

Код
this.createTextField("my_txt", 99, 10, 10, 100, 200);
my_txt.text = "This is very long text that will certainly extend beyond the width of this text field";
my_txt.border = true;
// Вот эта строчка:
my_txt.wordWrap = true;


Однако, ФП отчего-то очень умный smile.gif По идее этот пример из хелпа НЕ должен работать. Т.к. по умолчанию у текстового поля свойство multiline=false
Но пример работает smile.gif (CS3), хотя текстовое поле явно Single line (явный бред - мы же своими глазами видим что строчек много!!!)

Обратный ход на CS3 не работает:

Код
this.createTextField("my_txt", 99, 10, 10, 100, 200);
my_txt.text = "This is very long text that will certainly extend beyond the width of this text field";
my_txt.border = true;
// Вот эта строчка:
my_txt.multiline= true;


Однако, если добавить текстовое поле не кодом, а вручную в редакторе, то выставляя свойство поля в multiline мы автоматически прописываем свойство wordWrap=true. Именно поэтому пример MustLive помог. smile.gif

Сообщение отредактировал chingachgoog - 10.09.2010 - 12:02
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 10.09.2010 - 14:38
Сообщение #15


Ветеран конференции
****

Группа: Flash Zone Team
Сообщений: 3912
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Цитата
Именно поэтому пример MustLive помог.

Именно поэтому эти методы являются эквивалентными, как я сказал. Установка мультилайна в свойствах - это визуальный метод задания wordWrap (т.е. переноса строк). И для тех кто создаёт текстовые поля вручную нужно пользоваться им. В AS свойство multiline не является эквивалентном, им есть свойство wordWrap.

Цитата
Однако, ФП отчего-то очень умный

Не он умный, а умные разработчики smile.gif. Так сделали Макромедиевцы, а Адобовцы так и оставили. Отчего они не сделали отдельного поля задания wordWrap в панеле свойств - это вопрос к ним (похоже, что из-за лени). Поэтому для визуального задания переноса строк (без использования кода) нужно использовать указанный мною метод.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 5.11.2010 - 05:17