приложение используюшие скрипты
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



приложение используюшие скрипты Expand / Collapse
Автор
Сообщение
23.09.2006 19:17
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 26.09.2006 19:09
Сообщ.: 28, Visits: 260
Необходимо написать приложение, использующие скрипты как модули расчетов.
Задача состоит в том, что предлагаемое приложение просто написать в стандартном варианте, чтоб весь код находился в откомпилированном файле, не возможно. Так как функции, принципы расчета, математика, постоянно меняются, а в некоторых случаях придется создавать что-то своё отличающиеся от эталонных кодов.

Тут и появляется первый вопрос, как можно оформить в коде идею, к примеру, передачи данных скрипту и передачи результата обратно в основную программу, не переписывая сам скрипт.
Я прекрасно понимаю, что есть возможность просто добавлять в файл скрипта необходимые входные данные, но это не подходит, так как кроме передачи данных необходимо получать результат обратно.

Для примера как оформить такой код, передаем параметры цикла от 1 до 10, а в цикле возвращаем фразу “hello world” обратно в программу в текстовое поле.

Хотелось бы чтоб код был на VB 6 или Delphi 7, так для меня будет понятней.
Сообщ. #904766
05.10.2006 11:35
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 23.08.2008 19:49
Сообщ.: 1 577, Visits: 17 092
Можно экспортировать TLB скрипт-контрола Microsoft Script Control, экспортированный файл прописать в uses и использовать примерно так:

{$APPTYPE CONSOLE}
uses ActiveX, MSScriptControl_TLB;
var
  scr: TScriptControl;
begin
  CoInitialize(nil);
  scr := TScriptControl.Create(nil);
  scr.Language := 'VBS'; // Используем VBScript
  scr.AddCode('A = 55'); // Код сразу выполняется.
  scr.AddCode('B = 11');
  scr.AddCode('X = A + B');
  scr.AddCode('MsgBox X'); // Окно с результатом
  WriteLn(scr.Eval('X')); // Результат вытаскивается в делфи и печатается
  scr.Free;
end.
Сообщ. #905295
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 4:51