Редактор скриптов


Редактор скриптов (Edit Scripts)

Основные сведения.

Редактор скриптов – это простой текстовый редактор, с помощью которого вы можете создавать и редактировать свои скрипты.

 

 

В верхней части окна находится главное меню. Пунктов меню всего три – Script (скрипт), Edit (редактировать) и Help (помощь).

Пункт меню Script.

При активизации кнопкой мыши открывается ниспадающее меню, имеющие следующие подпункты:

 

Пункт главного меню Edit.

Пункт главного меню Help.

При выборе подпунктов этого меню вызывается запуск Интернет-браузера и производится попытка связаться с сервером, на котором находится официальный сайт The Elder Scrolls Construction Set WIKI, по адресу: http://cs.elderscrolls.com/constwiki/index.php/Main_Page Следует отметить, что именно на этом ресурсе для игры TES 4 Oblivion вы найдете максимально возможное количество информации - как по плагиностроению в общем, так и по скриптингу в частности.

 

 

Панель инструментов.

 

 

Под главным меню находится панель инструментов с иконками, которые дублируют часть пунктов главного меню, а также поле для выбора типа скрипта - Script type. В нем вы указываете, к чему привязывается ваш скрипт – к обьекту (object), квесту (quest) или к магическому эффекту (мagic effect).

Иконки по порядку слева направо:

  1. Open – открыть существующий скрипт.
  2. Save – скомпилировать и сохранить скрипт.
  3. Previous – предыдущий скрипт.
  4. Next– следующий скрипт.
  5. Recompile all – скомпилировать ВСЕ скрипты. Не поддайтесь соблазну!
  6. Delete – удалить скрипт.
  7. Exit – закрыть.

 

Назначение и главная цель вашего скрипта

Приняв решение написать скрипт, вы должны четко представлять себе, какие функции он должен выполнять и нельзя ли обойтись без него. Дело в том, что любой скрипт занимает драгоценные миллисекунды вашего процессорного времени, понижая таким образом fps. Особенно это заметно, когда в сцене находится много персонажей или, например, деревьев. Много скриптов в такой сцене могут резко понизить производительность вашего процессора, сделав из игры “слайд-шоу”. Есть разумный предел, переступать через который нежелательно.

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

 

Ваш первый скрипт

Надеемся, вы уже знаете, как запустить редактор TES CS и что там делать, так что перейдём непосредственно к скриптам. В панели инструментов наверху найдите кнопку с карандашом (крайняя справа) – эта кнопка открывает редактор скриптов. Нажали? Значит, вы уже видите этот самый редактор. В нём сейчас пусто и основное его поле, где вам предстоит набирать будущий текст скрипта, имеет серый цвет.

Теперь перейдём к скриптам. Для начала можете посмотреть, как они вообще выглядят. Для этого нажмите на красную стрелку “вправо” и перед вами откроется первый в списке скрипт - AbandonedMineTrap02Script. Судя по названию, он отвечает за работу какой-то ловушки в заброшенной шахте. Всегда старайтесь давать своим скриптам понятные названия!

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

В самой первой строке пишется название скрипта:

  1. ScriptName AbandonedMineTrap02Script – эта строка обязательна, в ней пишется имя скрипта.
  2. Чуть ниже идёт объявление переменных: short triggered – создание короткой целочисленной переменной. В скрипте может не быть вообще переменных, а может быть несколько десятков и разных типов.

Далее идут рабочие блоки:

Begin [тип блока] …. End

Именно в этих блоках и будет описываться работа скрипта.

А теперь создадим свой собственный, самый первый скрипт!

  1. В Object Window (окне объектов конструктора) отыщите отмычки. Вы найдете их в списке Items → Misc Item. Вместо отмычки подойдет любой обычный предмет - яблоко или что-нибудь подобное. Сделайте двойной щелчок на предмете.
  2. Откроется диалоговое окно со свойствами предмета. Там, где написано "Script: NONE", кликните на кнопку с тремя точками, находящуюся справа. Это откроет редактор скриптов.
  3. Выберите Script → New, чтобы создать новый скрипт.

Скопируйте приведенный ниже программный код комбинацией клавиш Ctrl + C и вставьте его в окно редактора с помощью комбинации Ctrl + V:

 

ScriptName HelloWorld Begin OnAdd Message "Hello World!", 10 End

 

Информация о данном скрипте:

· Первая строка – это имя скрипта (Scriptname). Убедитесь, что оно уникально. В противном случае вам придётся его изменить, т.к. редактор не позволит скомпилировать скрипт.

· "Begin OnAdd" означает, что код внутри данного блока будет исполняться всякий раз, когда вы подберете нужный предмет. "OnAdd" – это тип данного блока. Команда “end” закрывает секцию скрипта, которая связана с “OnAdd”. У вас может быть несколько отдельных блоков begin/end, имеющие одинаковые или различные типы блоков (blocktype).

· Между begin и end находится исполняемый программный код. В нашем случае это всего лишь одна функция – Message, которая выведет на экран сообщение "Hello World!".

· И последнее – временной контроль за строкой сообщения. В данном случае она имеет параметр «10», который означает, что строка будет отображаться на экране в течение 10 сек.

  1. Сохраните скрипт и закройте Редактор скриптов.
  2. Вернитесь к свойствам предмета, "HelloWorld" должно появиться как опция в ниспадающем списке скриптов. (Возможно, вам нужно будет закрыть окно свойств объекта и снова открыть его, чтобы скрипт "HelloWorld" появился в ниспадающем списке.)
  3. Щелкните ОК, чтобы сохранить изменения, и закройте окно.
  4. На панели инструментов выберите File -> Save; в окне сохранения введите имя файла HelloWorld (это будет ваш первый *.esp файл плагина - HelloWorld.esp !).
  5. Откройте Oblivion_Launcher и щелкните Data Files.
  6. Двойным щелчком мыши подключите свой HelloWorld.esp, щелкните OK и закройте окно.
  7. Теперь все должно работать! Запустите игру, бросьте отмычку (или предмет, который вы использовали) на землю и подберите ее. При этом должно появиться сообщение "Hello World!".

И с этим первым результатом добро пожаловать в увлекательный мир скриптинга!

 

Основы скриптинга

Общая информация

Скрипты – это небольшие программы, работающие непосредственно в игре. Скриптовый язык Обливиона довольно прост и ваш опыт в любом другом языке программирования будет весьма полезен.Основное правило при написании скриптов: каждая операция должна записываться в новой строке.Вы можете также снабдить ваш код комментариями, используя ";". Все, что стоит в строке после точки с запятой, будет в дальнейшем игнорироваться компилятором и игрой, но на этапе разработки и обсуждения скрипта комментарии облегчат процесс его понимания.

Скриптовые операции делятся на две основные категории, каждая из которых имеет две подкатегории:

Команды

Команда – это скриптовая операция, контролирующая все, что происходит в скрипте. Команды регулируют выполнение скрипта, но не влияют на игровой мир непосредственно. Команды делятся на две подкатегории:

Функции

Функции – это скриптовые операции, которые взаимодействуют с игровым миром. Это самая большая категория скриптовых операций. Каждая функция возвращает значение, которое может быть использовано при проверке условий "if" или которое можно сохранить в переменной, используя команду set.

Функции подразделяются на две подкатегории: пассивные и активные:

Ссылки и переменные

Функции оказывают действие на "вызывающий объект" (тот, на котором работает скрипт) по умолчанию, но вы можете вызвать их и на другом объекте, используя ссылку на объект. Когда вы хотите, чтобы скрипт влиял, например, на игрока, используйте ссылку на игрока (“Player”) и точку “.”, чтобы перенаправить вызов функции (function-call) на игрока с вызывающего объекта:

 

player.additem gold_001 100

 

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

 

short addgold set addgold to 100 player.additem gold_001 addgold

 

Для своих целей вы можете использовать как локальные переменные, объявленные в этом же скрипте, так и глобальные.Из функции нельзя напрямую обратиться к переменной в другом скрипте. Но такой возможностью обладают команды If и Set.Например, эта строка скрипта работать не будет:

 

player.additem gold_001 otherobject.addgold

Следует написать так:

Short addgold ; объявление вспомогательной локальной переменной set addgold to otherobject.addgold ; присвоить ей значение внешней локальной переменной player.additem gold_001 addgold ; использование полученных внешних данных

Типы скриптов

 



infopedia.su

Редактирование и отладка скриптов

Без этих инструментов лучше даже не начинать программировать на javascript... Хотя люди и без этого живут, но уж очень они полезны.

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

javascript.ru

AppleScript — это совсем не страшно

Вы еще не используете AppleScript? Не знаете, что это такое? Считаете, будто Вам это ни к чему? Или, быть может, память о школьных уроках информатики вызывает у Вас приступ аллергии при одном упоминании слова «программа»? Значит, Вы правильно сделали, открыв эту статью.

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

Что такое AppleScript

Нередко при работе с той или иной программой нам приходится по многу раз выполнять одинаковые действия: нажимать на одни и те же клавиши, выбирать одну и ту же команду из меню, вводить одни и те же значения в диалоговых окнах… Вот тут-то на помощь и приходит AppleScript. Описываем последовательность наших операций в виде программы-«скрипта», запускаем и — спокойно пьем кофе, изредка поглядывая, не закончилась ли обработка последнего, три тысячи семьсот восемьдесят девятого файла. Нечто подобное существует в виде BAT-файлов DOS или скриптов для оболочек (shell) UNIX. Но у AppleScript есть важное преимущество: этот язык «понимают» как Finder, так и большое число прикладных программ, и скрипт может обращаться поочередно к ним всем.

Язык, которым мы будем пользоваться (он тоже называется AppleScript), очень близок к обычному английскому языку{сноска: на самом деле, так будет, только если у нас используется «английский диалект»}. Например, скрипт может выглядеть вот так:

tell application "Finder" make new folder at desktop with properties {name:"Моя!", label index:2} end tell

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

Объекты, свойства, события…

AppleScript — язык объектно-ориентированный. То есть все, что «существует» в вашем компьютере, он считает объектами (objects). Объект может состоять из других объектов, быть включен в другой объект, относиться к другому объекту. Например, Finder — это объект. У него есть «подчиненные» объекты — папки, файлы, окна. В редакторе Tex-Edit имеется объект текст, состоящий из слов, строк, абзацев и т. п. Знать, как соотносятся объекты (их иерархию) очень важно, поскольку команда передается «по цепочке». Действует этакая «вертикаль власти»: мы отдаем приказ Finder’у, он — папке, та — вложенной в нее папке и так далее, пока не дойдет до нужного файла. И «рапорт об исполнении» опять-таки пойдет по той же цепочке — в обратную сторону.

Однотипные объекты (например, все папки) образуют класс (class). Каждый объект обладает некоторым набором свойств (properties), отличающим его от другого. Например, у каждого файла есть имя, метка, тип, дата создания, версия и еще более десятка характеристик. Часть из них скрипт может менять, некоторые — только прочесть.

Один класс (так называемый «потомок») может наследовать свойства другого класса («предка»). Например, и у папок, и у файлов есть общий предок — элемент (item).

Теперь рассмотрим наш пример, немного дополнив его:

-- любой текст, записанный после «двух минусов», -- считается комментарием; -- на него компьютер не обращает внимания tell application "Finder" -- словом tell начинается группа команд, -- относящихся к одному объекту make new folder at desktop with properties {name:"Моя!", label index:2} end tell -- а так завершается группа команд tell application "Finder" to tell item "Моя!" open set its name to "Только для меня" end tell

Мы сперва приказываем программе Finder создать новый объект класса «папка», расположенный на Столе. Часть свойств задано в команде (имя папки и ее цветная метка), остальные будут назначены компьютером по умолчанию. Затем говорим Finder'у, чтоб он скомандовал своей папке (так и только так: «вассал моего вассала — не мой вассал») открыться и сменить имя.

Но пора бы от теоретических рассуждений перейти к чему-то более осязаемому. Самое время запустить Script Editor.

Редактор скриптов

Для работы с AppleScript создано несколько программ, среди которых есть весьма совершенные средства разработки. Впоследствии Вы, вероятно, обзаведетесь одним из них. Но для первоначального знакомства нам вполне хватит редактора, входящего в состав MacOS.

Окно Script Editor разделено на две части: в верхней записывается комментарий (он выводится на экран перед исполнением скрипта), а в нижней — программа. Попробуем набрать наш пример (без моих комментариев, конечно, можно обойтись). Затем щелкнем кнопку «Check syntax». Если Вы допустили какую-либо ошибку, появится окно с пояснением. Но, скорее всего, все будет нормально — и после небольшой паузы текст несколько изменит свой вид. Каким шрифтом при этом будут выделены разные элементы скрипта, можно настроить, воспользовавшись командой «AppleScript Formatting» меню «Edit». Теперь можно нажать кнопку «Run». Сработало?

Написанный скрипт можно сохранить по-разному: либо только исходный текст (Text), либо уже скомпилированный скрипт (Compiled Script) — готовый к исполнению редактором скриптов или некоторыми другими программами, наконец — в виде самостоятельной{сноска: конечно, не совсем — без установленного AppleScript она ничего не сделает} программы-апплета (Application). Можно сделать скрипт «только для исполнения» (Run-only). Только не забудьте в этом случае сохранить — для себя — и оригинальный файл. Иначе добраться до его исходного текста не смогут не только конкуренты, жаждущие нарушить ваши авторские права, но и Вы сами.

Словари, словари, словари…

«Ну, хорошо,»- вероятно, думаете, Вы, -«редактором пользоваться проще простого, прочесть готовые скрипты — тоже не сложно. Но писать-то их как? Откуда взять все эти классы, команды, свойства?» Ответ прост: нужно посмотреть в словаре. Каждая, поддерживающая работу с AppleScript, программа, а также ScriptingAddition (о «дополнениях» разговор еще впереди) содержит краткое описание всех своих объектов и распознаваемых команд. Посмотреть этот словарь можно непосредственно из редактора скриптов — выбрав «Open Dictionary» из меню «File» либо натащив нужную программу на картинку редактора.

Программы Макинтоша могут поддерживать AppleScript на трех разных уровнях.

Scriptable — программа может выполнять команды, описанные в виде скрипта.

Recordable — возможна запись команд, выполняемых в программе. Создадим новый скрипт, запускаем запись (кнопкой «Record»), выполняем, например, в Finder вручную необходимые действия, останавливаем запись («Stop»). Вот и все. Таким образом очень удобно делать заготовки скриптов.

Attachable — скрипт может выполняться непосредственно из программы, будучи «присоединенным» к меню или какому-либо объекту в окне. Примеры таких программ: AppleWorks, Tex-Edit, FileMaker Pro.

Откроем, например, словарь программы Finder.

Слева Вы видите список всех определенных в программе «терминов». Обратите внимание: часть из них набрана курсивом. Это — объекты. Все остальные — команды. Щелкнув на нужное слово, можно прочесть краткую справку.

Что, например, можно узнать про «Container»? Во-первых, мы видим: «Сlass container: An item that contains other items». То есть это — некий элемент, содержащий другие элементы. А если просмотреть описания нескольких следующих классов, станет ясно, что «контейнер» — понятие, включающее в себя и диски, и папки, и Стол (Desktop), и Корзину (Trash). Он обладает общими свойствами этих, во многом схожих, объектов. И в «родословном древе» — иерархии классов — является их предком.

Читаем дальше. «Plural form: containers». Форма множественного числа? Мы разве грамматику английского языка изучаем? И да, и нет. Я ведь уже упоминал, что AppleScript максимально приближен к естественному языку. И если мы хотим обработать все объекты данного класса, то записать это, как и полагается в английском языке, можно либо «every container», либо «containers».

Как Вы уже знаете, объект может содержать в себе другие объекты. Какие именно и чем отличаются друг от друга, описано в следующем разделе словаря — «Элементы» (Elements). Контейнер, как видите, может содержать объекты полутора десятков различных классов, например, другие контейнеры, папки, файлы документов и программ и т. д. А указать конкретный элемент какого-либо класса можно либо именем (by name), либо порядковым номером (by numeric index).

Ну, и наконец, последний раздел — «Свойства» (Properties). Тут мы, во-первых, видим, что класс «Контейнер» — наследник класса «Элемент» (<Inheritance> item [r/o]), то есть обладает всеми его свойствами. Но есть у этого класса и несколько своих собственных. Обратите внимание: часть из них помечена «[r/o]» (read only — только для чтения), эти свойства поменять командой AppleScript невозможно.

Теперь посмотрим, как описаны в словаре команды. Для примера возьмем уже знакомую Вам по примерам скриптов «Make» (создать). В верхней части страницы — назначение команды (создать новый элемент). Затем — как она записывается (синтаксис) и какие имеет параметры. Заметьте: некоторые параметры заключены в квадратные скобки. Так в словаре обозначают необязательные параметры. Составляя скрипт, мы можем без них обойтись, если же будем использовать, никакие скобки ставить не нужно. Завершает справку по команде указание ее результата (Result). В нашем примере им будет «ссылка» (reference) на созданный объект.

Ну, вот. Вы уже можете попробовать написать какой-нибудь простой скрипт. Итак…

О, создатель!

Думаю, Вы знаете, что каждый файл на Макинтоше обладает двумя признаками — типом и кодом создателя, позволяющими Finder'у решить, как с этим файлом обращаться. Не секрет и то, что нередко — например, после передачи через Интернет — эти атрибуты теряются. Конечно, есть немало программ, умеющих их изменять. Но давайте попытаемся сделать свою собственную утилиту, пользуясь только тем, что уже заложено в MacOS.

Начнем с простейшего варианта. Пусть нам нужно назначить файлу letter.txt, находящемуся на Столе, назначить тип «TEXT» и код создателя «ttxt» (ПростоТекст).

Выбираем в словаре программы Finder объект file. Находим нужные нам свойства: file type и creator type. Для изменения значения того или иного свойства используется команда «set» (установить). Стало быть весь скрипт должен выглядеть примерно так:

tell application "Finder" to tell file "letter.txt" set its file type to "TEXT" set its creator type to "ttxt" end tell

Или вот так:

tell application "Finder" set file type of file "letter.txt" to "TEXT" set creator type of file "letter.txt" to "ttxt" end tell

Таким образом, как видите, можно либо приказать файлу поменять свои (its) свойства{сноска: в данном примере слово «its» можно опустить, т. к. назначение команды однозначно определено и без него}, либо — программе Finder поменять свойства подчиненного объекта.

Я не зря задал условие, что файл находится на рабочем столе. В ином случае нам потребовалась более длинная «цепочка» подчиненных объектов (что-то вроде «tell application "Finder" to tell disk "Macintosh HD" to tell folder "lesson" to tell file "letter.txt"»). Или же — для второго варианта скрипта — указание полного пути: «file "Macintosh HD:lesson:letter.txt"» (Напомню: путь в MacOS записывается через двоеточия).

Что ж, скрипт написан. Он работает. Но… пользы от него, прямо скажем, никакой — ведь для каждого следующего файла нужно изменять текст самого скрипта. Ничего себе, упростили работу! Надо бы нашу программу усовершенствовать. Научим ее спрашивать пользователя, какой файл обрабатывать. Открываем словарь Finder'а, смотрим… Вот те на! Ничего подходящего. Неужто Apple допустила такую промашку? Вовсе нет…

«А у Вас нет такого же, но с перламутровыми пуговицами?»

Открытая архитектура скриптов (OSA — Open Script Architecture) позволяет обзавестись практически любым необходимым элементом языка. Конечно, если кто-то позаботился написать «дополнение» (Scripting Addition или OSAX), описывающее такой объект и соответствующие команды. Размещаются эти дополнения в папке Scripting Additions, находящейся в System Folder (раньше — в Extensions). Использовать же их может любой скрипт, независимо от того, какой программой он в данный момент командует.

Откроем словарь Standard Additions (чтоб быстро попасть в папку Scripting Additions, в диалоге Open Dictionary предусмотрена специальная кнопка). Вот и она — команда «choose file» (выбрать файл). Результатом ее работы будет ссылка на файл, выбранный человеком в стандартном диалоге Open. Эту ссылку мы сохраним в переменной, которую назовем, к примеру, MyFile.

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

Наш скрипт примет вот такой вид:

tell application "Finder" set MyFile to choose file set file type of MyFile to "TEXT" set creator type of MyFile to "ttxt" end tell

Вполне работоспособная программка. Но нельзя ли сделать ее более удобной? Зачем отдельно запускать скрипт, потом выбирать в диалоге имя файла — не лучше ли использовать метод Drag'n'Drop? Все в наших силах!

Пишем Droplet

Итак, что мы хотим получить, и как этого добиться.

  1. Программа должна работать независимо от редактора скриптов. С этим все ясно, мы уже знаем, что для этого ее нужно сохранить как апплет.
  2. Цель работы скрипта — изменение свойств заданного файла. Эта часть у нас уже готова.
  3. Обрабатываться должен файл, «натащенный» на картинку скрипта. Вот тут и начинается самое интересное. С «живущими» в нашем компьютере объектами постоянно происходят разные события. Например файл может быть перемещен, скопирован или открыт. Программа — запуститься, выполнять какие-либо команды или не делать ничего, наконец — завершиться. Чтобы объект «знал», как ему реагировать на то или иное событие, нужна специальная подпрограмма — «обработчик» (handler). Когда на апплет «бросают» файлы, папки или диски, Finder передает ему сообщение-команду «Open» и список «брошенных» объектов. Вот для этого-то события нам и придется написать обработчик.

В простейшем случае он будет выглядеть вот так:

on open FileList -- словом «on» начинается обработчик события -- сперва скрипт работает сам, не затрагивая никаких программ set MyFile to item 1 of FileList tell application "Finder" -- теперь командуем Finder'ом set file type of MyFile to "TEXT" set creator type of MyFile to "ttxt" end tell end open -- не забываем указать, что обработчик закончился

Как видите, обрабатывается первый элемент из переданного при запуске скрипта списка{сноска: Для временного хранения списка мы использовали переменную FileList. Называть переменные можно любыми сочетаниями латинских букв, но желательно так, чтоб по имени можно было понять, что же эта переменная обозначает.}. А остальные? На них наша программа просто не обращает внимания. Не трудно догадаться, что следующим шагом по пути к совершенству будет обработка сразу целой кучи файлов.

Раз, раз, еще раз…

До сих пор все команды наших скриптов выполнялись поочередно в том порядке, как записаны. Теперь же нам нужно повторить одни и те же действия несколько раз подряд. Придется организовать особую структуру — цикл. В AppleScript есть для этого разнообразные управляющие команды. Можно повторить действия наперед заданное число раз, либо выполнять их пока соблюдается некоторое условие. Но такими циклами располагает практически любой язык программирования. В нашей же задаче идеально подойдет другой — «повторить для каждого элемента списка». С ним скрипт примет следующий вид:

on open FileList repeat with MyFile in FileList -- так записывают начало цикла tell application "Finder" set file type of MyFile to "TEXT" set creator type of MyFile to "ttxt" end tell end repeat -- конец управляющей структуры обязательно отмечаем end open

Чего еще не хватает нашей программе, чтоб стать вполне профессиональной? А не хватает ей «защиты от дурака». Ведь «бросить» на картинку скрипта можно и папки, и ярлыки, а работать он должен только с обычными файлами.

Кого хочешь, выбирай

Стало быть, перебирая элементы списка, нужно определять, чем каждый из них является. Только если попался обычный файл — менять его свойства. Выбрать, делать или не делать какие-либо операции, позволяет еще одна управляющая конструкция — условный оператор If. Определить, не является ли объект папкой или ярлыком, можно, получив информацию о нем командой «info for» из Standard Additions. Результатом ее будет объект класса «file information». Вот его-то свойства — «папка?» (folder) и «ярлык?» (alias) — мы и будем проверять. Поскольку нам необходимо, чтоб элемент не был папкой И не был ярлыком, два условия свяжем логической операцией «and» (когда достаточно выполнения какого-либо одного из условий — ИЛИ первого, ИЛИ второго — пользуются связкой «or»). В общем, в результате наших рассуждений получился вот такой скрипт:

on open FileList repeat with MyFile in FileList set theInfo to info for MyFile if (folder of theInfo is false) and ¬ (alias of theInfo is false) then tell application "Finder" set file type of MyFile to "TEXT" set creator type of MyFile to "ttxt" end tell end if end repeat end open

Не забываем, что сохранить его нужно как приложение (application). Ну, вот и все. Наша первая программа готова.

Обратите внимание, что все условия в операторе If должны быть записаны в одну строчку. Чтобы сделать текст программы более удобным для чтения, бывает полезно «сложить» длинную строку, как сделано в этом примере. Для этого нужно нажать комбинацию клавиш «Option-Return». В тексте появится символ продолжения — «¬».

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

macedu.narod.ru

редактор скриптов - Русский-Английский Словарь

ru Редактор скриптов SysV

KDE40.1en KDE Sys-V Init Editor Log

ru [RU] Я могу пользоваться любым редактором для написания скриптов?

Common crawlen [EN] Can I use any editor to write scripts?

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

Common crawlen So, before running it, you should open the script in any editor and insert the name of the actual account or user group that will import log files on the remote computer.

ru На рисунке ниже представлен редактор сценариев. Панель слева--Текущий скрипт; там показаны команды, которые вы уже включили в сценарий. Панель справа--Браузер функции; там показан список всех доступных функций. Ниже браузера функций расположена небольшая панель, в которой содержится краткое описание функции выбранной в браузере. Панель ниже текущего скрипта--Аргументы функций; где вы можете изменить аргументы функции выделенной в текущем скрипте

KDE40.1en The Script Builder is shown in the above screenshot. The box on the left is the Current Script box; it shows the list of commands that comprise the current working script. The box on the right is the Function Browser; it displays the list of all available script functions. Below the Function Browser, there is a small panel which will display short documentation about the script function highlighted in the Function Browser. The panel below the Current Script box is the Function Arguments panel; when a function is highlighted in the Current Script box, this panel will contain items for specifying values for any arguments that the highlighted function requires

ru Javi, редактор испанской секции, создал Perl скрипт для управления процессом перевода заметок.

Common crawlen Javi, the Spanish editor, wrote a program to manage the translation status... in Perl.

ru В каталоге /usr/portage Вы найдете под-каталоги со скриптами построения для emerge.В каталоге /usr/portage/app-editors/ находятся например скрипты построения различных редакторов.

Common crawlen The directory /usr/portage/app-editors/ contains e.g. build scripts to build all kind of editors.

ru Наш главный редактор - Guido Socher создал множество Perl скриптов, чтобы нам было проще работать, также он написал три заметки о языке Perl и обзор книги по программированию на Perl(все ссылки в конце заметки).

Common crawlen Our editor in chief, Guido Socher, wrote a lot of Perl programs to make our work much easier. He wrote as well a three parts Perl tutorial and a Perl book review.

ru Чтобы создать новое окно Редактора Сценариев без загрузки в него скриптов, выберите пункт меню New Script Tab из главного меню File.

Common crawlen To create a new Script Editor window without loading a script, choose the New Script Tab option from the File menu.

ru В качестве иллюстрации использования редактора сценариев, мы приведём небольшой пример, где сделаем скрипт, который покажет след Луны, пока часы симуляции идут в ускоренном режиме

KDE40.1en In order to illustrate using the Script Builder, we present a small tutorial example where we make a script that tracks the Moon while the clock runs at an accelerated rate

ru В появившемся окне находится HTML код дефолтного темплейта, для большего удобства его можно скопировать в привычный редактор. На основе этого темплейта раз в 10 минут скрипт будет создавать главную страницу, поэтому туда следует вписать полностью или частично ее код.

Common crawlen Template default_1, which is created automatically, has to be edited so go to admin panel, select section Templates, select default_1 and press Edit.

ru Вверху расположен ряд кнопок, которые оперируют со сценарием как с целым: это (слева на право) Создать скрипт, Открыть скрипт, Сохранить скрипт, Сохранить скрипт как..., и Тестировать скрипт. Значение этих кнопок очевидны, за исключением, может быть, последней. Нажав на кнопку Тестировать скрипт вы запустите его в главном окне & kstars;. Отодвиньте окно Редактора сценариев в сторону, перед тем как нажимать эту кнопку, чтобы увидеть результат выполнения сценария

KDE40.1en Along the top of the window, there is a row of buttons which operate on the script as a whole. From left to right, they are: New Script, Open Script, Save Script, Save Script As..., and Test Script. The function of these buttons should be obvious, except perhaps the last button. Pressing Test Script will attempt to run the current script in the main KStars window. You should move the Script Builder window out of the way before pressing this, so you can see the results

ru Написание DCOP скриптов все-таки является программированием, что может отпугнуть тех, у кого нет опыта программирования. Редактор сценариев предоставляет графический интерфейс (GUI) для конструирования DCOP сценариев & kstars;, что сильно упрощает написание сценариев

KDE40.1en The problem with DBus scripts is, writing them is a bit like programming, and can seem a daunting task to those who do not have programming experience. The Script Builder Tool provides a GUI point-and-click interface for constructing KStars DCOP scripts, making it very easy to create complex scripts

ru Отличаются они символом конца строки, поэтому перед закачкой скриптов на сервер необходимо преобразовать файл в Юникс формат (это позволяют делать многие текстовые редакторы, например UltraEdit) или использовать ASCII режим FTP клиента.

Common crawlen Therefore, you should convert your scripts in Unix format before uploading (it could be done in many text editors, like UltraEdit) or use ASCII mode in your FTP client during uploading.

ru Редактор предназначен для самой привычной работы - редактирования объектов прямо в базе данных. Здесь же доступен отладчик хранимых процедур, инструмент получения полного скрипта базы и SQL монитор.

Common crawlen Our Database Editor puts you in charge of your database—create and modify database objects in your production or development database.

ru Скрипты .htaccess по умолчанию, создаваемые checksetup.pl, не блокируют доступ к резервным копиям файла localconfig, который могут быть созданы такими редакторами, как vi или emacs (обычно их имена имеют суффикс .swp или ~).

Common crawlen The default .htaccess scripts provided by checksetup.pl do not block access to backups of the localconfig file that might be created by editors such as vi or emacs (typically these will have a .swp or ~ suffix).

ru.glosbe.com

редактор скриптов - Russian-English Dictionary

ru Редактор скриптов SysV

KDE40.1en KDE Sys-V Init Editor Log

ru [RU] Я могу пользоваться любым редактором для написания скриптов?

Common crawlen [EN] Can I use any editor to write scripts?

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

Common crawlen So, before running it, you should open the script in any editor and insert the name of the actual account or user group that will import log files on the remote computer.

ru На рисунке ниже представлен редактор сценариев. Панель слева--Текущий скрипт; там показаны команды, которые вы уже включили в сценарий. Панель справа--Браузер функции; там показан список всех доступных функций. Ниже браузера функций расположена небольшая панель, в которой содержится краткое описание функции выбранной в браузере. Панель ниже текущего скрипта--Аргументы функций; где вы можете изменить аргументы функции выделенной в текущем скрипте

KDE40.1en The Script Builder is shown in the above screenshot. The box on the left is the Current Script box; it shows the list of commands that comprise the current working script. The box on the right is the Function Browser; it displays the list of all available script functions. Below the Function Browser, there is a small panel which will display short documentation about the script function highlighted in the Function Browser. The panel below the Current Script box is the Function Arguments panel; when a function is highlighted in the Current Script box, this panel will contain items for specifying values for any arguments that the highlighted function requires

ru Javi, редактор испанской секции, создал Perl скрипт для управления процессом перевода заметок.

Common crawlen Javi, the Spanish editor, wrote a program to manage the translation status... in Perl.

ru В каталоге /usr/portage Вы найдете под-каталоги со скриптами построения для emerge.В каталоге /usr/portage/app-editors/ находятся например скрипты построения различных редакторов.

Common crawlen The directory /usr/portage/app-editors/ contains e.g. build scripts to build all kind of editors.

ru Наш главный редактор - Guido Socher создал множество Perl скриптов, чтобы нам было проще работать, также он написал три заметки о языке Perl и обзор книги по программированию на Perl(все ссылки в конце заметки).

Common crawlen Our editor in chief, Guido Socher, wrote a lot of Perl programs to make our work much easier. He wrote as well a three parts Perl tutorial and a Perl book review.

ru Чтобы создать новое окно Редактора Сценариев без загрузки в него скриптов, выберите пункт меню New Script Tab из главного меню File.

Common crawlen To create a new Script Editor window without loading a script, choose the New Script Tab option from the File menu.

ru В качестве иллюстрации использования редактора сценариев, мы приведём небольшой пример, где сделаем скрипт, который покажет след Луны, пока часы симуляции идут в ускоренном режиме

KDE40.1en In order to illustrate using the Script Builder, we present a small tutorial example where we make a script that tracks the Moon while the clock runs at an accelerated rate

ru В появившемся окне находится HTML код дефолтного темплейта, для большего удобства его можно скопировать в привычный редактор. На основе этого темплейта раз в 10 минут скрипт будет создавать главную страницу, поэтому туда следует вписать полностью или частично ее код.

Common crawlen Template default_1, which is created automatically, has to be edited so go to admin panel, select section Templates, select default_1 and press Edit.

ru Вверху расположен ряд кнопок, которые оперируют со сценарием как с целым: это (слева на право) Создать скрипт, Открыть скрипт, Сохранить скрипт, Сохранить скрипт как..., и Тестировать скрипт. Значение этих кнопок очевидны, за исключением, может быть, последней. Нажав на кнопку Тестировать скрипт вы запустите его в главном окне & kstars;. Отодвиньте окно Редактора сценариев в сторону, перед тем как нажимать эту кнопку, чтобы увидеть результат выполнения сценария

KDE40.1en Along the top of the window, there is a row of buttons which operate on the script as a whole. From left to right, they are: New Script, Open Script, Save Script, Save Script As..., and Test Script. The function of these buttons should be obvious, except perhaps the last button. Pressing Test Script will attempt to run the current script in the main KStars window. You should move the Script Builder window out of the way before pressing this, so you can see the results

ru Написание DCOP скриптов все-таки является программированием, что может отпугнуть тех, у кого нет опыта программирования. Редактор сценариев предоставляет графический интерфейс (GUI) для конструирования DCOP сценариев & kstars;, что сильно упрощает написание сценариев

KDE40.1en The problem with DBus scripts is, writing them is a bit like programming, and can seem a daunting task to those who do not have programming experience. The Script Builder Tool provides a GUI point-and-click interface for constructing KStars DCOP scripts, making it very easy to create complex scripts

ru Отличаются они символом конца строки, поэтому перед закачкой скриптов на сервер необходимо преобразовать файл в Юникс формат (это позволяют делать многие текстовые редакторы, например UltraEdit) или использовать ASCII режим FTP клиента.

Common crawlen Therefore, you should convert your scripts in Unix format before uploading (it could be done in many text editors, like UltraEdit) or use ASCII mode in your FTP client during uploading.

ru Редактор предназначен для самой привычной работы - редактирования объектов прямо в базе данных. Здесь же доступен отладчик хранимых процедур, инструмент получения полного скрипта базы и SQL монитор.

Common crawlen Our Database Editor puts you in charge of your database—create and modify database objects in your production or development database.

ru Скрипты .htaccess по умолчанию, создаваемые checksetup.pl, не блокируют доступ к резервным копиям файла localconfig, который могут быть созданы такими редакторами, как vi или emacs (обычно их имена имеют суффикс .swp или ~).

Common crawlen The default .htaccess scripts provided by checksetup.pl do not block access to backups of the localconfig file that might be created by editors such as vi or emacs (typically these will have a .swp or ~ suffix).

glosbe.com


Смотрите также