Макросы в 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

_