Программирование "макросыв Super Calc4"
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, то запуск программы будет осуществляться нажатием клавиш
Запуск MACRO-программы может быть осуществлён двумя способами:
ВАРИАНТ 1.
Нажмите
ВАРИАНТ 2.
Если вы дали MACRO-программе название с помощью \ и буквы,её можно запустить одновременно нажатием клавиши
- 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
Служебный вид панели экрана при работе режимов 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.Выход из режима
Использование LERAN-режима.
LEARN-режим обепечивает автоматическую запись каждой нажатой вами клавиши в определённом месте таблицы в виде MACRO-команды.Схема работы LEARN-режима:
Действие
Набор клавиш
1.Ввод границ дипазона,в котором вы будете размещать текст макроса.
2.Вход в режим.
3.Выполнение операций ,предназначенных для описания в макросе.
4.Временный выход из режима LEARN: а)переход в DIRECT-режим б)ввод в макрос текста с
клавиатуры
в)возврат в LEARN-режим
5.Выход из режима
//Macro,Learn,<диапазон>
Теперь вам остаётся дать имя макросу и запусть его в работу.Так можно создать как 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
Отменяет возможность прерывания макроса по команде
Включает возможность прерывания макроса по команде
Переход выполнения макроса на
- 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
Приостановка выполнения макроса:
до нажатия клавиши
до нажатия клавиши
до нажатия любой клавиши
до введения по адресу:
-записи,с клавиатуры
-диапазона клеток
-диапозона столбцов
-любой клавиши
-числа
-номера строки
-текста
Выключение режима ВСТАВКА
Включение режима ВСТАВКА
Всавка в текст фигурной скобки
Создание BACKUP-файла
Презапись файла
- 9 -
ПРИМЕР
Если мы на протяжении какого- то время ни работаем с определённой таблицей, то каждый раз при загрузке SuperCalc4 нам приходятся выполнять ряд действий для загрузки нашей таблицы (например, EXAMPLE.CAL). Это задание можно упрастить с помощью MACRO-команд.
Для этого создадим MACRO-файл с именем L.XQT (от слова Load), который и будет загружать данную таблицу.Выполним ряд команд:
1.Войдём в SuperCalc4 запуском файла SC4.COM
2.Выберем меню //Macro,Learn
3.Затем введём диапазон клеток (например столвец B)
4.Нажатием
5.Далее выполняем действия ,которые хотим поместить в MACRO-файл ( >
6.Выйдем из режима LEARN нажатием
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 запустить,нажатием клавиш
Если необходимо чтобы EXAMPLE.CAL загружалась всегда после запуска SuperCalc4,нужно только переименовать L.XQT в AUTOEXEC.XQT
- 10 -
ИСПОЛЬЗУЕМАЯ ЛИТЕРАТУРА :
* Черемных О.С. "SuperCalc 4 и 5 - руководство подьзователя" - М.,1992
* Литвин О.Ф. "Табличный процессор SuperCalc4."
М.:Финансы и статистика, ЮНИТИ, 1991
* Рыжкова М.Ю.,Миргалиев И.А.,Казакова И.И.
"SuperCalc4.Основы организации и методы работы" - М.:
"КОМЭК",1992
* Дойл У. "Табличный процессор SuperCalc для
персонального компьютера." - М.:Финансы и статистика,
1987
_