Работа со строками - ж...??

  • Автор темы Автор темы evgeni007
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

evgeni007

Участник
Топикстартер
Сообщения
17
Реакции
0
Я толи чего-то непонимаю. Просветите.

код типа
var str="Helloworld";
str[5]=" ";
не работает ID ругается read only.

приходится писать что-то типа.

tmp=str.substring(0;5)+" "+str.substring(5;str.length);
str=tmp;
или еще дурнее. Неужели это никак обойти нельзя.
Это не красиво сложно в чтении...
 
Ответ: Работа со строками - ж...??

А с чего это вдруг ты к строке словно к массиву обращаешься???
Да и с сабстрингами тоже намутил.

PHP:
var str="Helloworld";
str = str.substring(5;1);
 
Ответ: Работа со строками - ж...??

Строка - она не совсем массив, хотя обращение вида myString[5] вполне уместно. Менять напрямую значения не допускается - во избежание ошибок или неявной смены типа. Но отсюда вполне здравая мысль: сделать из строки массив, обработать его и закатать назад в строку. Читабельно, быстро и ясно. Например, вот так:
PHP:
var myString = "Helloword";
var myArr = myString.split("");
myArr[5] = " " + myArr[5];
myString = myArr.join("");
 
Ответ: Работа со строками - ж...??

Мой предыдущий пост считать недействительным. :)
 
Ответ: Работа со строками - ж...??

Все равно странно. В C неправильное употребление чего-либо приводит к падению программы, зато быстродействие и эффективность. Для того чтобы редактировать текстовой фрейм размером скажем 5000 символов это сколько туда обратно. У Adobe я описание string не нашел, поэтому вроде должно быть как в JS для web. Да и reg exp то же странно:
\u002e вроде как должна быть точка, это точка, только которая обозначает, что это любой символ кроме перевода строки и даже \., то же не точка и только \\. точка.
А вообще есть какая-нибудь литература, где "философия" языка описана и всякие премудрости. Например сделать символо полужирным по идеи в string должно быть что-то ан нет. А как. Если стоит read only.
 
Ответ: Работа со строками - ж...??

Не путай String как базовый объект javascript, не привязанный к app никоим боком (все операции со строками вполне выполняются и вне app) с текстовыми объектами в самом ID. Это две большие разницы. Текстовый фрейм - это текстовый фрейм, контент его - это контент (тип string).
 
Ответ: Работа со строками - ж...??

evgeni007 сказал(а):
Все равно странно. В C неправильное употребление чего-либо приводит к падению программы, зато быстродействие и эффективность.
Cи, ровно как и С++ - строго типизированный язык.
при не совпадении (невозможности приведения) типов, компилятор ругнется и не пустит дальше! а не упадет программа.


evgeni007 сказал(а):
Для того чтобы редактировать текстовой фрейм размером скажем 5000 символов это сколько туда обратно.
Столько, сколько нужно. Пиши на С++ - благо Адоб этому не препятсвует.
Если интересно, могу ссылками поделиться.

evgeni007 сказал(а):
У Adobe я описание string не нашел, поэтому вроде должно быть как в JS для web. Да и reg exp то же странно:
\u002e вроде как должна быть точка, это точка, только которая обозначает, что это любой символ кроме перевода строки и даже \., то же не точка и только \\. точка.
А вообще есть какая-нибудь литература, где "философия" языка описана и всякие премудрости.
Ну если разговор зашел о Си, то давайте вспомним, обратный слеш, значит, что после него, следует служебный символ. Пример "\n", "\r".
Что бы поставить обратный слеш, нужно его продублировать "\\". Идем дальше, в РегЭксп, точка - служебный символ, обозначающий любой символ, что бы обозначить точку, перед ней нужно поставить обратный слеш, смотрим выше, что бы поставить слеш, нужно его продублировать => поэтому получается "\\."

evgeni007 сказал(а):
Например сделать символо полужирным по идеи в string должно быть что-то ан нет. А как. Если стоит read only.
Строка, содержит только набор символов, и никакого форматироания.
Форматирование содержится отдельно. Если брать ИД, то там есть целых 4 Strand`а
kTextDataStrandBoss - содержит сам текст.
kParaAttrStrandBoss - содержит абзацные атрибуты.
kCharAttrStrandBoss - содержит символьные атрибуты.
kOwnedItemStrandBoss - содержит "собственные" "итемы", т.е. сноски, таблицы, инлайн графику.

Если есть вопросы, пишите, растолкуем.
 
Ответ: Работа со строками - ж...??

int i=65280;
char c=i;
printf("%d", i/c);

Упадет и слова не скажет, что байт потеряли. Это не Паскаль.
Разговор на самом деле не о том. Я уже скачал с Adobe 40 метров о JS. Не в коня корм наверное. Там о kTextDataStrandBoss слова даже нет. Мож не оттуда качал. Правда там как с документами работать описано неплохо. Если можно ссылки киньте. Вообще для изучения языка надо понять что он может и как это сделать. MSDN для MFC довольно понятно написано. Класс, иерархия, методы, что они делают пример на тему.

P.S. И строка PHP код: к чему бы это.
 
Ответ: Работа со строками - ж...??

evgeni007 сказал(а):
int i=65280;
char c=i;
printf("%d", i/c);

Упадет и слова не скажет, что байт потеряли.

перед тем как на 0 делить провериться надо!

evgeni007 сказал(а):
Там о kTextDataStrandBoss слова даже нет. Мож не оттуда качал. Правда там как с документами работать описано неплохо. Если можно ссылки киньте.
Нужно скачать 170 метров с сайта адоб, там интерфейсы для работы с ИД на С++, 1400 полос документации. ну и примеров масса.
А скачать все это можно
тут
 
Статус
Закрыто для дальнейших ответов.