MacCentre.ru Форум
Форум по компьютерам Mac, Mac OS X и продукции Apple
 
ПравилаПравила   FAQFAQ   ПоискПоиск  РегистрацияРегистрация   ПрофильПрофиль   Войти и проверить ЛСВойти и проверить ЛС   ВходВход 
К чему относится команда "activate" в applescript
Начать новую тему   Ответить на тему Список форумов MacCentre.ru Форум » Программирование и Beta-тестирование   
Автор Сообщение
EsTaF



Репутация: +12    

Зарегистрирован: 03.04.2007
Сообщения: 1427

СообщениеДобавлено: Сб Ноя 24, 2012 15:29
К чему относится команда "activate" в applescript
Ответить с цитатой

Она работает уже в самом приложении, или же до него?

Как пример:

Код:
on run {input, parameters}
   tell application "QuickTime Player 7"
      activate
      set openedMovies to count documents
      repeat openedMovies - 1 times
         set the current time of document 1 to 0
         select all of document 1
         copy document 1
         close document 1
         select none of document 1
         set the movie_length to the duration of document 1
         set current time of document 1 to movie_length
         add document 1
         set the current time of document 1 to 0
         select none of document 1
      end repeat
      set the newFileName to ""
      set fileToSaveTo to choose file name default name newFileName with prompt "Куда сохранить?"
      if (fileToSaveTo as string) does not contain ".mov" then set fileToSaveTo to (fileToSaveTo as string) & ".mov"
      save self contained document 1 in fileToSaveTo
   end tell
   return input
end run


Здесь она как бы уже в контейнере квиктайма, но в словаре квиктайма нет такой команды/объекта.

_________________
Учеба - это когда ты столько ешь знаний, что ничего не понимаешь, о чем идет речь. Если же тебе ясна тема предмета, то это не учеба. Это стагнация головного мозга.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Veselchack_U



Репутация: +159    

Зарегистрирован: 02.03.2002
Сообщения: 4966

СообщениеДобавлено: Сб Ноя 24, 2012 15:31
Ответить с цитатой

Скорее всего это значит, что "application "QuickTime Player 7"" должен стать активной программой, то есть выползти со своими окнами и меню вперед (на первый план к пользователю)...
_________________
Мы не бандиты, а благородные пираты...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
EsTaF



Репутация: +12    

Зарегистрирован: 03.04.2007
Сообщения: 1427

СообщениеДобавлено: Сб Ноя 24, 2012 15:33
Ответить с цитатой

да, но как ее удалось запихнуть уже после того, как была вызвана программа quicktime?
квиктайм такого не умеет. в его наборе функций нет такой команды.

Просто изучаю applescript и не могу понять этого момента. Понадобится знать это для других действий.
Документации не акцентируются на моменте объяснений этого.

Спасибо.

_________________
Учеба - это когда ты столько ешь знаний, что ничего не понимаешь, о чем идет речь. Если же тебе ясна тема предмета, то это не учеба. Это стагнация головного мозга.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Veselchack_U



Репутация: +159    

Зарегистрирован: 02.03.2002
Сообщения: 4966

СообщениеДобавлено: Сб Ноя 24, 2012 15:44
Ответить с цитатой

Почитайте общее описание к ЭпплСкрипту. "Активейт" общая команда для большинства объектов...
_________________
Мы не бандиты, а благородные пираты...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
EsTaF



Репутация: +12    

Зарегистрирован: 03.04.2007
Сообщения: 1427

СообщениеДобавлено: Сб Ноя 24, 2012 16:04
Ответить с цитатой

в общей справке идет "to activate", сразу после tell application.

с таким подходом я получу "Ожидалось «конец строки и т. д.», но найдено «идентификатор»."
про отдельный объект "activate", без "to" в справке ничего не нашел.

#
Кто-нибудь может посоветовать книгу по applescript, без "воздушных ям", где бы автор не опускал того, чего не знает и пишет без комментариев?

_________________
Учеба - это когда ты столько ешь знаний, что ничего не понимаешь, о чем идет речь. Если же тебе ясна тема предмета, то это не учеба. Это стагнация головного мозга.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Veselchack_U



Репутация: +159    

Зарегистрирован: 02.03.2002
Сообщения: 4966

СообщениеДобавлено: Сб Ноя 24, 2012 16:28
Ответить с цитатой

Чаво?

Ничо не понял.

Вот "нормальное" описалово команды "активейт":

https://developer.apple.com/library/mac/#documentation/applescript/conceptual/applescriptlangguide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-SW60

====

activate
Brings an application to the front, launching it if necessary.

Syntax
activate application required

Parameters
application
The application to activate.

Result
None.

Examples
Цитата:
activate application "TextEdit"
tell application "TextEdit" to activate


Discussion
The activate command does not launch applications on remote machines. For examples of other ways to specify an application, see the application class and “Remote Applications.”

_________________
Мы не бандиты, а благородные пираты...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
EsTaF



Репутация: +12    

Зарегистрирован: 03.04.2007
Сообщения: 1427

СообщениеДобавлено: Сб Ноя 24, 2012 18:48
Ответить с цитатой

Код:
tell application "QuickTime Player 7" to activate
   set thefile to choose file
   open thefile
   tell document 1
      make new annotation with properties {name:"Comment", full text:"1111"}
   end tell
end tell


"Ожидалось «имя переменной, имя класса или свойство», но найдено «постоянная программы или consideration»."

_________________
Учеба - это когда ты столько ешь знаний, что ничего не понимаешь, о чем идет речь. Если же тебе ясна тема предмета, то это не учеба. Это стагнация головного мозга.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Daniel



Репутация: +348    

Зарегистрирован: 14.07.2001
Сообщения: 9072
Откуда: Украина

СообщениеДобавлено: Сб Ноя 24, 2012 23:00
Ответить с цитатой

EsTaF
Перенесите activate на отдельную строчку и уберите to перед ним, должно заработать:
Код:
tell application "QuickTime Player 7"
   activate

EsTaF писал(а):
"Ожидалось «имя переменной, имя класса или свойство», но найдено «постоянная программы или consideration»."
Ого, сообщения об ошибках в редакторе тоже на русском? Переводили бы уже всё:
Код:
Сказать приложению «Проигрыватель быстрого времени — 7» активироваться
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
паша кошляк



Репутация: +278/–1    

Зарегистрирован: 18.04.2006
Сообщения: 35607
Откуда: москва

СообщениеДобавлено: Вс Ноя 25, 2012 09:12
Ответить с цитатой

Daniel писал(а):
Переводили бы уже всё
))
_________________
Самораспаковывающийся архив самораспаковывающемуся архиву рознь! © Daniel
список неполный, порядок случайный. © Oldman
думать — это роскошь! © Cherry


пш/кш
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
zztatarin



Репутация: +34    

Зарегистрирован: 04.08.2006
Сообщения: 4259

СообщениеДобавлено: Чт Ноя 29, 2012 14:25
Ответить с цитатой

Команда activate является встроенной командой.
Ее вызов необходим перед запросом параметров (переменных) целевой программы (процесса).

Конструкция tell appllication to действует не до end tell, а до конца строки и используется лишь для передачи одной команды целевой программе и улучшения читабельности.

_________________
Написаное есть моё личное ИМХО. Например:
ИМХО компьютер железный, вот пускай и работает. А я не трактор, для пахоты не предназначен...
И ещё. Учу пользоваться Гуглом!
Искренне Ваш ﺗﺘﺮ
Вернуться к началу
Посмотреть профиль Отправить личное сообщение iChatICQ Number
Показать сообщения:   
Начать новую тему   Ответить на тему Список форумов MacCentre.ru Форум » Программирование и Beta-тестирование Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы можете добавлять приложения в этом форуме
Вы можете скачивать файлы в этом форуме


Связь с администраторами

Powered by phpBB © 2001, 2005 phpBB Group