Render.ru

По поводу UltraBorder.

Константин К.

Активный участник
Рейтинг
5
#1
По моему, если вместо блока:

var myStartSelection = myCurrentParagraph.characters[0].index;
var myEndSelection = myCurrentParagraph.character[myCurrentParagraph.characters.length-2].index;
var mySelectedText = myStory.characters.itemByRange(myStartSelection, myEndSelection);
var myTable = mySelectedText.convertToTable();

поставить:

var myTable = myCurrentParagraph.convertToTable();
...
//Удалим лишнюю строку
myTable.rows[1].remove();

то скрипт работает быстрее. Только нужно еще как-то после myCurrentParagraph вставить еще один ^p, иначе следующий параграф становится того же стиля, что и myCurrentParagraph.

Вопрос как?
 
#2
А то, конечно, этот вариант не был опробован...
Ты сначала сделай, чтобы не было "еще как-то", а потом пости в форум.
Извини за резкость, просто мы с Олегом параллельно и независимо делали скрипт на одну и ту же тему и я убил на попытки "еще как-то" не один вечер, а в результате решение Бутрина оказалось красивее и проще.
 

Константин К.

Активный участник
Рейтинг
5
#3
Вот, нашел (справочник по PHP помог):

...

myCurrentParagraph.contents = myCurrentParagraph.contents + "\r";

var myTable = myCurrentParagraph.convertToTable();
myTable.rows[1].remove();

...

Кстати, вопрос: для трассировки я ставил $.level = 2, потом изменил на 0. Однако при вызове по комбинации клавиш все равно дебаггер вываливается, даже если ошибок нет. Почему?
 
#4
Другое дело :)
Если не затруднит, отошли получившийся скрипт либо Бутрину, либо мне, мы пометим включенный код, как твой, и выложим на сайте.

С дебаггером я не разбирался, попробуй задать вопрос напрямую в adobeforums.com.
 

Константин К.

Активный участник
Рейтинг
5
#5
Да смысл, что то пересылать — всего три строки добавлено. Думаю, что вам будет проще самим исправить, да и помечать три строки кода как свои — тоже не вижу необходимости.

graphics.ru и indesign.rudtp.ru дали мне намного больше. :)
 
#6
Можно, конечно, провести замеры, НО!
Сдается мне, что хотя бы количество операций (3 против одной!) должны давать не ускорение, а затормаживание. Тем более, если 2 из них манипулируют таблицами (проверено на опыте, что таблицы в ИД самые "медленные" объекты). Так что я пока в сомнении.
 

Константин К.

Активный участник
Рейтинг
5
#7
Я верстаю газету, в ней около 4.000 объявлений. Часть из них выделяется рамкой. Запуская скрипт в оригинале, я прождал около 10 мин. и так и не дождался окончания работы скрипта. После изменений, я получил результат приблизительно через 3 мин.

Сначала сделал скрипт только для преобразования только выделенного параграфа, тоже через Selection.convertToTable. Скрипт работал быстро в начале публикации (текста), ближе к концу публикации, приходилось уже ждать больше половины минуты, что меня не устраивало, поэтому сначала переводил текст в таблицу, а потом скриптом устанавливал ее атрибуты.

Я так подозреваю, что дело именно в работе с Selection...
 
#8
Ладно, в грядущем скоро релизе я это учту... когда проверю :)
Через две недели примерно намечается выход второй версии (значительно улучшенной), может быть, эта мысль и имеет право быть. Хотя мы с Батушевым уже проверяли подобный случай.
 
Сверху