Список форумов Форум Libreoffice

Форум Libreoffice

Добро пожаловать на Форум Libreoffice!
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

English French German Italian Portuguese Russian Spanish
Javascript & Basic - пример взаимодействия

 
Начать новую тему   Ответить на тему    Список форумов Форум Libreoffice -> Basic
Предыдущая тема :: Следующая тема  
Автор Сообщение
mathnew



Репутация: 0    

Зарегистрирован: 20.08.2011
Сообщения: 24

СообщениеДобавлено: Пт Сен 23, 2011 5:38 pm    Заголовок сообщения: Javascript & Basic - пример взаимодействия Ответить с цитатой

Продолжение темы взаимодействия программ на Basic и скриптовых языках:
на BeanShell пример был приведен ранее http://libreoffice.3nx.ru/viewtopic.php?t=22.
Рассмотрим теперь взаимодействие программ на Javascript и Basic.
Создание скрипта на Javascript практически ничем не отличается от описанного для BeanShell.
(Пример тот же: вычисление гипотенузы прямоугольного треугольника по его катетам.)
1. Сервис - Макросы - Управление макросами - Javascript... - Макросы LibreOffice - Создать
Создаем библиотеку Library1.
2. Library1 - Создать
Создаем макрос Sqrt (расширение .js добавится автоматически)
3. Содержимое этого макроса, вставленное по умолчанию, следует удалить и вставить следующий код:
Sqrt.js
Код:
a = ARGUMENTS[0];
b = ARGUMENTS[1];

var func = new Function("x", "y", "return Math.sqrt((x *x + y*y))");

ret = func(a,b);

Макрос на Basic:
Код:
Sub Sqrt_JS
scriptname="Library1.Sqrt.js"

oScriptReplace = createUnoService("com.sun.star.script.provider.MasterScriptProviderFactory")._
   createScriptProvider("")._
   getScript("vnd.sun.star.script:" & scriptname & "?language=JavaScript&location=share")

a=3
b=4

sReturn = oScriptReplace.invoke(Array(a, b),Array(),Array())

    msgbox "c = " & sReturn

end sub

Результат выполнения макроса:

Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Форум Libreoffice -> Basic Часовой пояс: GMT
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Вы можете бесплатно создать форум на MyBB2.ru, RSS