Как называется "insertionPoint", Или что я нашел?

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

kona

Участник
Топикстартер
Сообщения
28
Реакции
0
ameridian сказал(а):
И еще вопрос по search. Он возвращает массив Text. Это все объекты которые он находит?
Oleg Butrin сказал(а):
InsertionPoin - это объект между знаками в тексте.
написав
PHP:
...
myRes = = myStory.search("Well", True, False, "");
alert (myRes[0]);  // Что в первом элементе?
вижу : insertionPoint

раскидываю мозги: нечто нашлось между знаками?

смотрю в доку: оказывется между знаками моного чего найтись может - даж такое свойство как baseline!
Я этого не искал, - 7 странц свойств мне ни к чему.
Меня интересует позиция того, что искал, но свойстово "position" я тож не знаю как юзать.
может "index"? - но при чем здесь родитель?

Поиском по форуму :( документация без форума - как кости без рыбы )- нашел: нечто вроде parentTextFrames может помочь,

Но как?
где это обсуждалось 10**10 раз?
где тут есть тема "ЧаВо"?
 
Ответ: Как называется "insertionPoint", Или что я нашел?

А зачем два знака равно? Непонятно как это вообще работает...
 
Ответ: Как называется "insertionPoint", Или что я нашел?

sakhar сказал(а):
А зачем два знака равно? Непонятно как это вообще работает...
Прощенья просим - делал не Copy-Paste, а дрожащими ручками по новой набирал. С домашего компа. Кусочек работы по памяти. В CS.
 
Ответ: Как называется "insertionPoint", Или что я нашел?

Во-первых, true и false нужно писать с маленькой буквы.
Во-вторых, если changePreference не определены, то нужно указывать не "", а undefined. В противном случае он все найденное удаляет.

PHP:
myRes = myStory.search("Well", true, false, undefined); 
alert(myRes[0].index);
 
Ответ: Как называется "insertionPoint", Или что я нашел?

Спасибо.
Сабж исчерпан?
 
кто ленится больше?

Спасибо.

Значит все-таки "index"

Но что есть родитель?
Глянул на описание - родителей может быть ой как много!
1) parent
2) parentStory
3) parenTextFrame

Спецы, неужто это множественное наследование??
Poдители, вижу, тут конкретные объекты, а не классы.
Пока непонятны термины, гайд и референс смотреть бесполезно.

Часто в типе свойства вижу object - дык на базовом классе надстроить что угодно получится (авторы доки посылают на все стороны)
Ленятся не только скриптописатели, но и метоскриптописаки -
(видать ленью нас адовобцы заразили() Только когда ленюсь я, работает кремний, а когда ленятся ребята из индюковских писателей (В иле - без лени) - шевелиться нам. Извиняюсь за офтоп

В форуме нашел, что если фрейм на полосе, то родитель - полоса.
а каки про другие варьянты выяснить (вряд ли их много).
Есть древо потенциальных "семейных" отношений?
Или тут родитель - это владелец свойства?
тогда выходит, что родителькие отношения - не дерево, а сеть.
Просветите плз
 
Ответ: кто ленится больше?

Много букв, смыфл не понял...
Про координаты текста тема двухлетней давности:
http://forum.rudtp.ru/showthread.ph...EE%EE%F0%E4%E8%ED%E0%F2%FB+%F2%E5%EA%F1%F2%E0

Родитель - понятие внеклассовое. Не то, от чего произошел, а тот, кто содержит.

Если фрейм не на странице, то он либо на мастере, либо на развороте.

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

Oleg Butrin сказал(а):
Но так и не понял, о чем конкретно хочет узнать автор.
Уважемый Олег, Вы сообщили очень необходимую и недостающую мне информацию даже в такой ситуации. Меня интересовали как раз исчерпывающие альтернативы как эта.
Oleg Butrin сказал(а):
Если фрейм не на странице, то он либо на мастере, либо на развороте.
я это мог бы предположить, но мне важно, что других вариантов нет (а мож там в буфере или в библиотеке что объявится, а у меня на это ветки нет). Как раз таких общеобзорных знаний мне и не хватает- еще такого хОчу. Вот освою местные понятия, тогда перестану глупости постить, а пока не судите строго.

у мня полный Вавилон понятий 'Oo'
Ваше, реляционное оределение
Oleg Butrin сказал(а):
Родитель - понятие внеклассовое. Не то, от чего произошел, а тот, кто содержит наследников
я лишь полгода в альмаматер зубрил,
А 4 года я выучивал (вместе с полиморфизмом и инкапсуляцией) что:
1. Классы А и В находятся в отношении "клиент-поставщик", если одним из полей класса В является объект класса А. Класс А называется поставщиком класса В, класс В называется клиентом класса А.
2. Классы А и В находятся в отношении "родитель - наследник", если при объявлении класса В класс А указан в качестве родительского класса. Класс А называется родителем (прототипом) класса В, класс В называется наследником класса А.

Да и эта статья про наследование в JS мне только тяни-толкай меня :)

Может Вы подскажет какую ссылку про наследование в JS в правильном ключе.
IMHO:
По гайду можно научиться быть лишь кодером, но не самому придумывать программы. Придумывать, думать, расширять пространстово возможных состояний будущей программы-скрипта без общефилософских подходов и знаний, нарытых по крупицам из этого форума я уже не смогу ( ..ой, опять меня занудно поперло) Извините что не так - говорите - буду исправляться.
 
Ответ: Как называется "insertionPoint", Или что я нашел?

kona
Судя по терминам, ты хорошо разбираешься в С(С++). В JS надо по-другому...

А вообще parent и есть тот родитель, что ты ищешь. Попробуй сделать
PHP:
alert(app.myRes[0].parentTextFrame.parent);
и увидишь чему принадлежит родительский фрейм для первого найденного элемента.
И еще - перед использованием поиска лучше делать
PHP:
findPreferences = null; 
changePreferences = null;
иначе рискуешь "учесть" установки предыдущего поиска. Да и после поиска почистить за собой неплохо.

зы: а про множественное наследование ты прав - текст во фрейме одновременно принадлежит своей story, а так же textFrame.
 
Ответ: Как называется "insertionPoint", Или что я нашел?

Да не наследование это! И блин не классы, а объекты, а посему parent - это не родительский класс, а объект-родитель. А то я бы посмотрел, как фрейм может содержать insertionPoint, которая в свою очередь содержит текстовый фрейм, в котором опять-таки понатыкано insertionPoints куча, каждый из которых тоже может содержать текстовый фрейм.
 
Ответ: Как называется "insertionPoint", Или что я нашел?

ragman сказал(а):
Судя по терминам, ты хорошо разбираешься в С(С++). В JS надо по-другому...
Вот-вот! - оттого-то меня и крезит.
И сдается мне что по-другому много где.

Послушаю-ка я что спецы про термины - подходы молвят.

А наследование, как вложение в теории реляционных база данных рассматривается. - и почему в адобовской доке такой подход?
 
Ответ: кто ленится больше?

Oleg Butrin сказал(а):
Если фрейм не на странице, то он либо на мастере, либо на развороте.
Принимая как руководство к действию и догадываясь, что при этом он вдобавок может и в групппе оказаться, пытаюсь сообразить функцию, возвращающую "предка" фрейма.
Код:
function toOwnerPage ( myFrame ) {
var  owner = myFrame.parent;
     while( (owner.constructor.name != "Page") && (owner.constructor.name != "Spread")  ) {
		owner = owner.parent
//		alert('БЫЛ Владелец:  \n' + owner.constructor.name+ '\n\n' +'СТАЛ Владелец:  \n' + owner.parent.constructor.name);
        if (owner.constructor.name == "Application" ) { // чтоб не зависало, коли я не все варианты перебрал
           alert ( "good owner not finded!!" );
           return ;
        }
     }   
return owner;
}

А вот с мастером непонятно - его как учесть?
 
Ответ: Как называется "insertionPoint", Или что я нашел?

Примерно так
PHP:
...
if (owner.parent.constructor.name  == "MasterSpread")
...
 
снкс - все сошлось

ааа - мастер это только разворот
готов о н -
ищу многословные "термины", занимающие абзац и добавляю к ним номера полос, где сии термины обнаружились.
т.е. пишу жалкое подобие инДекса, но мне надо искать вхождения абзацев, содержащих запятые - вот и изобретаю велосипед наново :(
Код:
{
...
myStory = selection[0].parentStory; // Было проверено, что нужное выделение есть !! -  может быть выделено либо "Text" либо "InsertionPoint"
   workParagraph = selection[0].paragraphs[0];
   for (n=0; n<myStory.paragraphs.length; n++) {// определим теперь его смещение в story на которой работаем с ним
      if (myStory.paragraphs[n] == workParagraph)  nP=n
   }
    workPageName = ToOwnerPage (workParagraph.parentTextFrame) .name // на этой полосе - образец поиска    
    soursePageName = ToOwnerPage (workParagraph.parentTextFrame) .name // на этой полосе - образец поиска	
	while ( workPageName == soursePageName){ // на текущей полосе (есть ошибочка - захватывает следующую)
 		workParagraph = myStory.paragraphs[nP++]; // перейдем на следующий параграф заранее
        txtReport = '';
        soursePageName = ToOwnerPage(workParagraph.parentTextFrame).name // на этой полосе - образец поиска
        line = workParagraph.contents;
        if (line.constructor.name != "String" ) { continue ; } // игнорируем спецсимволы Number
        findString = line.slice(0,-1);
        while( findString.slice(-1) == ' ') findString = findString.slice(0,-1) ; // Уберем в конце строки незначащие пробелы !
        if ( findString.length < 3 )  continue;                      // малышей пропускаем (это инициалы)          
  	    mySearch=myDoc.search( findString, false, false, undefined); //ищу вхождения текста получаю масссив  	    
		if (mySearch.length>0){
		   findPage = undefined ;              //  инициируем данные цикла
		   for (i=0; i<mySearch.length; i++) { //  раздербаниваем найденный массив
		      myTextFrame = mySearch[i].parentTextFrame; // (в CS2 - parenTextFrames), затем вытащим полосу  
              owner = ToOwnerPage ( myTextFrame ) ;      // используя функцию        
 		      if (owner.constructor.name == "Page" ) { \\  что- то я туточки перемудрил кжися с кучей иф-ов
 		         if ( owner.name ==  soursePageName) { continue; } //Исключим из обработки полосу с образцом
 		         if ( findPage == undefined){ // На первом найдёныше 
 		            findPage=owner.name       // запомним Первую найденнцю полосу
 	                txtReport += ' ' + findPage;   // и начнем отчет с пробела
                 } else { if (findPage == owner.name) { // Если в cледующей находке повтор полосы то 
 		                      continue;                 // ничего не делаем 
                          } else {                      // А в большинстве других случаев
 		                      findPage=owner.name       // запомним Новую полосу
 	                          txtReport += ', '+ findPage;   // и присовокупим к отчету
                 }        }   
 		      } else { // Находка не на полосе
		      }
		}  }  // Ecли вставку делать через insertionPoint то избежим сброса разметки в plain Text  - НО КАК ?????			
 		workParagraph.contents = findString +  txtReport  +  '\u000D';
   }
}

function ToOwnerPage ( myFrame ) {
var  owner = myFrame.parent;
     while( (owner.constructor.name != "Page") && (owner.constructor.name != "Spread") && (owner.parent.constructor.name  != "MasterSpread")  ) {
		owner = owner.parent
        if (owner.constructor.name == "Application" ) {
           alert ( " good owner not finded " );
           return ;
        }
     }   
return owner;
}
Может мои комменты помогут кому-то с поиском того, что я искал , а вы, профи, еже ли не лень - критикуйте и ругайте.
мучит меня вопрос как
Код:
workParagraph.contents = findString +  txtReport  +  '\u000D';
заменить так, чтобы разметка в plainText не сбивалась - слыхивал пресловутая insertionPoint тому сгодиться может.
 
Ответ: Как называется "insertionPoint", Или что я нашел?

Oleg Butrin сказал(а):
Да не наследование это! И блин не классы, а объекты, а посему parent - это не родительский класс, а объект-родитель. А то я бы посмотрел, как фрейм может содержать insertionPoint, которая в свою очередь содержит текстовый фрейм, в котором опять-таки понатыкано insertionPoints куча, каждый из которых тоже может содержать текстовый фрейм.
От лица шарпаных-с(#) прошу подтвердить в формулировке именно потенциальную ВОЗМОЖНОСЬ того, что "понатыкано insertionPoints куча", поскольку интуиция и опыт ( мне ) подсказывают что реальная куча экземпляров insertionPoint мало где присутствует 'hz' {тильки если специально "для кучи" их сгенерить}. — Я только вникаю в тему, поэтому мне важны оттенки смысла и уточнения. Спасибо.
 
Ответ: Как называется "insertionPoint", Или что я нашел?


Не по теме:
Ой, зачем столько комментов в коде?
И зачем на шарпе то?

 
Ответ: Как называется "insertionPoint", Или что я нашел?

Strizh сказал(а):

Не по теме:
Ой, зачем столько комментов в коде?
И зачем на шарпе то?

1-UP
 
Ответ: Как называется "insertionPoint", Или что я нашел?

Мне непонятно, что тебе непонятно.
Откуда куча insertionPoint? или еще что?
 
Ответ: Как называется "insertionPoint", Или что я нашел?

Strizh сказал(а):
Мне непонятно, что тебе непонятно.

Не по теме:
Сдается мне, что он нас грузит... :n)
 
Ответ: Как называется "insertionPoint", Или что я нашел?

sakhar сказал(а):
Сдается мне, что он нас грузит... :n)
да... это я сябя так...
...готов присоединиться к мнению двухлетней давности (где я тогда был? *( ) *(
Denissim сказал(а):
уважаемый, Эдобушка, зачем Вы такую COM модель задумали. Я плачу....
думу великую имею - вот и годил, но так и не надумал.
Дсительно, понатыкано этих воронок промеж каждой буковочки -- не ожидал...,
Но вот что там понатыкано? - выяснял так
Код:
var l;
myDoc=app.activeDocument;
with (app) {
   myStory = selection[0].parentStory; 
   alert ('IP Len=\n ' + myStory.insertionPoints.length);
   for (var i=0; i < myStory.insertionPoints.length ; i++ ){// перебрать все точки
     ip=myStory.insertionPoints[i];
     l=0;
     for (var j in ip) {
       alert ( i + '   ' + (++l) + '\n\n'+ 'element\n' + j + '\n\n' + ip[j] );
// как для кажддого свойства (экземпляра) определить  размер (в памяти) - sizeof() ? 
} } }
в алерты тыкать за&#$@, но после 80-го раза рантайм-егог :cry: :confused:
под надежным егогом хранит Эдобушка тайны свои
 
Статус
Закрыто для дальнейших ответов.