数据库中某字段保存了一个字符串:'button1.enabled:=true;',怎样在程序中运行这个字符串? 同题!!就好像Sql server里的EXEC()功能.DELPHI用的是什么语句? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你是执行sql语句ADOQuery1.ExecSQL如果你是想执行button1.enabled:=true1.找脚本解析的控件2.界面上找button1,然后这是属性,这样肯能要修改一下数据的组织方式,便于你提取信息 我想执行:button1.enabled:=true ,不是执行sql语句 先取出字段的内容,然后看它是true还是false,显然为true,那么:button1.enabled:=true;你的思路是好的,但放在数据库中多此一举。可放在ini中、注册表中或用dfm格式来存储属性值推荐用Ini文件,解释起来最方便 我想做一个比较复杂权限控制表,要控制多个属性:如Readonly,visible,enabled等;如能在数据表中保存用户名和各控件名称以及各属性值,在程序运行时按据登录用户名直接读取数据表,并合并成一个可执行的语句(button1.enabled:=true;),再运行这个语句,以达到控制的目的,这样很方便,只是关键问题是:如何运行这个语句?不知有没有这样的方法?请各侠指点下实在不行使用其它方法 DELPHI的RTTI还是弱了点,做这样的东西估计技术难度比较大(真要做好的话),例如说反射方法会有限制,又没有动态代理。楼主还是看看能不能稍微从简点? 或者可以考虑试试一些Pascal脚本引擎,例如FastScript 权限控制可不能这样做呀,你可以用一个actionmanager管理actioin,按钮及菜单执行action,可以为每一个action设置不同的表示,比如tag,库中建立tag与操作项目的权限对应,在用户登录后,读取数据,判断tag是否有相应的权限对应,如果没有或者有,但是为0(权限不够),那么就把action的enable置为False 其实用Action这个只能控制菜单和Button这些,不能控制EDIT,DBGRID,MEMO等控件,觉得还不够灵活,所以才有想法,不过好像不太好操作,FastScript没用过,看功能说明好像可以 Action对于控制窗体函数是无能为力的,要控制窗体函数就只能靠AOP或动态代理,但是DELPHI这方面是缺陷。Action可以控制到控件的级别。 看看李维的inside vcl,办法是有的,难的是脚本解释如果想自己写的话就得啃编译原理了,就算直接照着lex & yacc的书也不是一时半会儿能弄出来的 求解一元多次方程的源码??? 多线程文件搜索的问题,送上全部分了,在线等待!!!! 请高手帮忙了 问个小菜鸟的问题 一个批量打印条码的程序,可以被你的软件调用! 怎样才是Vcl控件?up有分 哪儿有INSTALLSHIELD7。0的编程资料 TwwDBGrid控件实际输入字符与字段值不同步的问题。 用WinSock控件进行二进制文件传输问题 怎样将图片等自动化对象插入到TRichEdit组件中 很奇怪:本想得到机器名,但得到是却是Hello World 问一句,SQL语句
如果你是执行sql语句
ADOQuery1.ExecSQL如果你是想执行button1.enabled:=true
1.找脚本解析的控件
2.界面上找button1,然后这是属性,这样肯能要修改一下数据的组织方式,便于你提取信息
推荐用Ini文件,解释起来最方便
权限控制可不能这样做呀,你可以用一个actionmanager管理actioin,按钮及菜单执行action,可以为每一个action设置不同的表示,比如tag,库中建立tag与操作项目的权限对应,在用户登录后,读取数据,判断tag是否有相应的权限对应,如果没有或者有,但是为0(权限不够),那么就把action的enable置为False
如果想自己写的话就得啃编译原理了,就算直接照着lex & yacc的书也不是一时半会儿能弄出来的