Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура компьютера.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
293 Кб
Скачать
☆

Вопрос 14)

Макропрограммирование

InDesign имеет развитую поддержку макропрограммирования на языках Ap-pleScript на платформе Macintosh и Visual Basic for Applications на платформе PC. Макроязык обеспечивает возможность автоматизации практически любых задач, выполняемых в InDesign, Поскольку эти макроязыки используются для программирования во всех приложениях на указанных платформах, макроопределения могут задействовать не только сам InDesign, ко и другие приложения, например, текстовый редактор или электронные таблицы.

Макропрограммирование дает множество преимуществ, обеспечивая: автоматизацию рутинных, часто выполняемых задач;

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

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

Хотя в макропрограммировании требуются в основном те же навыки, что и в обычном программировании, масштабы проекта в макропрограммировании обычно намного меньше. Макропрограммирование, как правило, решает очень узкие задачи (например, добавление пользователя или принтера), и написание макропрограммы не является таким сложным делом и не требует такого уровня способностей, как профессиональное программирование в обычном смысле этого слова. Кроме того, поскольку автор макропрограммы часто является администратором, обработка ошибок и вопросы функционирования пользовательского интерфейса, в большинстве случаев сопутствующие созданию приложений, не являются такими масштабными и труднопреодолимыми.

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

Макросы нужны для того, чтобы автоматизировать ввод часто используемых последовательностей коман, и сократить число нажатий на клавиши для постоянно повторяющихся действий. К тому же значительно проще запомнить, что нужно нажать CTRL-F1, чтобы произвести проверку орфографии и поместить список неправильно набранных слов is конец текущего файла, чем каждый раз вспоминать и набирать команды. В vi есть три типа макросов: команда :тар, которая исполняет последовательность нажатий на клавиши в командном режиме; команда :тар!, делающая то же самое, когда вы запускаете режим ввода текста; и :abbr которая дает возможность ввести сокращения для часто используемых слов и выражений и • автоматически восстанавливать их полную форму в режиме ввода. Можно непосредственно ввести эти команды в vi, когда включен командный режим, или включить их в .ехгс. Лично мы считаем, что полезно иметь разные наборы макросов для разных проектов и включать эти наборы в соответствующие файлы .ехгс, находящиеся в головном каталоге каждого проекта.

Стековые команды. Команда с чистит стек. Команда d дублирует число в вер- хушке стека. Команда z заносит в стек длину стека. Команда X заменяет число в верхушке стека его точностью. Команда Z заменяет верхушку стека его длиной. Все стековые команды манипулируют только словами и сопровождаются автоматичес- кой модификацией указателя стека: при включении в стек произво- дится декремент, а при извлечении из стека - инкремент SP. До выполнения стековых команд регистры SP и SS должны быть инициализированы. Команда PUSH включает в стек содержимое адресуемого регистра или ячейки памяти, а команда POP извлекает содержимое вершины стека и передает его в регистр или ячейку памяти. Команды POSHF и POPF предназначены для временного запомина- ния в стеке и последующего восстановления из стека содержимого регистра флагов. С их помощью можно изменять состояние флага трассировки TF, так как команд прямого воздействия на этот флаг нет

Подпрограмма - это поименованный блок PL/SQL, который принимает параметры и может быть вызван. PL/SQL имеет два типа подпрограмм, называемых ПРОЦЕДУРАМИ и ФУ1ЖЦИЯМИ. Обычно процедуру вызывают для того, чтобы выполнить некоторое действие, а функцию - для того, чтобы вычислить некоторое значение. Как и непоименованные (АНОНИМНЫЕ) блоки PL/SQL, подпрограммы имеют декларативную часть, исполняемую часть и необязательную часть обработки исключений. Декларативная часть содержит объявления типов, курсоров, констант, переменных, исключений и вложенных подпрограмм.