如何把字符串转换为可执行的delphi语句?(50分)

  • 主题发起人 主题发起人 党sir
  • 开始时间 开始时间

党sir

Unregistered / Unconfirmed
GUEST, unregistred user!
如下:
var
str:string;
i:intger;
begin
str:='i:=123';
//怎样作使上面语句转化为下面的语句,
//不要教我截取str语句如 i:=strtoint(copy(str,4,3)) 的方法
i:=123;
end;
 
表达式解析?rxlib rxparse or parsing.pas
 
这不可能吧
 
有rxparse吗?我怎么没有看到?
Delphi本身是不支持这个的,这点倒不如Foxpro。
 
parsing.pas 是表达式解析的,但是不能执行常规语句。
 
除非你编译原理很厉害,否则还是用 if 语句吧 :-(
 
如果你还有一点pascal 常识的话,可以这样说,这功能在所有编译型语言中是不可能实现的
foxpro 能实现是因为foxpro的程序是解释型的,delphi 中的sql 能够实现是因为sql 是在
数据库提供者中解释执行的。而在编译型语言中所有语句都必须预先编译成机器语言而不象
解释型语言一边翻译一边执行。
 
除非添加一个脚本解释的功能,例如用DreamScript
 
这是个傻问题。
 
if str = 'i:=123' then i:=123;
呵呵
 
同意iie,简单有效:)
 
我同意“zzh0918”和“iie”的说法,在DELPHI中不可能实现。
 
在你的程序中加入VBScript ACTIVEX控件,这样你就可以在你执行程序时编译了。
当时我也遇到一个控件,他可按PAS代码转换成伪代码来边编译边执行,不过我认为
VBSCRIPT控件还是比较好的,因为他是MS提供的。
 
老兄你是学foxpro出身的吧,习惯了&宏替换。
我觉得除非你是学术研究,如果是实际应用,你应该变换一个思路了。
 
就这50分,14个人分,每人都尝尝鲜吧
 
分赃大会,现在开始!
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部