Передача параметров скрипту-2 (теперь в InDesign)

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

hulk1776

Топикстартер
15 лет на форуме
Сообщения
738
Реакции
21
Я хочу сделать подзвучку для обозначения окончания работы скрипта. (допустим, что я ее сделал). И вот вычитал в книге "Скрипты в Инди: руководство для умных дизайнеров и ленивых верстальщиков" следующее:
"С учетом постоянного использования этого скрипта, рационально выполнить его в виде функции и сохранить в файле библиотеки. В таком случае в начале любого скрипта достаточно будет вставить ссылку на библиотечный файл и в дальнейшем исп-ть его функции".
Что значит "сохранить в файле библиотеки"? Это в файле *.indl? И как должна выглядеть ссылка на такой библиотечный файл? Т.е. как это надо записать в теле другого скрипта?
 
Ответ: Если есть вопросы по скриптам

#include
 
Ответ: Если есть вопросы по скриптам

C #include относительно понятнj (спасибо).
А можно ли еще спросить?
Делаю скрипт для издания звука:
var mString = "tell application \"Play Sound\"\rplay \"Mac:Users:a.ivanov:Sounds:" + "copied.wav" + "\"\rend tell"
app.doScript(mStrtest, ScriptLanguage.applescriptLanguage);

Как надо правильно оформить вызов этого скрипта с параметром [вместо "copied.wav"] из другого скрипта?

Спасибо.
 
Ответ: Если есть вопросы по скриптам

Из этой темки (по предоставленной ссылки) я не понял вот что.
тамошний вопрос:
Директива #include просто подставляет содержимое файла в место вызова самой директивы, ведь так?
Как это поможет с передачей параметров?
тамошний ответ:
...
В этом случае в передаче параметров скрипту нет необходимости (конец цитаты )).

А как же все таки передать параметр-то? Т.е. я в одном файле определил строку 'Hello world'и собираюсь передать ее для исполнения директивой alert другим скриптом. Как это надо записать в передающем и в принимающем файлах?
p.s. я уже целый день жонглирую всеми видами скобок, вызовами/подвызовами, doscript'ами, parametrs, function и др. "умными словами" и результат "шиш" - "передаваемая переменная не определена".
 
Ответ: Если есть вопросы по скриптам

Директива #include просто подставляет содержимое файла в место вызова самой директивы, ведь так?
Да. При запуске скрипта выполняется внедряемый по #include код. То есть, если внутри этого кода вписать инициализацию переменных, то это и будет искомой передачей параметров. Еще можно просто записывать в текстовый файл и читать из него.
 
Ответ: Если есть вопросы по скриптам

ну как, в библиотеке

function foo(bar)
{
alert(bar);
}


а в скрипте вызываем foo("message");
 
Ответ: Если есть вопросы по скриптам

Не без трудов, но удалось добиться звука через функцию. Но возникли два новых вопроса:
Вопрос 1. "Образцовая" функция "foo" в примере вызывается из скрипта без директивы #include. А мой скрипт без такой директивы (#include скрипт с функцией) пишет, что "пересылаемая команда не функция". Т.е. ваш вариант работает без директивы, а мой нет - это правильно?

Вопрос 2. Команда app.doscript (и в скобках я указываю строку для applescript) не работает, пока я не написал #target indesign [пишется "app.doscript isn't a function"]. Разве это правильно? Хотя исполнение applescript не должно же быть привязано к программе верстки. То есть нельзя ли как-то заставить яву исполнить строку, предназначенную для applescript'a?
 
Ответ: Если есть вопросы по скриптам

"Образцовая" функция "foo" в примере вызывается из скрипта без директивы #include. А мой скрипт без такой директивы (#include скрипт с функцией) пишет, что "пересылаемая команда не функция". Т.е. ваш вариант работает без директивы, а мой нет - это правильно?
Внимательно почитайте предыдущее сообщение. Там же написано:

ну как, в библиотеке

function foo(bar)
{
alert(bar);
}
То есть, эта функция определена в библиотеке, подключаемой по #include

Команда app.doscript (и в скобках я указываю строку для applescript) не работает, пока я не написал #target indesign [пишется "app.doscript isn't a function"]. Разве это правильно?
Я уже на днях кидал ссылку про эту директиву http://adobeindesign.ru/2011/03/10/chto-za-dzhinn-etot-targetengine/
 
Ответ: Если есть вопросы по скриптам

Спасибо. По foo понял. По двигателю - почитаю. ))
 
Статус
Закрыто для дальнейших ответов.