Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.05;
Скачать: CL | DM;

Вниз

Макроподстановка   Найти похожие ветки 

 
Саша   (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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.041 c
3-1099501529
Vova
2004-11-03 20:05
2004.12.05
Добавление записей в таблицу с несколькими одинаково заполнеными


1-1100630052
Fantasist
2004-11-16 21:34
2004.12.05
Sharemem


1-1100942677
Magic_STI
2004-11-20 12:24
2004.12.05
Перевод HTML в RTF


1-1101304126
Mishenka
2004-11-24 16:48
2004.12.05
Переопределение свойства у компанента


1-1101307555
ceval
2004-11-24 17:45
2004.12.05
подскажите как затемнить кнопку Восстановить у формы