Текущий архив: 2006.07.16;
Скачать: CL | DM;
ВнизИзменение алгоритма расчета Найти похожие ветки
← →
sergstud © (2006-05-31 10:49) [0]Надо сделать так, чтобы конечный пользователь мог изменять в
программе алгоритмы вычислений (напр. было x=z+y, а надо
x=2*z-y или что-нибудь подобное, но заранее разработчику
неизвестное)?
Помогите, кто знает.
Заранее благодарен.
← →
MBo © (2006-05-31 11:26) [1]Придется встроить в программу парсер арифметических выражений
В rxlib есть несложный, например
← →
Леприкон © (2006-05-31 11:38) [2]Как вариант - использовать MSScriptControl.
ниже пример использования, для обработки файлов
в переменную strFileName передается имя файла. Так же можно поступить и с X, Y, Z. Не пример для подражания, но пример для раздумий
function TFrmMain.ApplayVBScript(FileName : string; Code : WideString) : boolean;
{обработка файла кодом VBScript}
var iScript : Variant;
strCode : string;
begin
Result := false;
try
//инициализация скриптконтрол
iScript := CreateOleObject("MSScriptControl.ScriptControl");
iScript.SitehWnd := Handle;
iScript.Language := "VBScript";
iScript.Reset;
//передаем в скрипт переменную с именем файла
strCode := "strFileName = "" + FileName + """ + #10#13;
//формируем код скрипта
strCode := strCode + Code;
//выполняем код скрипта
iScript.AddCode(strCode);
//уничтожаем скриптконтрол
iScript := Unassigned;
Result := true;
except
on E : Exception do
begin
Result := false;
strError := E.Message + #10#13;
strError := strError +"(" + iScript.Error.Text + ")" + #10#13;
strError := strError + "строка: " + IntToStr(iScript.Error.Line - 2) + ", столбец: " + IntToStr(iScript.Error.Column);
end;
end;
end;
← →
TUser © (2006-05-31 12:22) [3]http://algolist.manual.ru/syntax/revpn.php
http://algolist.manual.ru/syntax/index.php
Страницы: 1 вся ветка
Текущий архив: 2006.07.16;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.009 c