| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1058 人关注过本帖
标题:求助delphi一个问题,,请帮忙.
只看楼主 加入收藏
cqlhc
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-1-7
收藏
 问题点数:0 回复次数:9 
求助delphi一个问题,,请帮忙.
我想让对像当成变量来操作,例如,

str:='button1';
str:=str+'.visible:=false';
怎么来运行str,得到button1的visible为fasle;
小弟初学delphi.主要是想重数据库中获取权限,并设置相应的按钮.

请大虾指教.
搜索更多相关主题的帖子: delphi 
2010-09-14 17:24
mohao163
Rank: 5Rank: 5
来 自:南宁
等 级:职业侠客
威 望:2
帖 子:79
专家分:383
注 册:2009-9-25
收藏
得分:0 
不知道你什么意思,你可以定义一个事件。
如:
procedure myprocedure;
begin
  form1.Button1.Visible := true;
end;

然后在你想要触发的事件中调用myprocedure就可以了,比如Button事件,timer事件
2010-09-14 19:09
makebest
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:658
专家分:962
注 册:2005-3-17
收藏
得分:0 
还是不要这样投机取巧了, 乖乘用 if else 吧.
2010-09-14 19:57
cqlhc
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-1-7
收藏
得分:0 
谢谢楼上二位,不过我想理论上应该是有这种功能的吧,例如sqlserver exec(@string),,,不知delphi中是否有这样的函数或过程.继续求教中......
2010-09-14 20:09
makebest
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:658
专家分:962
注 册:2005-3-17
收藏
得分:0 
类似宏的用法肯定是不行的, 因为 DELPHI 是完全编译的, 这个可以派上用处:
uses TypInfo;
procedure TForm1.Button1Click(Sender: TObject);
var
    c : TControl;
begin
    c := FindChildControl('Button1');
    if c<>nil then
    begin
        SetPropValue(c, 'visible', 'False');
    end;
end;
2010-09-14 22:03
cqlhc
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-1-7
收藏
得分:0 
谢谢makebest,,此方法可行.同时引出以下两个问题
1.tcontrol只对button 如果是toolbutton,TMenuItem 不知用什么类;
2.button1变量不是写成'form1.button1'加上窗体名称报内存错误
网上查找到以下方法
if (FindComponent('button1') is Tbutton) then TMenuItem(FindComponent('button1')).Visible:=false;
好像也是可行了,同样不能加窗体名称.
不知可有更好的方法..
2010-09-15 12:23
makebest
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:658
专家分:962
注 册:2005-3-17
收藏
得分:0 
在数据库中保存 button1, visible, false 之类的东东来控制权限, 这样的设计简直是不可思议, 完全没有条理.
虽然可以实现, 但还是劝你还是不要这样做
(Application.FindComponent('FrmMain') as TForm).FindComponent('button1')
2010-09-15 12:46
mohao163
Rank: 5Rank: 5
来 自:南宁
等 级:职业侠客
威 望:2
帖 子:79
专家分:383
注 册:2009-9-25
收藏
得分:0 
同意楼上的说法,你可以在数据库中给不同用户设置不同的值,如1,2,3,4......
然后在程序中读取的1的可以看到什么控件,读到2的看到什么控件
2010-09-15 21:54
cqlhc
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-1-7
收藏
得分:0 
谢谢楼上各位,问题已基本解决.结贴了
2010-09-17 09:13
s912360101
Rank: 3Rank: 3
来 自:山西
等 级:论坛游侠
帖 子:168
专家分:147
注 册:2009-3-15
收藏
得分:0 
强哈

孤独是一个人的狂欢
2010-11-03 17:28
快速回复:求助delphi一个问题,,请帮忙.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022003 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved