首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

判断登录用户:怎么在不同窗体间传递变量

2012-03-21 
判断登录用户:如何在不同窗体间传递变量?用Delphi 7 开发的系统想要根据登录用户的不同,设置某些功能对其

判断登录用户:如何在不同窗体间传递变量?
用Delphi 7 开发的系统

想要根据登录用户的不同,设置某些功能对其是否可用,如:

系统中有一个用户管理的功能,可以查询、增加、修改、删除用户资料,

如果登录系统的是普通用户,则“用户管理”对其不可用,如果是管理员登录,则可用。


如果有许少量用户的身份是管理员,则可以直接判断登录系统的用户名,来进行上述设置。


如果将登录窗体的“用户名”传递到其他窗体以作判断,如欢迎窗体(欢迎XXX),主窗体?

[解决办法]
定义全局变量
[解决办法]
定义全局变量,在其他窗体引用定义的全局变量就可以了
[解决办法]
登陆用户及其权限放到全局变量备用。

调用功能尽量使用:TAction,在 OnUpdate 事件中判断权限。
[解决办法]
声明一个用户信息结构:
Type
TUserInfo=record
FUserName:string[12];
FUserPwd:string[12];
FUserLogonTime:Tdatetime;
FUserType:string[24];//用户权限或其他用途

end;

在主窗体中定义一个全局的用户信息变量
var
UserInfo:TUserInfo;
[解决办法]
续楼上,
定义全局变量
var 
UserInfo:TUserInfo;
在要使用的窗体中调用mainform.UserInfo.FUserName就可以使用用户的姓名了
[解决办法]
续楼上,对全局反感的话用属性

type
myWindow=TFrom
...
private
FUserInfo: TUserInfo;
...
public
property UserInfo: TUserInfo read FUserInfo write SetUserInfo;

在调用窗口Show之前 UserInfo := CurrentInfo; 就可啦

如果你的工程中所有窗口来自继承的话,这些代码不用每个都加





热点排行