Номер страницы

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

sonar

Участник
Топикстартер
Сообщения
73
Реакции
0
Есть цепочка фреймов на нескольких страницах.
Выделяем любой і делаем:

var myDocument = app.activeDocument;
var myFrame = myDocument.selection[0].parentStory;
var myParagraphs = myFrame.paragraphs;

for (var i = 0; myCounter < myParagraphs.length; i++) {

var myCurrentParagraph = myParagraphs;
var myFrame1 = myCurrentParagraph.parent;//Думал получу фрейм, а там стори!!!
var myPage = myFrame.name;


Вопрос: как узнать номер страницы на каторой размещён myParagraphs
На var myPage = myFrame.name выдаёт ошибку, потому что в пропертисах стори namе НЕТ!!!

Такое ощещение что я не туда смотрю, а??? %/
 
Ответ: Номер страницы

Любопытно, на чем основано было ожидание увидеть родителем параграфа текстовый фрейм?
Такое ощещение что я не туда смотрю, а???
Правильное ощещение. Надо смотреть в документацию.
У объекта Paragraph есть такое свойство parentTextFrames. "The text frame(s) containing the object." Ундерстенд?
И нет такого свойства name у объекта TextFrame.

Открываем документацию и читаем.
 
Ответ: Номер страницы

Ша попробую!!!
Возник новый вопрос: где взять описание синтаксиса для JS, а то сильно достало методом тыка искать правильный вариант
 
Ответ: Номер страницы

где взять описание
Поискать в дистрибутиве CS2 волшебный файлик "InDesign CS2 Scripting Reference.pdf"
 
Ответ: Номер страницы

Их есть у меня, а мне надо СИНТАКСИС, тоесть как правильно запистить шоб заработало!!!
 
Ответ: Номер страницы

Чего надо??? Синтаксис? О синтаксисе JavaScript писано-переписано. Набираем в тындексе, рамблере, гугле, яхе "JavaScript" и имеем тонны сайтов, посвященных JS.

тоесть как правильно запистить шоб заработало
Как в случае и с русским языком, сначала освоить грамоту.
 
Ответ: Номер страницы

Сделал с учётом того что вы говорили (пост №2),

var myDocument = app.activeDocument;
var myStory = myDocument.selection[0].parentStory;
var myParagraphs = myStory.paragraphs;

for (var i = 0; i < myParagraphs.length; i++) {

var myCurrentParagraph = myParagraphs;
var myFrame = myCurrentParagraph.parentTextFrames;
var myPage = myFrame.parent;//Выдает undefined !!!
//var myNumberPage = myPage.name;
}

в результате получил объект фрейм и он имеет только одно свойство - length, а как отсюда добратся к странице, а потом к ее номеру незнаю (интересно что сия последовательность в CS работает,а в CS2 нет)
 
Ответ: Номер страницы

Попробуйте
var myFrame = myCurrentParagraph.parentTextFrames[0];
 
Ответ: Номер страницы

parentTextFrames — множественное число!!! Это массив из текстовых фреймов, в котором может быть один элемент, а может быть много или вообще ни одного.
Как добраться до первого элемента в массиве, Дмитрий уже указал. Добавлю лишь то, что параграф может находиться вне фрейма, например, в состоянии overflow. Поэтому следует "оборачивать" данный запрос в try... catch(), чтобы не нарваться на ошибку.
 
Ответ: Номер страницы

Ура!!! заработало!! Всем спасибо. Теперь признаюсь нафиг оно мне нужно было. Есть акой скрипт PoemsContent, скачал его с http://toolbox.rudtp.ru/index.php?id=106. Там написано что он для 3-й и 4-й версий ИД, но не тут то было!!!! В 3-й он рабатает а в 4-й выдает ошибку. пробовал разобратся сам но не смог потому и просил помощи.

Возникли два вопроса:
1. Почему виставляются скрипты с ошибками (не все же посетители сайта крутые скриптописатели)
2. Почему скрипты для разных версий ИД имеют отличия, по моему ето совсем не логично. В даной ситуации я так и не смог понять почему в 3-м ИД строка var myFrame = myCurrentParagraph.parentTextFrames; возвращает фрейм с кучей свойств, а в 4-й нужно еще его виделить (не знаю как правильно виразиться). В документации негде не сказано что в этом случае возвращается масив, а сказано:

Тype: TextFrame, TextPath
Description: The text frame(s) containing the object.

С моим скудным знанием английского я понял что возвращатся долежен текстовый фрейм. Или всё дело в (s) который прозрачно намекает что может и не один фрейм. Ну тогда бы прямо и написали в документации
Тype: Array of TextFrames, и всё бы стало ясно!!!

Извините за многословность :)
 
Ответ: Номер страницы

sonar сказал(а):
1. Почему виставляются скрипты с ошибками (не все же посетители сайта крутые скриптописатели)
Довольно сложно предусмотреть все варианты сред, в которых будет использоваться скрипт. Как правило всегда находится несколько пользователей, у которых скрипт по разным причинам работать не будет. В этом случае нужно обращаться напрямую к автору, он наверняка поможет - или исправит, или объяснит почему не работает.
2. Почему скрипты для разных версий ИД имеют отличия, по моему ето совсем не логично.
Программа обновляется до новой версии, и вместе с ней совершенствуется скриптинг. Ничего странного, все закономерно - все течет, все изменяется...
 
Ответ: Номер страницы

А как нащёт

sonar сказал(а):
Тype: TextFrame, TextPath
Description: The text frame(s) containing the object.

С моим скудным знанием английского я понял что возвращатся долежен текстовый фрейм. Или всё дело в (s) который прозрачно намекает что может и не один фрейм. Ну тогда бы прямо и написали в документации
Тype: Array of TextFrames, и всё бы стало ясно!!!

Это ошибка в документации или я не так понял!
 
Ответ: Номер страницы

В документации все правильно, вы не так поняли.
 
Ответ: Номер страницы

Печально, сколько ещё бутет таких мелких непоняток, в результате которых возникают большие проблемы!
 
Ответ: Номер страницы

Давай начнем с того, что myParagraph может и не поместиться в одном фрейме и занять и 5, и 10, и 15 фремов. Каждый, в свою очередь, может лежать на разной полосе.
Алгоритм такой:
1. берем твой параграф
2. определяем позицию в стори какого-то символа из абзаца
3. находим фрейм из связки в котором этот индекс
4. развлекаемся.
 
Ответ: Номер страницы

скрипты с ошибками

Ура!!! заработало!! Всем спасибо. Теперь признаюсь, нафиг оно мне нужно было. Есть такой скрипт PoemsContent, скачал его с http://toolbox.rudtp.ru/index.php?id=106. Там написано, что он для 3-й и 4-й версий ИД, но не тут-то было!!!! В 3-й он рабатает, а в 4-й выдает ошибку. пробовал разобратся сам, но не смог, потому и просил помощи.

Возникли два вопроса:
1. Почему выставляются скрипты с ошибками (не все же посетители сайта крутые скриптописатели);
2. Почему скрипты для разных версий ИД имеют отличия, по-моему это совсем нелогично. В даной ситуации я так и не смог понять, почему в 3-м ИД строка var myFrame = myCurrentParagraph.parentTextFrames; возвращает фрейм с кучей свойств, а в 4-й нужно еще его выделить (не знаю, как правильно выразиться). В документации нигде не сказано, что в этом случае возвращается маив, а сказано:

Тype: TextFrame, TextPath
Description: The text frame(s) containing the object.

С моим скудным знанием английского я понял, что возвращатся должен текстовый фрейм. Или всё дело в (s) который прозрачно намекает, что может и не один фрейм. Ну, тогда бы прямо и написали в документации
Тype: Array of TextFrames, и всё бы стало ясно!!!
И какую оценку ставить?
 
Ответ: Номер страницы

vbatushev сказал(а):
И какую оценку ставить?

Если хотели обидеть то у вас не получилось. А по сути: на руском не розговаривал уже более 10 лет, так как жыву на Украине (даже если ко мне обращаються на руском отвичаю на государственом из принципа). Так что грамоту руского языка забыл давным давно. Руский мной используеться только для чтения книг, общения в форумах (типа этого, так как мы жили когдато в одной империи и там этот язык должны били знать все в принудительном порядке) и сёма девок в клубе. Во всех случаях на грамоту смотрят сквозь пальцы!!! Главное донести смысл сказаново.
 
Ответ: Номер страницы

Strizh сказал(а):
Алгоритм такой:
1. берем твой параграф
2. определяем позицию в стори какого-то символа из абзаца
3. находим фрейм из связки в котором этот индекс
4. развлекаемся.
Но ведь и символ может лежать в 5, 10 или 15 фрейме.
 
Ответ: Номер страницы

sonar сказал(а):
Но ведь и символ может лежать в 5, 10 или 15 фрейме.
Не путаем 2 вещи: "занять и 5, и 10, и 15 фремОВ" и "лежать в 5, 10 или 15 фреймЕ".
 
Ответ: Номер страницы

Если хотели обидеть то у вас не получилось.
Господь с Вами, какие обиды. Я Вам привел Ваш же собственный текст в ответ на Ваши недоумения по поводу ошибок в скриптах.
Что же касается "из принципа", то весьма забавно, что клятый москальско-имперский язык Вы используете в образовательных целях. Вы из принципа отвечаете на державной мове, я, как модератор, из похожего же принципа могу требовать изъясняться на данном форуме на русском языке. Причем желательно приближенном к литературному. И дело не в "имперкскости" мышления и не великодержавном шовинизме, а в том, что моя задача здесь как раз в облегчении общения. "Главное донести смысл сказаново." Вот-вот, в этом самом. О том, что понять Вас нелегко, свидетельствует последний ответ Strizh'а.
Кроме того, "украинский" язык пуктуационно фактически не отличается от русского. Запятые Вам неведомы ни русском, ни в "украинском".

Поэтому если Вы столь принципиальны и хотите, чтобы Ваши принципы уважались, уважайте и наши. В том числе и наш язык.
 
Статус
Закрыто для дальнейших ответов.