Какая связь между alert и resize?

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

Ruvv

Топикстартер
12 лет на форуме
Сообщения
33
Реакции
0
Господа, я тут пытаюсь создать скрипти для замены текста картинками. Все вроде прожевал, но еще надо под конец изменить размеры картинок. И тут что-то я впал в ступор. С функцией alert () все работает (в скрипте закоментированна), стоит ее убрать - индиз выдает ошибку: Недопустимый объект для данного запроса. Я уже башку сломал - какая связь тут. Помогите, кто знает. Индиз 3-й.

скрипт:
app.scriptPreferences.version = 4;
with (app) {
var myStory = selection[0].parentStory;
for (i=0; i<myStory.paragraphs.length; i++) {
var re = new RegExp("(\\[img\\])(.*)(\\[/img\\])", "ig");
var arr = re.exec(myStory.paragraphs.contents);
if (arr != null) {
var myFindResult = myStory.search(arr[1] + arr[2] + arr[3], undefined, false);
myPlacedObject = myFindResult[0].place(File(arr[2]));
//alert ("");
myObject = myPlacedObject.parent;
myObject.resize(50, 50, AnchorPoint.topLeftAnchor, false, true, false);
}
}
exit();
}

и текст, над которым проходят опыты:

- Девушка, а можно мне с вами немножко посидеть?
0001.tif

- Немножко не получится, со мной седеют сразу на всю голову.
0002.tif


Картинки цеплять не буду, понятно, что любые.
 
Ответ: Какая связь между alert и resize?

Ruvv сказал(а):
Во-первых, судя по нижеследующему, индиз все-таки 5-й.
PHP:
app.scriptPreferences.version = 4;
Во-вторых, связи между alert и resize не существует однозначно.
В-третьих, зачем изобретать велосипед, если нужный вам скрипт давным-давно написан: http://toolbox.rudtp.ru/index.php?id=42
 
Ответ: Какая связь между alert и resize?

индиз из пакета cs3

скрипт importtg не подходит. Он берет файлы из ОДНОЙ папки, а у меня все пути будут разные. Перед тем как писать, я наверное уж обшарил весь инет в поисках нужного, и даже автора этого скрипта просил помочь.

И так просьба помочь к тем, КТО ЗНАЕТ где ошибка в скрипте?
 
Ответ: Какая связь между alert и resize?

Rectangle не имеет метода resize

myObject.horizontalScale=50;
myObject.verticalScale=50;
 
Ответ: Какая связь между alert и resize?

Maks_Tsofin сказал(а):
Rectangle не имеет метода resize

Спасибо, помогло вроде.
Но все же интересно, почему тогда с alert и resize работает и индиз даже не ругается. Я конечно понимаю, что связи нет, но может функция alert() втихаря преобразует тип объекта, к примеру в Image?
 
Ответ: Какая связь между alert и resize?

В продолжение темы:

Господа, может кто сказать, почему скрипт после нормальной вставки и изменения размеров картинки (примерно после 20 штук) вылетает с ошибкой "это значение выведет по меньшей мере один объект за пределы монтажного стола", источник "myObject.horizontalScale=percent;". Причем не зависит от текста, картинок, все проверено. И даже если вместо переменной percent ввести просто число, отличное от 100, все равно вылетает. Ширина колонки также роли не играет.

app.scriptPreferences.version = 4;
with (app) {
var myStory = selection[0].parentStory;
var widthcolumns = 28.33;
for (i=0; i<myStory.paragraphs.length; i++) {
var re = new RegExp("(\\[i\\])(.*?)(\\[/i\\])", "ig");
var arr = re.exec(myStory.paragraphs.contents);
if (arr != null) {
var myFindResult = myStory.search(arr[1] + arr[2] + arr[3], undefined, false);
var myPlacedObject = myFindResult[0].place(File(arr[2]));
var myObject = myPlacedObject.parent;
var percent = (widthcolumns * 100 / myObject.visibleBounds[3]);
myObject.horizontalScale=percent;
myObject.verticalScale=percent;
}
}
exit();
}
 
Ответ: Какая связь между alert и resize?

Попробуй в обратном порядке
 
Ответ: Какая связь между alert и resize?

Maks_Tsofin сказал(а):
Попробуй в обратном порядке

Что именно? Горизонталь и вертикаль? Безрезультатно. Замечено, что скриптик вылетает при переходе вставляемых объектов на новую страницу. Буду копать в сторону ActivePage. Или хана.

P.S. Уроды из Эдобы - как хорошо с inline graphics было в пижаме!
 
Ответ: Какая связь между alert и resize?

Параграфы.
 
Ответ: Какая связь между alert и resize?

Maks_Tsofin сказал(а):

Никакого отношения.

Скрипт заработал. Если кому интересно, проблема была в активной странице. Скрипт тупо тыкался на страницу с первым фреймом, хотя фотки вставлялись уже на следующую.

Медленно немного работает. Жалко, что в билдере нельзя писать скрипты для индиза.
 
Ответ: Какая связь между alert и resize?

В билдере можно писать скрипты для индиза. Будет работать также медленно.
 
Ответ: Какая связь между alert и resize?

Specialist сказал(а):
В билдере можно писать скрипты для индиза. Будет работать также медленно.

Во как! Мне все твердят, что нельзя, только Visual Studio. И в документации к SDK также написано. Скажите, что нужно для билдера и где взять? Просто мне намного проще писать на C++, чем возиться с явой.
 
Ответ: Какая связь между alert и resize?

Ruvv Вам говорили, что билдер не подходит для написания ПЛАГИНОВ, там только Visual Studio. Про СКРИПТЫ речи не было...
 
Ответ: Какая связь между alert и resize?

Ruvv сказал(а):
Просто мне намного проще писать на C++, чем возиться с явой.

Хотел бы я сказать тоже самое про самого себя. :D
 
Ответ: Какая связь между alert и resize?

sakhar сказал(а):
Ruvv Вам говорили, что билдер не подходит для написания ПЛАГИНОВ, там только Visual Studio. Про СКРИПТЫ речи не было...

А давайте о скриптах мне, глупому, разжуйте. Смотрим первый пост этой темы: реально ли скрипт реализовать на C++ в билдере и что для этого нужно? Где взять хэдеры, библиотеки, классы?
 
Ответ: Какая связь между alert и resize?

Ruvv сказал(а):
А давайте о скриптах мне, глупому, разжуйте. Смотрим первый пост этой темы: реально ли скрипт реализовать на C++ в билдере и что для этого нужно? Где взять хэдеры, библиотеки, классы?
Какие хидера вам нужны для билдера? Для работы с COM?
 
Ответ: Какая связь между alert и resize?

Strizh сказал(а):
Какие хидера вам нужны для билдера? Для работы с COM?

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