эпл скрипт библиотека на русском языке

admin

Applescript: язык автоматизации для macOS

AppleScript — скриптовый язык, который используется для управления системой, приложениями и файлами в Mac OS X. Наиболее общий принцип применения следующий: открыть приложение и передать ему набор инструкций для выполнения. Причем это не обязательно приложения из стандартного комплекта поставки операционки, многие сторонние приложения также предоставляют API для обращения к ним через AppleScript.

interface

Для редактирования и запуска скриптов есть небольшой редактор, который находится в Application > Utilites > AppleScript Edtior. Редактор довольно минималистичный и не имеет богатых возможностей, но для написания небольших скриптов его обычно оказывается вполне достаточно. Условно его можно разделить на две части: в первой пишется непосредственно сам код, а в нижней части, показывается результат выполнения твоих трудов. Если вдруг возникнет необходимость сделать более или менее серьезный проект, то удобнее будет воспользоваться какой-нибудь сторонней разработкой, например Script Debugger.

Applescript имеет очень простой синтаксис, который был максимально приближен к обычному английскому языку, давай быстро пробежимся по основным операторам, чтобы понимать, как нам выполнять самые базовые вещи.

Чтобы задать переменную нужно воспользоваться оператором set. Делается это так:

Имя переменной не должно совпадать с зарезервированными словами (beep, say и т.д.), а также нельзя начинать имя переменной с цифры.

Условия задаются при помощи оператора if, как и в других языках:

Оператор say произносит переданный ему текст. Вместо «is» можно писать привычный знак равенства.

Задать цикл можно оператором repeat. В самом простом случае достаточно написать:

Этот цикл 2 раза воспроизведет стандартный системный звук. Если нужны итерационные циклы, то их можно задать используя until или while, например:

Арифметический цикл можно задать при помощи with таким образом:

Я думаю, понятно, что этот код будет произносить числа от 1 до 20 с шагом 2. Сейчас я быстро прошелся по основным «школьным» азам, чтобы было понятно что это за язык и с чем его едят. Как видишь, разработчики старались делать его таким, чтобы пользователи с разным уровнем подготовки могли «говорить» с компьютером практически человеческим языком. Я не буду подробно останавливаться на всех особенностях синтаксиса, если возникнут вопросы, ты всегда сможешь найти ответы в документации на сайте Apple.

Диалоги с пользователем

AppleScript не был бы так интересен, если бы не возможность легко создавать различные диалоговые окна, что дает нам возможность сделать наши скрипты более user-friendly.

Давай начнем с вызова стандартного системного диалога выбора файла. Делается это при помощи команды choose file.

В данном примере, будет вызван диалог выбора файла в котором включена фильтрация по типу (pdf или mobi) и разрешен выбор нескольких файлов. Если ты выполнишь этот код, то заметишь, что путь к файлу запишется, как alias:

Такой формат понимают стандартные приложения в Mac OS, но часто требуется использовать привычный нам POSIX-вид, делается это легко:

В переменную posixFilePath путь запишется в виде: /Users/UserName/file.pdf.

Аналогичным способом выбирается папка при помощи choose folder. Чтобы показать свое, кастомное сообщение пользователю, нужно воспользоваться командой:

Если не было передано никаких параметров, то будет выведен стандартный диалог с кнопками «ОК» и «Cancel». Тут стоит отметить, что после вывода диалога скрипт приостановит выполнение, и продолжит выполняться после нажатия «ОК», а вот после «Cancel» выполнение скрипта будет прервано с соответствующей ошибкой «User canceled.». Если такое поведение в твои планы не входит, то самое простое, — воспользоваться обработчиком ошибок:

Естественно, может такое случиться, что потребуются другие кнопки, кроме «Cancel» и «OK», и ты конечно же волен добавить любые, которые захочешь (но не больше трех). Делается это следующим образом:

А как быть, если требуется дать пользователю выбрать что-нибудь из списка? Легко:

В случае если нужно будет просто ввести какие-либо данные воспользуйся такой строчкой:

Диалоги с софтом

Например, очистим корзину:

Чтобы узнать какие действия доступны для того или иного приложения, в AppleScript имеется средство, которое называется Dictionary, оно доступно в меню File > Open dictionary.

dictionary

Также имеется возможность передачи команд на удаленный компьютер. Для начала, нужно включить опцию Remote Apple Events на машине, где требуется выполнить какие-либо действия в System Preferences > Sharing. Теперь, чтобы выполнить код на другой машине, нужно использовать следующую конструкцию:

Будь готов, что для выполнения действия на удаленной машине скрипт запросит логин и пароль, так что если ты потираешь руки, чтобы творить беспредел, придется придумать что-то еще :).

Командная строка

После прочтения предыдущих двух разделов у тебя наверняка должна была зародиться мысль о том, что неплохо было бы соединить удобство AppleScript с мощью shell-скриптов. Первое, что приходит в голову, — воспользоваться знаниями из предыдущего раздела и скормить необходимые команды приложению Terminal.

Такой способ имеет право на существование и в отдельных случаях он может быть даже предпочтительнее, но есть другой вариант: воспользоваться командой do shell script, при помощи которой можно также выполнять консольные команды, что гораздо более удобно, так как дает возможность записать результат выполнения команды в переменную и оперировать с ней дальше средствами AppleScript.

Источник

Использование AppleScript для автоматизации задач в iWork для Mac

AppleScript используется для автоматизации часто выполняемых задач в программах iWork для Mac с целью повышения производительности и сокращения количества ошибок.

В программах iWork для Mac улучшена поддержка AppleScript для Numbers 3.1 и более поздних версий, Pages 5.2 и более поздних версий и Keynote 6.2 и более поздних версий.

Словарь AppleScript содержит доступные команды AppleScript для программ Pages, Numbers и Keynote. Чтобы просмотреть словарь, выполните следующие действия:

Дополнительная информация

Дополнительные сведения об использовании AppleScript в программах iWork для Mac можно найти на сторонних веб-сайтах, таких как Mac OS X Automation (Автоматизация Mac OS X) и iWork Automation (Автоматизация iWork).

Сведения об использовании функции «Рассылка писем» с помощью AppleScript в Pages 5.5 и более поздней версии или Numbers 3.5 и более поздней версии см. в разделе, посвященном функции «Рассылка писем», на веб-сайте iWork Automation.

Информация о продуктах, произведенных не компанией Apple, или о независимых веб-сайтах, неподконтрольных и не тестируемых компанией Apple, не носит рекомендательного или одобрительного характера. Компания Apple не несет никакой ответственности за выбор, функциональность и использование веб-сайтов или продукции сторонних производителей. Компания Apple также не несет ответственности за точность или достоверность данных, размещенных на веб-сайтах сторонних производителей. Обратитесь к поставщику за дополнительной информацией.

Источник

Создание программ для Mac OS X. Часть 3: Apple Script

В этой части я расскажу про еще одно интересное средство разработки приложений для Mac OS X — скриптового языка Apple Script.

Apple Script разрабатывался чтобы применяться конечными пользователями, а не программистами, и позволить им контролировать приложения и документы, с которыми они работают. Например, с помощью Apple Script можно открыть фотографию в редакторе изображений, обрезать до нужного размера, записать ссылку на фото в текстовый файл и т.п.

В отличии от того, как пользователь через GUI взаимодействует с приложением, например впечатывает информацию в текстовые поля приложения для работы с базами данных, AppleScript работает совсем иначе, скрипт использует внутреннюю объектную модель приложения, тем самым внося значения в саму базу данных. Это означает, что во время работы скрипта приложение даже не обязательно показывать. Естественно такая модель работы требует того, чтобы ваше приложение было написано с поддержкой Apple Script.

Каждое приложение, которое понимает Apple Script, публикует поддерживаемые комманды в Apple Event словаре, который используется, чтобы определить допустимые комманды.

Язык, очень похожий на натуральный

в подкасте Радио-Т ведущий bobuk говорил что скрипт, написанный на языке Apple Script читается как обычный английский текст. В принцие он прав, т.к. это и есть одна из основополагающих особеннойстей Apple Script.

Движок Apple Script комбинирует глаголы и существительные, чтобы выполнить действия. Например, чтобы напечатать документ, страницу из документа или опеределенный фрагмент, вместо вызова функций printPage, printDocument, printRange, мы берем глагол print и добавляем нужное существительное:

print page 1
print document 2
print pages 1 thru 5 of document 2

tell application «iTunes»
playpause
end tell

tell application «Microsoft Word» to quit

tell application «QuarkXPress»
tell document 1
tell page 2
tell text box 1
set word 5 to «Apple»
end tell
end tell
end tell
end tell

Использовать иерархичность можно следующим образом:

pixel 7 of row 3 of TIFF image «my bitmap»

set pix to 72
set answer to text returned of (display dialog «Enter in the number of inches» default answer «1»)
display dialog answer & «in = » & (answer * pix) & «px»

при исполнии покажет диалоговое окно с запросом ввода кол-ва дюймов, потом это значение конвертируется в пиксели и результат показывается в следующем окне.

Также скрипт можно сохранить чтобы в дальнейшем использовать как полноценное приложение. Обработчик события запуска должен находиться внутри следующей конструкции:

В принципе, его можно и не писать, тогда при запуске обработка скрипта начнется с первой строки в файле.

Если бросить на файл со скриптом пару других файлов, то при запуске будет использован следующий обработчик:

on open theItems
— что-нибудь делаем с этими самыми theItems
end open

Средстав для написания скриптов лежат в /Applications/AppleScript
image loader
В качестве редактора/интерпритатора исаользуется ScriptEditor.app
image loader
Чтобы открыть Apple Event словарь надо в меню Script Editor нажать File=> Open Dictionary, откроется окно со списком приложенийimage loader
выбираем нужное(например iTunes) и клацаем OK. Открылось окно с описанием комманд для нужного нам приложенияimage loader

А теперь напишем простенькое Cocoa приложение, с помощью которого можно контроллировать iTunes
Открываем XCode, File=>New Project, Cocoa Application => в Project Name пишем iTunes_Controller. Добавляем новый Objective-C class «controller». В файле controller.h пишем

interface controller: NSObject <
>
— (IBAction) nextClick:(id)sender;
— (IBAction) prevClick:(id)sender;
— (IBAction) pauseClick:(id)sender;
— (IBAction) playClick:(id)sender;
— (void) executeAppleScript:(NSString*)sctript;
end

В принципе, в этом коде ничего секретно-военного нету. Просто пишем класс, с помощью которого и будем контролировать iTunes. Функции *Click — это обработчики нажатия по соответствующим кнопочкам на форме. А executeAppleScript:(NSString*)sctript — функция, которая будет исполнять скрипт в параметре script.

А теперь клацаем по MainMenu.nib и попадаем в InterfaceBuilder. Добавляем в окно MainMenu.nib новый NSObject и назначем ему класс controller:
image loader
Затем разместим на форме четыре кнопки с надписями «next»,«play»,«pause»,«previous» и соеденим их с соотв. обработчиками из класса controller:
image loader
Сохраняем все и возвращаемся в XCode. В файле controller.m пишем следующее:

— (void) executeAppleScript:(NSString*)script <
try <
NSAppleScript *ascript = [[NSAppleScript alloc] initWithSource:script];
[ascript executeAndReturnError:nil];
[ascript release];
>
catch (NSException * e) <
NSLog(@«exception:%@»,e);
>
>
— (void) nextClick:(id)sender <
[self executeAppleScript:@«tell application \»iTunes\» \n next track \n end tell»];
>
— (void) prevClick:(id)sender <
[self executeAppleScript:@«tell application \»iTunes\» \n previous track \n end tell»];
>
— (void) playClick:(id)sender <
[self executeAppleScript:@«tell application \»iTunes\» \n play \n end tell»];
>
— (void) pauseClick:(id)sender <
[self executeAppleScript:@«tell application \»iTunes\» \n pause \n end tell»];
>

В принципе в этом коде ничего сложного тоже нет. Единственная интересная вещь — класс NSAppleScript, с помощью объекта которого и выполняем скрипт. Подробнее про NSAppleScript можно почитать здесь.

В принципе, я думаю, что этого достаточно чтобы получить общее представление о Apple Script и попробавть что-нибудь на нем написать.

Источник

Скриптинг для Mac OS X: начинаем программировать на AppleSсriрt

Содержание статьи

Из этой статьи ты узнаешь, что такое AppleScript, зачем и кому он нужен, как можно автоматизировать чужие приложения и добавлять возможность автоматизации в свои.

Автоматизируй это

Часто встречаются такие задачи, для решения которых делать отдельный проект на компилируемом языке нерационально. Например, когда нужно быстро слепить на коленке код, который должен просто выполнять конкретную работу — без всяких GUI-украшений, обработки всевозможных исключительных ситуаций, оптимизации и прочего. Здесь на помощь и приходят языки сценариев — известные тебе shell, Perl, PHP и так далее. Все они (ну или почти все) доступны и под Mac OS X. Но в этой операционке в дополнение к общепринятым скриптовым языкам есть и специальный язык сценариев, ориентированный именно на Mac OS X и тесно с ней связанный. Это AppleScript.

AppleScript идет вместе с системой начиная с System 7. Выросший из проекта HyperCard (который содержал скриптовый язык HyperTalk, очень похожий на естественный английский), AppleScript первоначально создавался для того, чтобы обеспечить обмен данными между задачами, а также для управления работой сторонних приложений. Сам по себе AppleScript обладает довольно скромной функциональностью: на этом языке даже сценарии для выполнения сравнительно простых задач часто выглядят как обращение к другим приложениям. Впрочем, после существенной перестройки системы при переходе к линейке Mac OS X язык AppleScript стал боле гибким и мощным, а новый фреймворк Cocoa позволил разработчикам встраивать в свои приложения возможность автоматизации с помощью AppleScript’а с минимальными усилиями.

Простой сценарий

Для редактирования и исполнения скриптов мы будем использовать стандартный Script Editor. Найти его можно в папке /Application/AppleScript. Для начала напишем простой «HelloWorld’ный» скрипт.

display alert «Hello World!» # Покажем диалог
say «Hello World» # Вывод в колонки

Объяснять тут, думаю, ничего не нужно, но хочется отметить крайне простой доступ к синтезатору речи из AppleScript c помощью команды say. Вот это и есть настоящее общение с пользователем в стиле Apple :). Конечно же, этот диалог можно легко кастомизировать. Например, добавить нужные кнопки:

Панель с дополнительными кнопками

display alert «Hello World!» buttons <"Hello", "Bye">
set answer to button returned of the result
if answer is «Hello» then
.
else
.
end if

Теперь напишем что-нибудь более полезное. Например, дадим пользователю выбрать файл и прочитаем его содержимое:

# Панель выбора файла
set theFile to (choose file with prompt «Select a file to read:» of type <"TEXT">)
open for access theFile

Читаем контент

set fileContents to (read theFile)
close access theFile

На этих примерах хорошо видна основная идея AppleScript — он очень близок к живому английскому языку. Поэтому читать скрипты легко даже для человека, далекого от кодинга. Каждая командаглагол может быть дополнена существительными-модификаторами и параметрами.

Взаимодействие c приложениями

Для взаимодействия с другими приложениями AppleScript использует механизм сообщений:

tell application «Microsoft Word»
quit
end tell

C помощью команды tell выбираем приложение, которому мы будем отправлять сообщение. В данном случае мы просим MS Word завершиться. В блоке «tell — end tell» может быть отправлено любое количество команд. Сообщения, которые отсылаются приложению, могут быть и более специфичными. Все зависит от того, какие команды реализовали его разработчики. iTunes, например, экспортирует довольно много команд и свойств в среду AppleScript:

Запускаем нужный плейлист в iTunes

tell application «iTunes»
play the playlist named «My Favorite»
end tell

Чтобы тебе было проще работать с классами и командами, которые экспортирует приложение, они организованы в разделы. Все приложения, которые поддерживают скриптинг, имеют хотя бы два раздела: один стандартный и один из более специфичных для данного приложения разделов. Стандартный раздел содержит набор стандартных команд, которые поддерживает любое Mac-приложение: open, print, close и quit. Содержание остальных разделов зависит от фантазии разработчиков.

Выполнение AppleScript из своего приложения

Если ты пишешь приложение на Objective-C/Cocoa, то возможно, что некоторые вещи будет удобнее сделать с помощью AppleScript. Для создания и выполнения в Cocoa-приложениях скриптов существует класс NSAppleScript. Вот простой пример его использования — реализация получения у приложения iChat строки статуса пользователя.

NSAppleScript *iChatGetStatusScript = nil;
iChatGetStatusScript = [[NSAppleScript alloc] initWithSource: @»tell application «iChat» to get status message»];
NSString *statusString = [[iChatGetStatusScript executeAndReturnError:&errorDict] stringValue];

Возможно, то же самое можно сделать и другим путем, не используя созданный во время выполнения скрипт, но вряд ли альтернативный код будет выглядеть проще, чем этот. Если скрипты большие, можно хранить их в ресурсах бандла и читать при необходимости.

Автоматизация в Cocoa-приложении

Содержимое файла scriptTermonology отображается в Script Editor’е при просмотре словаря приложения. Этот файл содержит описание экспортируемых в AppleScript объектов.

Открыв scriptSuite-файл в Plist Editor’е, можно видеть, что он содержит следующие основные разделы:

Разбирать внутреннее устройство этих файлов особого смысла нет, так как тебе скорее всего придется иметь дело только с sdef-файлами.

Пример sdef-файла

.
NSAppleScriptEnabled
OSAScriptingDefinition
Scrtipting.sdef

Добавим к проекту файл Scripting.sdef следующего содержания:

Итак, из AppleScript’а у нас доступно одно свойство — myprop. Осталось написать ObjC-код, который будет обрабатывать чтение данного свойства из скриптов. Для этого нужно создать категорию NSApplication, поскольку именно этот класс мы выбрали в качестве получателя сообщений от скриптов.

Eсли мы теперь из AppleScript обратимся к свойствам нашего приложения, то увидим среди них свое свойство и его значение:

tell application «Scripting»
properties
end tell

Заключение

Конечно, описать здесь все возможности AppleScript и его взаимодействия с Cocoa-приложениями невозможно. Да это и не нужно — для этого есть мануалы. А мы со своей стороны продолжим цикл статей о кодинге под эппловские платформы и расскажем тебе еще много нового и интересного.

Источник

Справочник по командам AppleScript

Команды, описанные в этом разделе, доступны для любого сценария, они либо встроены в язык AppleScript или добавлены к нему через стандартные дополнения сценариев.

Команда Описание
AppleScript suite
activate Переносит приложение на передний план, и открывает его, если оно находится на локальном компьютере и не запущено.
log В Script Editor, отображает значение в окне журнала истории событий или в панели журнала событий окна сценария.
Команды буфера обмена
clipboard info Возвращает сведения о буфере обмена.
set the clipboard to Помещает данные в буфер обмена.
the clipboard Возвращает содержимое буфера обмена.
Команды для файлов
info for Возвращает информацию для файла или папки.
list disks Возвращает список текущих смонтированных томов.

localized string Возвращает локализованную строку для указанного ключа.
offset Поиск одного фрагмента текста внутри другого.
summarize Суммирует указанный текст или текстовый файл.
Взаимодействие с пользователем
beep Сигналы один или более раз.
choose application Позволяет пользователю выбрать программу.
choose color Позволяет пользователю выбрать цвет.
choose file Позволяет пользователю выбрать файл.
choose file name Позволяет пользователю указать новую ссылку на файл.
choose folder Позволяет пользователю выбрать папку.
choose from list Позволяет пользователю выбрать один или несколько элементов из списка.
choose remote application Позволяет пользователю выбрать запущенное приложение на удаленной машине.
choose URL Позволяет пользователю указать URL.
delay Останавливается на определенное количество времени.
display alert Выводит предупреждение.
display dialog Отображает диалоговое окно, при необходимости запрашивает пользовательский ввод.
say Говорит указанный текст.

activate

Переносит приложение на передний план, запустив его в случае необходимости.

Аргументы:

Возвращаемое значение:

Рассмотрение:

ASCII character

Возвращает символ с указанным номером.

ASCII character integer

Аргументы:

Возвращаемое значение:

Вызывает ошибку если integer находится вне диапазона.

ASCII number

Возвращает число, связанное с указанным символом.

Аргументы:

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

Возвращаемое значение:

Рассмотрение:

Воспроизведение звуковой системой оповещения один или несколько раз.

Аргументы:

Возвращаемое значение:

choose application

Позволяет пользователю выбрать программу.

choose application [with title] [with prompt] [multiple selections allowed] [as]

Аргументы:

Возвращаемое значение:

Сигнализирует об ошибке «user canceled», если пользователь отменяет диалог.

Рассмотрение:

choose color

Позволяет пользователю выбрать цвет из диалога выбора цвета.

choose color [default color]

Аргументы:

default color Цвет, который будет показан, когда диалоговое окно выбора цвета открывается в первый раз. Значение по умолчанию <0, 0, 0>: black

Возвращаемое значение:

Сигнализирует об ошибке «user canceled», если пользователь отменяет диалог.

choose file

Позволяет пользователю выбрать файл.

choose file [with prompt] [of type] [default location] [ invisibles] [multiple selections allowed] [showing package contents]

Аргументы:

Возвращаемое значение:

Сигнализирует об ошибке «user canceled», если пользователь отменяет диалог.

choose file name

Позволяет пользователю указать новое имя файла и расположение. Это не создает файл, а скорее возвращает описатель файла, который можно использовать для создания файла.

choose file name [with prompt] [default name] [default location]

Аргументы:

Возвращаемое значение:

Сигнализирует об ошибке «user canceled», если пользователь отменяет диалог.

Рассмотрение:

choose folder

Позволяет пользователю выбрать каталог, например, папку или диск.

choose folder [with prompt] [default location] [ invisibles] [multiple selections allowed] [showing package contents]

Аргументы:

Возвращаемое значение:

Сигнализирует об ошибке «user canceled», если пользователь отменяет диалог.

choose from list

Позволяет пользователю выбирать элементы из списка.

choose from list [with title] [with prompt] [default items] [OK button name] [cancel button name] [multiple selections allowed] [empty selection allowed]

Аргументы:

Возвращаемое значение:

Рассмотрение:

choose remote application

Позволяет пользователю выбрать запущенные приложения на удаленной машине.

choose remote application [with title] [with prompt]

Аргументы:

Возвращаемое значение:

Сигнализирует об ошибке «user canceled», если пользователь отменяет диалог.

choose URL

Позволяет пользователю указать URL.

choose URL [showing] [editable URL]

Аргументы:

Возвращаемое значение:

Сигнализирует об ошибке «user canceled», если пользователь отменяет диалог.

clipboard info

Возвращает информацию о текущем содержимом буфера обмена.

clipboard info [ for]

Аргументы:

Возвращаемое значение:

close access

close access fileSpecifier

Аргументы:

Рассмотрение:

Копии одного или более значений, сохраняя результат в одной или более переменных. Эта команда копирует только AppleScript значения, а не определенные приложением значения объектов.

copy expression to variablePattern

Аргументы:

expression Выражение, значение которого должно быть скопировано.
variablePattern Имя переменной или структуры переменных, в которую сохранится значение или шаблон значений. Шаблоны могут быть списками или записями.

Возвращаемое значение:

Рассмотрение:

count

Подсчет количества элементов в другом объекте.

(count | number of) expression

Аргументы:

Возвращаемое значение:

current date

Возвращает текущую дату и время.

Возвращаемое значение:

delay

Ожидает заданное количество секунд.

Аргументы:

Рассмотрение:

display alert

Отображение стандартизированного предупреждения содержащего сообщение, объяснение, и от одной до трех кнопок.

display alert text [message text] [as alertType] [buttons list] [default button buttonSpecifier] [cancel button buttonSpecifier] [giving up after integer]

Аргументы:

text Текст предупреждения, которое отображается подчеркнутым шрифтом системы.
message text Поясняющее сообщение, которое выводится мелким шрифтом системы, ниже текста предупреждения.
as alertType Тип предупреждениедля отображения. Вы можете указать один из следующих типов предупреждения:

informational : стандартный диалог предупреждения (значение по умолчанию).

warning : диалог предупреждения с иконкой Warning.

critical : В настоящее время такой же, как стандартный диалог предупреждения.

buttons list (или text ). Список до трех имен кнопки.

Если указать одно имя, кнопка с таким именем служит по умолчанию и отображается в правой стороне диалога предупреждения. Если указать два имени, две кнопки отображается справа, со второй, служащей в качестве кнопки по умолчанию. Если указать три имени, первое отображается слева, а следующие две справа, как и в случае с двумя кнопками.

Значение по умолчанию <"OK">. Одна кнопка «OK», которая является кнопкой по умолчанию.

default button (text или integer) Имя или номер кнопки по умолчанию. Может быть таким же, как кнопка отмены.

Значение по умолчанию: Самая правая кнопка.

cancel button (text или integer) Имя или номер кнопки отмены. См. «Возвращаемое значение» ниже. Может быть таким же, как кнопка по умолчанию. giving up after integer Количество секунд ожидания перед автоматическим закрытием диалога.

Возвращаемое значение:

Сигнализирует об ошибке «user canceled», если пользователь нажимает заданную кнопку отмены диалога.

display dialog

Отображает диалоговое окно, содержащее сообщение, от одной до трех кнопок и, необязательно, значок и поле, в которое пользователь может вводить текст.

display dialog text [default answer text] [hidden answer boolean] [buttons list] [default button labelSpecifier] [cancel button labelSpecifier] [with title text] [with icon resourceSpecifier] [with icon iconTypeSpecifier] [with icon fileSpecifier] [giving up after integer]

Аргументы:

buttons list (или text) Список до трех имен кнопки.

Значение по умолчанию:

Если вы не указали ни одной кнопки, по умолчанию, Отмена и ОК выводятся, с кнопкой ОК, как кнопкой по умолчанию.

Если вы определите кнопки, то нет кнопки по умолчанию или кнопки отмены, если вы не используете следующие параметры, чтобы указывать их.

default button (text | integer) Имя или номер кнопки по умолчанию. Эта кнопка подсвечена, и будет нажата, если пользователь нажмет клавишу Ввода (Enter).

Возвращаемое значение:

Если диалог не позволяет ввод текста, text returned отсутствует в возвращаемой записи.

Сигнализирует об ошибке «user canceled», если пользователь отменяет диалог.

Если display dialog указывает giving up after значение и диалог закрыт по тайм-ауту, прежде чем пользователь нажимает кнопку, он возвращает запись о том, что ни одна кнопка не была возвращена и команду отказа:

Tags: , , ,