Форум: "Основная";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
ВнизМакроподстановка Найти похожие ветки
← →
Саша (2004-11-24 16:29) [0]Здравствуйте.
Мне хотелось бы записать в строковую переменную некоторый кусок кода, а потом выполнить его. Как это можно сделать?
← →
clickmaker © (2004-11-24 16:32) [1]Искать скриптовые компоненты. Например, на torry.ru
← →
Digitman © (2004-11-24 16:33) [2]
> Как это можно сделать?
для сей цели имея либо готовый интерпретатор либо имея в строке маш.код, готовый к непоср.исполнению
← →
Alexander Panov © (2004-11-24 18:10) [3]Саша (24.11.04 16:29)
Мне хотелось бы записать в строковую переменную некоторый кусок кода, а потом выполнить его. Как это можно сделать?
Поищи примеры с использованием WSH - Windows Script Host
← →
Yanis © (2004-11-24 18:19) [4]Оооооо. Круто.
Тогда FastScript. http://www.fast-report.com/ru/products/products.php?BID=5
За качество отвечаю.
p.s. Правда компонентики платные. Но дмаю ~500 рубликов не проблема.
← →
Alexander Panov © (2004-11-24 18:24) [5]Yanis © (24.11.04 18:19) [4]
Можно и так, но WSH входит в Windows как компонент...
← →
Ega23 © (2004-11-24 18:29) [6]Alexander Panov © (24.11.04 18:24) [5]
В NT 4 не входит, насколько мне известно. По крайней мере WSH 2.0
← →
programania © (2004-11-24 18:42) [7]Запиши в текстовый файл, например R.dpr, строку, например:
"program R;uses dialogs;begin showMessage("Выполняюсь!")end."
выполни в свернутом виде
"c:\Program Files\Borland\Delphi5\Bin\DCC32.exe" R.dpr
выполни
R.exe
← →
Юрий Зотов © (2004-11-24 18:50) [8]> programania © (24.11.04 18:42) [7]
Правда, придется распространять вместе с программой и компилятор, и файлы VCL... но это ведь не страшно, верно?
← →
panov © (2004-11-24 18:54) [9]>Ega23 © (24.11.04 18:29) [6]
В NT 4 не входит, насколько мне известно. По крайней мере WSH 2.0
Это да, но можно установить отдельно.
← →
programania © (2004-11-24 20:33) [10]>Юрий Зотов
Для транслятора Delphi нужно 2400k или даже меньше,
страшно это или нет не знаю
>Саша
>...некоторый кусок кода...
если этот кусок код, а не исходный текст,
то его можно записать по адресу процедуры move(... после
VirtualProtect(@procedura,4069,PAGE_READWRITE,OldProt);
и выполнить эту процедуру.
← →
Alexander Panov © (2004-11-24 20:48) [11]Например, используем JScript:
uses
OleCtrls, MSScriptControl_TLB, StdCtrls,ActiveX;
var
ScriptControl1:TScriptControl;
procedure TForm1.Button4Click(Sender: TObject);
var s,ss:string;
begin
ScriptControl1:= TScriptControl.Create(nil);
ScriptControl1.Language:="JScript";
Label1.Caption:="WSH ver. ";
s:=ScriptControl1.Eval("ScriptEngineMajorVersion()");
ss:=ScriptControl1.Eval("ScriptEngineMinorVersion()");
Label1.Caption:=Label1.Caption+ s+"."+ss;
ScriptControl1.Free;
end;
← →
Alexander Panov © (2004-11-24 20:52) [12]да, забыл копирайт...
(c) Adder
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.043 c