Глюк в скрипте

Статус
Закрыто для дальнейших ответов.

dersk

Участник
Топикстартер
Сообщения
13
Реакции
0
Написал вот такой маленький скрипт для удаленя текстовых блоков.
(пришлось, так как из-за проблемы с CE версией текст не кривится нормально). А он почему то удаляет фреймы через 1. Даже странно.
Вот сам текст скрипта
with (app)
{
var myDoc = app.activeDocument;
//var mylength = myDoc.textFrames.length;
alert (mylength);
for (myCounter=0; myCounter< myDoc.textFrames.length; myCounter++){
//alert (myDoc.textFrames.length)
myDoc.textFrames[myCounter].remove();
alert (myCounter)
}
}
exit();
алерты я ставил, чтобы счетчик посмотреть
 

vbatushev

20 лет на форуме
Сообщения
2 242
Реакции
1 227
Ответ: Глюк в скрипте

PHP:
with (app) {
var myDoc = app.activeDocument;
for (myCounter = myDoc.textFrames.length; myCounter > -1; myCounter--){
if (myDoc.TextFrames[myCounter].characters.length == 0) {
       myDoc.textFrames[myCounter].remove();
}
}
exit();
И всё будет хорошо :)
 

dersk

Участник
Топикстартер
Сообщения
13
Реакции
0
Ответ: Глюк в скрипте

То есть счетчик работает в другую сторону? или тут еще что-то?
 

vbatushev

20 лет на форуме
Сообщения
2 242
Реакции
1 227
Ответ: Глюк в скрипте

Счетчик работает в ту сторону, в которую скажешь :)
Но говорить ему нужно, что работать надо с конца :) Просто после удаления объекта из группы объектов они (объекты) перестраиваются и ты вместо того, чтобы удалить необходимый, промахиваешься и удаляешь следующий за ним :) Это в том случае, если счетчик мотает с начала.
Единственное "еще что-то" – это проверка фрейма на наличие текста.
 
Статус
Закрыто для дальнейших ответов.