Макросы в Super Calc4

Макросы в Super Calc4 Макросы в Super Calc4 ВЕДЕНИЕ В MACRO. MACRO - это последовательность указаний (MACRO - ко­манд), которые могут контролировать работу таблицы и сос­тояние экрана в SuperCalc4.SuperCalc4 предлагает широкий выбор MACRO - команд. Последовательности MACRO - команд выполняют повторяю­щиеся действия быстро и аккуратно.Они могут быть как прос­тыми , так и сложными.Вы можете сохранить MACRO внутри ка­кой-то одной таблицы и использовать её для работы только с этой таблицей.А можете создать MACRO в виде отдельного файла на диске и использовать его слюбой таблицей. СТРУКТУРА MACRO Для удобства дальнейшего изложения поясним сначала терминологию SuperCalc4. Термины Значения .MACRO .MACRO - команды .MACRO - клавиши Макросы .MACRO - файл .MACRO - прог-ма язык пакета SC4 операторы языка MACRO MACRO - команды, используемые для ввода в действие клавиш,не дающих изоображение на экране. программа на языке MACRO, для соз- дания которой используется команда //Macro,Write. Результатом выполнения этой коман- ды является отдельный текстовый файл, записанный на диск с рсшире- нием .XQT.Он может быть использо- ван в любой талице SuperCalc4. программа на языке MACRO, создан- ная внутри какой-то одной таблицы и в ней хранящаяся. Она предназна- чена для обработки только этой таб. НАИМЕНОВАНИЕ И ЗАПУСК МАКРОСОВ. Составленный из языка MACRO - команд макрос может су­ществовать и работать в двух видах: либо как MACRO-прог­рамма, либо MACRO-файл. Для того, чтобы макрос заработал, ему необходимо дать имя и запустить его.Различают три ос­новные части макросов: во-первых,команды для выполнения; во-вторых,метки для выделения отдельных частей макроса; в-третьих,комментарии для пояснения каждого шага. ---------------------------------------------------------| | A || B || C || 1 2 3 4 5 6 МЕТКИ MACRO-КОМАНДЫ КОММЕНТАРИИ chek if D1=3branch m Если D1=3,то на метку М beep Иначе издать гудок m let d1,2 Ввод 2 в клетку D1 branch check Пойти на метку chek -------------------------------------------------------------- - 2 - Для размещения составных частей макросов в SuperCalc4 используются три любые последовательные колонки,напри­мер:первая колонка - для меток (колонка A);вторая - для MACRO-команд (колонка B);третья - для комментариев (колон­ка C). Для работы необходима вторая колонка.Остальные две ко­лонки необязательны, но именно они делают макрос легким для чтения и загрузки.Вторая (основная) колонка составля­ется из клеток содержащих текст.Эти клетки называются MACRO-клетками и содержат MACRO-команды.Некоторые MACRO-команды заключаются в фигурные скобки,например: DOWN,VIEW,CALL. Некоторые - записываются в таком же виде ,как (/)-ко­манды SuperCalc4,если бы вы выполняли их набором первых букв команд,например: /GB - снятие бордюра; /OPGQ - выод на печать. Все символы в SuperCalc4 (буквы,числа,знаки препина­ния) вводятся с клавиатуры,т.е. просто нажатием соответс­твующей клавиши.Исключение составляют символы и ~,кото­рые при вводе в макрос необходимо заключить в фигурные скобки: и ~.Для клавиш ,не дающих изоображение на эк­ране,используются их названия.MACRO-команды,используемые для ввода в действие таких клавиш называются MACRO-клави­шами. НАИМЕНОВАНИЕ И ЗАПУСК МАКРОСОВ Составленный из MACRO-команд макрос может существовать и работать в двух видах :либо как MACRO-программа,либо как MACRO-файл.Для того,чтобы макрос заработал ,ему необходимо дать имя и запустить его. MACRO-программа. Для присвоения имени MACRO-программе используется ко­манда /Name,Create.Имя даётся первой клетке програм­мы.Признаком конца программы является пустая клетка.Таким образом,начало программы задаёт пользователь,а конец опре­деляет SuperCalc4.Имя MACRO-программы может быть любым.Но для ускорения вызова MACRO-программы её имя должно быть одиночной буквой,которой предшествует ()-Backslash.Напри­мер ,если дать программе имя R, то запуск программы будет осуществляться нажатием клавиш <ALT>-<R>. Запуск MACRO-программы может быть осуществлён двумя способами: ВАРИАНТ 1. Нажмите <ALT>-<F5> или <ALT>-<=>,затем в строке ввода наберите имя MACRO-программы.Например,для запуска MACRO-программы с именем TABEL нажмите одновременно <ALT>-<F5>,затем введите TABEL и нажмите <ENTER>.А можно просто нажать <ALT>-<F5>,подвести курсор в первую клетку MACRO-программы и нажать <ENTER>. ВАРИАНТ 2. Если вы дали MACRO-программе название с помощью и буквы,её можно запустить одновременно нажатием клавиши <ALT> и соответствующей буквы. - 3 - MACRO-файл. Для работы с MACRO-файлами существует комманда //Macro. Набрав в сроке ввода //Macro,вы попадёте в меню: --------------------------------------------------------| | A || B || C || D || E || F || G || H || -------------------------------------------------------------| | 1 | | | . | | | . | | | 19 | | | 20 | | ------ | | ->A1 | Learn Read Write eXeute | 9>//Macro, | MENU Define learn Range (ALT-F4 to enable) | -------------------------------------------------------------- Описание опций команды //Macro I Learn - определяет дипазон клеток для режима LEARN. II Read - загружает MACRO-файл в указанное место в таблице По умолчанию MACRO-файлы имеют расширение .XQT. После ввода имени файла и диапазона клеток для его загрузки в PROMPT-строке появится меню: --------------------------------------------------------| | A || B || C || D || E || F || G || H || -------------------------------------------------------------| | 1 | | | . | | | . | | | 19 | | | 20 | | ------ | | ->A1 | All Macros-Only Labels-Macros Comment-Macros | 22>//Macro,Read,W,A3:C9, | MENU Read/Write macros, labels and comments | -------------------------------------------------------------- Значения опций этого шага: All - загружает весь MACRO-файл,располагая метки слева от основного диапазона,а комментарии справа.Колонка A не может быть использована для основного диапазона. Macros-Only - загружает только MACRO-команды в основ­ной диапазон. Labels-Macros - загружает только метки и MACRO-команды. Comment-Macros - загружает только MACRO-команды и ком­ментарии. III Write - записывает указанный диапазон клеток в файл на диск с расширением .XQT.Если файл с таким именем существу­ет, то SuperCalc4 в PROMPT-строке предложит :Change, Backup, Overwrite. - 4 - --------------------------------------------------------| | A || B || C || D || E || F || G || H || -------------------------------------------------------------| | 1 | | | . | | | . | | | 19 | | | 20 | | ------ | | ->A1 | Change Backup Overwrite | 20>//Macro,Write,W.XQT | MENU File exists: Change name on disk | -------------------------------------------------------------- Ниже приведены значения опций этого шага: Change - позволяет изменить или отредактировать имя файла. Backup - записвает на диск два файла:найденный с расшире­нием BAK;новый с расширением XQT Overwrite - полностью перписывает старый файл на новый. После вода имени файла и диапазона клеток для его за- писи в PROMPT-строке появится меню: --------------------------------------------------------| | A || B || C || D || E || F || G || H || -------------------------------------------------------------| | 1 | | | . | | | . | | | 19 | | | 20 | | ------ | | ->A1 | All Macros-Only Labels-Macros Comment-Macros | 23>//Macro,Write,W,A3:C9, | MENU Read/Write macros, labels and comments | -------------------------------------------------------------- Ниже приведены значения опций этого шага: All - запишет весь MACRO-файл,располагая метки слева от основного диапазона,а комментарии справа.Колонка A не может быть использована для основного диапазона. Macros-Only - запишет только MACRO-команды в основ­ной диапазон. Labels-Macros - запишет только метки и MACRO-команды. Comment-Macros - запишет только MACRO-команды и ком­ментарии. IV Execute - запуск MACRO-файла из таблицы. Autoexec - Macro. Вам может потребоваться, чтобы MACRO-программа автома­тически запускалась призагрузке таблицы.Для этого дайте ей название: AUTOEXEC. Для автоматическго запуска MACRO-файла призапуске па­кета SuperCalc4,надо дать ему имя AUTOEXEC.XQT. - 5 - MACRO-РЕЖИМЫ В SuperCalc4 существует три MACRO-режима работы,кото­рые приведены в таблице : Режим Включение/выключение STEP LEARN DIREСT <ALT> <ALT> <ALT> <F2> <F4> <F6> Служебный вид панели экрана при работе режимов MACRO,STEP,LEARN,DIRECT: ->B2 With: 1> READY 9 Memory: 379 Last Col/Row:K2 F1:Help F3:Names Ctrl-Break:Chanel MACRO ----- ->A1 With: 1> READY ----------------------------------------- 9 Memory: 379 Last Col/Row:A1 F1:Help F3:Names Ctrl-Break:Chanel ------------ STEP ----- ->A1 With: 1> READY ----------------------------------------- 9 Memory: 379 Last Col/Row:A1 F1:Help F3:Names Ctrl-Break:Chanel ------------ LEARN ----- ->A1 With: 1> EDIT ----- ----------------------------------------- 9 Memory: 379 Last Col/Row:A1 F1:Help F3:Names Ctrl-Break:Chanel ----------------------------------------- ------------ DIRECT ------------ Использование STEP-режима. Включив STEP-режим,вы можете следить за ходом выполне­ния макроса от оператора к оператору(пошагово). Вид служебной панели при выполнении макроса в этом ре­жиме: ------------------------------------------------------------ ->B2 Text="SUSPEND With: 9 Memory: 379 Last Col/Row:B3 1> READY F1:Help F3:Names Ctrl-Break:Chanel F8:STEP4/0@B1/1 ------------------------------------------------------------ - 6 - В INDICATOR -части строки появляется подсказка: F8:STEP - x/y Здесь координаты x/y обозначают ряд и номер позиции символа в исполняемой MACRO-команде. При работе макроса в таком режиме перход от действия к действию происходит при нажатии клавиш F8.После выполнения MACRO-команды вы можете пользоваться стрелками для движению по экрану и делать все необходимые изменения, но прежде,чем нажать клавишу F8, верните курсор на исходную позицию.Схема работы STEP-режи­ма показана в таблице: Действие Клавиши 1.Вход в режим 2.Переход от одной MACRO-команды к другой 3.Выход из режима <ALT>-<F2> <F8> <ALT>-<F2> Использование LERAN-режима. LEARN-режим обепечивает автоматическую запись каждой нажатой вами клавиши в определённом месте таблицы в виде MACRO-команды.Схема работы LEARN-режима: Действие Набор клавиш 1.Ввод границ дипазона,в ко­тором вы будете размещать текст макроса. 2.Вход в режим. 3.Выполнение операций ,пред­назначенных для описания в макросе. 4.Временный выход из режима LEARN: а)переход в DIRECT-режим б)ввод в макрос текста с клавиатуры в)возврат в LEARN-режим 5.Выход из режима //Macro,Learn,<диапазон> <ALT>-<F4> <ALT>-<F6> <ALT>-<F6> <ALT>-<F4> Теперь вам остаётся дать имя макросу и запусть его в работу.Так можно создать как MACRO-программу ,так и MACRO- файл Использование DIRECT-режима. Этот режим используется как вспомогательный режим для времееного выхода из LEARN-режима.Он задаётся только из режима LEARN, и в нём команды не выполняются. ОПИСАНИЕ MACRO-КОМАНД. Все существующие MACRO-команды SuperCalc4 можно разде­лить на три вида: экранные, управляющие и MACRO-команды для ввода данных. - 7 - Экранные MACRO-команды. SuperCalc4 даёт возможность с помщью MACRO-команд контролировать вид служебной панели и подачу компьютером звуковых сигналов.Для этого используются 12 MACRO-команд, которые приведены в таблице: MACRO команда Значение 1.BEEP x 2.INDICATOR "текст" 3.MACROPROMPT "текст" 4.MESSAGE "текст" 5.PROMPT "текст" 6.STATUS "текст" 7.PANELOFF 8.PANELON 9.ENTRYOFF 10.ENTRYON 11.WINDOWSOFF 12.WINDOWSON Звуковой сигнал, повторяющий­ся x раз Замена INDICATOR в строке HELP на заданный текст (до 5 символов) Замена MACROPROMPT в строке HELЗ на заданный текст (до 18 символов) Замена MESSAGE в строке HELP на заданный текст (до 49 сим­волов) Контроль строки PROMPT Контроль строки STATUS Блокировка строки ENRTY,фик­сация изоображения в других строках служебной панели Восстановление нормальной функции всех строк служебной панели Очистка строки ENTRY Восстановление нормальной функции строки ENTRY Блокировка динамического ото­бражения окна таблицы Восстановление нормальной функции отображения окна таб­лицы Управляющие MACRO-команды. SuperCalc4 включает MACRO-команды управления, позволя­ющие составлять макросы из различных типов логических конструкций (последовательных,циклических,ветвление), а также MACRO-команды, полностью контролирующие процесс об­работки электронной таблицы.Все управлящие MACRO-команды приведены в таблице: MACRO команда Значение 1.BRANCH xx 2.BREAKOFF 3.BREAKON 4.CALL xx x1,x2... Переход выполнения макроса на указанную метку xx Отменяет возможность прерыва­ния макроса по команде <CTRL>-<BREAK> Включает возможность прерыва­ния макроса по команде <CTRL>-<BREAK> Переход выполнения макроса на - 8 - MACRO команда Значение 5.COMMENT "текст" 6.DEFINE клетки 7.DELAY T 8.DISPATCH xx 9.IF условие 10.LABEL xx 11.LET клетка,xx 12.MENU xx 13.QUIT 14.RESTART 15.RETURN метку xx (с возвратом и пере- дачей параметров x1,x2... Ввод комментариев в текст макроса Ввод аргументов ,переданных командой CALL,в заданные клетки Прерывание процесса макроса на число секунд указанное в T Продолжение макроса с клетки, указанной в xx Условный оператор Метки в MACRO-файлах Ввод переменных или выражений (xx) в указанную клетку Оператор, обозначающий начало функции МЕНЮ Прерывание макроса Отмена всех "возвратов", оп­ределёнными CALL Возврат выполнения команде , следующей за командой CALL MACRO-команды для ввода данных. MACRO-команды этого вида реализуют в SuperCalc4 ввод данных пользователемв интерактивном режиме.Сюда также от­носятся так называемые вспомогательные команды,контролиру­ющие работу режима ВСТАВКА и процесс записи файлов на диск. Все они приведены в таблице: MACRO команда Значение 1.? 2.SUSPEND 3.KEY 4.GET адрес 5.GETCELLS текст,адрес 6.GETCOLS текст,адрес 7.GETKEY текст,адрес 8.GETNUMBERтекст,адрес 9.GETROWS текст,адрес 10.GETTEXT текст,адрес 11.INSERTOFF 12.INSERTON 13., 14.BACKUP 15.OVERWRITE Приостановка выполнения мак­роса: до нажатия клавиши <ENTER> до нажатия клавиши <F8> до нажатия любой клавиши до введения по адресу: -записи,с клавиатуры -диапазона клеток -диапозона столбцов -любой клавиши -числа -номера строки -текста Выключение режима ВСТАВКА Включение режима ВСТАВКА Всавка в текст фигурной скобки Создание BACKUP-файла Презапись файла - 9 - ПРИМЕР Если мы на протяжении какого- то время ни работаем с определённой таблицей, то каждый раз при загрузке SuperCalc4 нам приходятся выполнять ряд действий для заг­рузки нашей таблицы (например, EXAMPLE.CAL). Это задание можно упрастить с помощью MACRO-команд. Для этого создадим MACRO-файл с именем L.XQT (от слова Load), который и будет загружать данную таблицу.Выполним ряд команд: 1.Войдём в SuperCalc4 запуском файла SC4.COM 2.Выберем меню //Macro,Learn 3.Затем введём диапазон клеток (например столвец B) 4.Нажатием <ALT>-<F4>,войдём в режим LEARN 5.Далее выполняем действия ,которые хотим поместить в MACRO-файл ( </> <L> EXAMPLE.CAL <ENTER> <A> -- для /Load,Example.CAL,All ) 6.Выйдем из режима LEARN нажатием <ALT>-<F4> 7.Для удобства в клетку С1 введём кооментарии,а в A1-метки. Установим необходимую ширину для удоства чтения. Если мы сдела ли всё правильно ,то на экране увидим : | A | B || C || 1 | 2 | 3 | . | . | 19 | 20 | МЕТКИ L MACRO-КОМАНДЫ /LExample.CAL~A КОММЕНТАРИИ | ;Load,Example.CAL,All | | | | | | ->A1 Text="L | With: 7 Memory: 379 Last Col/Row:C2 | 1> | READY F1:Help F3:Names Ctrl-Break:Chanel | | -------------------------------------------------------------- 8.Запишем MACRO-команды командой //Macro,Write,L,B,All 9.Теперь мы можем наш MACRO-файл L.XQT запустить,нажа­тием клавиш <ALT>-<L>. Если необходимо чтобы EXAMPLE.CAL загружалась всегда после запуска SuperCalc4,нужно только переименовать L.XQT в AUTOEXEC.XQT - 10 - ИСПОЛЬЗУЕМАЯ ЛИТЕРАТУРА : * Черемных О.С. "SuperCalc 4 и 5 - руководство подьзо­вателя" - М.,1992 * Литвин О.Ф. "Табличный процессор SuperCalc4." М.:Финансы и статистика, ЮНИТИ, 1991 * Рыжкова М.Ю.,Миргалиев И.А.,Казакова И.И. "SuperCalc4.Основы организации и методы работы" - М.: "КОМЭК",1992 * Дойл У. "Табличный процессор SuperCalc для персонального компьютера." - М.:Финансы и статистика, 1987 _