The Mesa 2 tips and tricks


The Mesa 2 tips and tricks

Как написать свою функцию на REXX

Рассмотрим простейший пример - функция, возвращающая произведение двух параметров. Добавим лист скрипта в нашу рабочую книгу (щелкнем правой кнопкой мыши на заголовках листов и выберем пункт "Add script"). Переключимся на этот скрипт и введем текст функции:

   /*  Возвращает произведение двух чисел */
   v1 = ARG(1)
   v2 = ARG(2)
   return v1 * v2

Теперь переключимся на рабочий лист и введем в ячейки A1 и A2 числа 17 и 15, а в ячейке A3 введем формулу =RUNSCRIPT(1,"Script001",0,A1,A2). После того как мы нажмем ENTER, в ячейке A3 появится произведение ячеек A1 и A2 - 255 (разумеется вид самого числа будет зависеть от формата представления).

Внутри своих функций на REXX вы можете использовать около 50 функций MScript, которые позволят вам добраться до любого листа книги, до любой ячейки, скажут вам текущий цвет той или иной области и т.д. и т.п. При желании, вы можете сохранить свои скрипты в файле GLOBALS.M2. В этом случае (если вы не запретили загрузку этого файла в параметрах программы) все ваши функции будут доступны во всех создаваемых таблицах.

Как добавить импорт DBF-файлов

Довольно просто... Распакуйте вот этот файл mdbf.zip в каталог, в котором у вас установлена Mesa 2 и дайте команду ADDFF MESADBF.DLL. Вот и все - теперь в окне открытия файлов у вас появится еще один тип - dBase files.

Как из программы на REXX что-нибудь сделать с Mesa 2

Что подразумевается под этим? Предположим, что Mesa 2 запущена, а в другом окошке исполняется программа на REXX, которая что-то выводит на экран и вам хотелось бы чтобы это "что-то" автоматически появлялось в той или иной ячейке того или иного листа, и менялся бы цвет того или иного региона, а может быть и автоматически создавался график... Все это можно и довольно просто. Для начала убедитесь, что каталог с Mesa 2 добавлен в LIBPATH. Теперь в своих программах на REXX вы можете использовать функцию POSTMESACOMMAND, которая экспортируется библиотекой MESASCPT.DLL. Напишем простую программу, которая в ячейке A1 рабочего листа A выведет на синем фоне слово Привет!!!.

  /* Пример взаимодействия с Mesa 2 */

  Call RxFuncAdd "POSTMESACOMMAND", "MESASCPT", "POSTMESACOMMAND"

  rc = POSTMESACOMMAND("PUTC('Привет!', '[A]A1')")
  rc = POSTMESACOMMAND("SETBKGCOLOR(255, '[A]A1')")

  Exit

В качестве параметра для POSTMESACOMMAND может выступать любая из функций MScript, оформленная в качестве строки. Еще раз напоминаю, что сама Mesa 2 должна быть запущена - вы можете проверять это кодом возврата RxFuncAdd (в нашем примере это не проверяется).

Если Вы хотите что-нибудь добавить или спросить, обращайтесь к Timur Kazimirov.


Интересные ссылки:
Комментариев к странице: 0 | Добавить комментарий
Домой | Проект ядро Core/2 | Проект OS/4 Download | Новости | Гостевая книга | Подробно обо всем | Нужные программы | Проекты | OS/2 FAQ | Всячина | За и Против | Металлолом | #OS2Russian | RDM/2 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ