Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> vb script, расширение функционала 
:(
    Опции темы
Dapo
  Дата 25.3.2011, 04:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 18.4.2002

Репутация: нет
Всего: 1



Всем привет. Вопрос следующий: есть программа поддерживающая vbscript (сервер по обработке входящих данных). Входящих данных огромное количество и каждое требует пересчета по одной и той же формуле но с разными параметрами. Возможно-ли отдельно написать функцию с этой формулой, а потом использовать ее в скриптах сервера напрямую? Типа как sin, cos и т.д. Сами скрипты для пересчета данных между собой не связаны, т.е. для каждой переменной нужно писать эту большую формулу.

Спасибо. И если ошибся разделом - прошу извинить.

Это сообщение отредактировал(а) Dapo - 25.3.2011, 04:08
PM MAIL   Вверх
iff
Дата 25.3.2011, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: -1
Всего: 16



Цитата(Dapo @  25.3.2011,  04:06 Найти цитируемый пост)
Возможно-ли отдельно написать функцию с этой формулой

Да.


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
Dapo
Дата 28.3.2011, 02:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 18.4.2002

Репутация: нет
Всего: 1



Цитата(iff @ 25.3.2011,  12:23)
Цитата(Dapo @  25.3.2011,  04:06 Найти цитируемый пост)
Возможно-ли отдельно написать функцию с этой формулой

Да.

Как?
PM MAIL   Вверх
iff
Дата 28.3.2011, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: -1
Всего: 16



Объявив функцию.
Код

Function MyFunc (Par1, Par2, Par3)
    '...
    MyFunc = x
End Function


Если хотете конкретного решения: предоставте ваш код.


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
Dapo
Дата 29.3.2011, 04:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 18.4.2002

Репутация: нет
Всего: 1



А внимательно пост прочитать не судьба? Мне негде функцию объявлять. Все что имею - это шаблон функции для обработки входящего значения:
Код

Option Explicit
Function Convert (value)
  Convert = value  //здесь обрабатываем значение
End Function


Это заготовка. И такую функцию я должен описать для каждого входящего значения. у меня нет возможности в этой программе создать модуль с необходимыми мне функциями и потом юзать их для разных элементов. Т.е. для каждого входящего значения мне нужно писать километровый пересчет. Вот и вопрос о расширении функционала VBS. Чтобы эта программа видела мою функцию также, как видит sin, cos и т.д. Чтобы моя функция стала "родной" для интерпретатора VBS.
Ну если еще проще:

Convert = value*12.5-240.... и т.д. //сейчас так

Convert=MyFunc(Value) //надо так


Это сообщение отредактировал(а) Dapo - 29.3.2011, 04:37
PM MAIL   Вверх
Akina
Дата 29.3.2011, 07:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Да пжалста... пиши свой модуль с СОМ-объектом, потом цепляй его через CreateObject и юзай его методы.
Цитата(Dapo @  29.3.2011,  05:31 Найти цитируемый пост)
Convert=MyFunc(Value) //надо так

Будет чо-нить типа
Код
Set MyFuncs = CreateObject("MyLib")
Convert = MyFuncs.FuncX(value)



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
iff
Дата 29.3.2011, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: -1
Всего: 16



 smile 
Например у вас было (для трех значений):
Код

Function Convert1 (value)
  Convert1 = value*12.5-240
End Function
Function Convert2 (value)
  Convert2 = value*12.5-241
End Function
Function Convert3 (value)
  Convert3 = value*12.5-242
End Function

А переделать можно так:
Код

Function Convert1 (value)
  Convert1 = Calc(value, 240)
End Function
Function Convert2 (value)
  Convert2 = Calc(value, 241)
End Function
Function Convert3 (value)
  Convert3 = Calc(value, 242)
End Function

Function Calc (value, Par)
  Calc = value*12.5-Par
End Function



Это сообщение отредактировал(а) iff - 29.3.2011, 15:09


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
Dapo
Дата 30.3.2011, 02:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 18.4.2002

Репутация: нет
Всего: 1



iff! Ну как же вы не поймете, Капитан Очевидность? Вот Akina, похоже верное решение подсказал. В бэйсике не силен:
Код

Set MyFuncs = CreateObject("MyLib")
Convert = MyFuncs.FuncX(value)

Этого достаточно чтобы вызвать функцию ком-объекта или есть пропущенные строчки при добавлении которых в каждую функцию обработки сия затея теряет смысл?
PM MAIL   Вверх
Dapo
Дата 30.3.2011, 06:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 18.4.2002

Репутация: нет
Всего: 1



Последний вопрос снимается, разобрался. В принципе - работоспособная идея, Akina +1
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.1120 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.