Если вы сделаете строку свойством, она будет помнить эту строку между выполнениями до следующего открытия и повторного сохранения сценария .
Вот пример:
property myName : ""
if myName is "" then
display dialog "What is your name?" default answer ""
set myName to the text returned of the result
end if
display notification "Hello, " & myName
Сохраните сценарий как «Приложение», «Сценарий» или «Пакет сценариев». Если сохранить его как «Текст» (или запустить из редактора скриптов), он не будет поддерживать свойства между запусками.
При первом запуске он заметит, что myName
- пустая строка, и запросит ваше имя .
При последующем его запуске ваше имя будет уже указано в свойстве myName
.
Если вы снова откроете сценарий, а затем зарезервируете сценарий, будут сброшены все свойства. Если вам нужен сценарий для сохранения данных путем редактирования, вам нужно сохранить его в базе данных, которая может быть такой же простой, как текстовый файл в центральном местоположении.
set nameFile to POSIX file "/Users/USERNAME/name.txt"
tell application "Finder"
if exists nameFile then
set nameFileHandle to open for access nameFile
set myName to read nameFileHandle
close access nameFileHandle
else
display dialog "What is your name?" default answer ""
set myName to the text returned of the result
set nameFileHandle to open for access nameFile with write permission
write myName to nameFileHandle
close access nameFileHandle
end if
end tell
display notification "Hello, " & myName
В этом случае переменная nameFile не должен быть свойством, так как он никогда не изменяется. Поскольку эта версия не должна быть свойством, ее также не нужно сохранять как нетекстовую, и ее даже можно запускать из редактора сценариев.
Это также очень просто; если вам нужно сохранить и извлечь несколько элементов, вам нужно будет следить за разделом «Чтение / запись файла» в «Стандартных дополнениях». Вы можете получить его из редактора скриптов в разделе «Файл: Открыть словарь…».
Для более сложной памяти вы можете найти «Список свойств» в словаре «Системные события» полезным.