各位大虾,不知道你们如何解决这个问题!(100分)

Z

zyf23

Unregistered / Unconfirmed
GUEST, unregistred user!
我想把事先保存在字符串中的一段代码执行出来,如果不用编译器,有其他的好
办法没有!
如(任意写的):
str:='self.left:=10
self.top:=10;self.width:=182;self.height:=180;';
该如何办?
请高手指教!
 
创意很好,不知道能不能实现
 
如果字符串能够是固定样式,可能有办法吧。
//关注此题。
 
看<编译原理>自己写一个解析器吧.
 
如果只是设置这些简单的属性用ini文件就行了,每次create的时候读入并设置,写注册表也行
 
其实这个问题与利用代码实现窗体及控件的创建是一个道理。这方面的技术文章很多。
找一找就可以了,至于字符串的解析,panjf说的有道理,利用ini文件就可以了。

完兄:学pipi不像。呵呵。
 
各位可能曲解我的意思了,
query.sql.add('select * from aa.db');
query.open;
实际不就是把字符串中的代码执行出来的,当然这是用的sql语句解析器,

我现在主要想做的是在canvas上绘制图形(绘制图形的代码在数据库中存放),这些图形种类很多,并且我还想让用户可以跟据
实际的需要添加一部分图形,这些图形的绘制就向计算机制图一样,我想肯定必须做一部分解析工作,
但不知如何下手,请各位指教!

另:谁有这方面的小程序、资料希望能给俺指点一二!
 
我这里有一个存文件的,不过功能不太完善,文件格式是protel 的
jszmail@263.net
 
to ugvanxk:
我的mail是:zyf23@163.net
或 dayhillbird@sdzg.com (20M)
 
其实任何一种语言或准语言都有一些保留字,才能有编译器来读解,因此,我认为,你如果想作的好一些的话,便免不了写一个微编译器
 
如果是画图形的话,你是不必将绘图代码写入数据表的,只需将图形的参数(如形状,大小
位置,颜色等)写入数据库就行了,画图时,从数据库调入数据选用相应的画图函数,这些
函数是事先编好的。再者,你总不会要求你的用户要会写他自定义图形的绘图代码吧。
 
还是用面向对象的思路吧

你先分析一下AutoCAD的文件格式,就知道谁的思路更好了
 
这还可以?!
楼主的意思是将字符串转换为语句了 ,试试

procedure Name ;
begin
ShowMessage('1234') ;
end;

s : String ;

S := 'Name' ;
s
//能得到 ShowMessage('1234')吗 ?

楼主想将数据库中的字段内容转换为绘图语句认为不可能,除非有这样一个协议,它可以在
Delphi 与 数据库(具体到按照特定格式的数据)之间形成您所需要的通信,就像 Sql 字符串
可以在数据库中被处理一样,需要协议 。 现在有吗 ? 不知道
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
顶部