Tag属性怎么理解?听说对对权限、角色设置都是通它来变通的,能否给出来个实例,谢谢,
谢谢各位,祝大家钱程似锦、身体健康。这是最后10分,希各位仁兄海涵,谢谢

解决方案 »

  1.   

    晕! 不就是做个标志吗?
       procedure TMainFrm.MenuExecute(Sender: TObject);
       var
         n: integer;
       begin
         n := 0;
       if (Sender is TMenuItem) then
         n := (Sender as TMenuItem).Tag;
         case n of
           1: showmessage('11');
           2: showmessage('12');
           3: showmessage('13');
           4: showmessage('14');
         end;
       end;
      

  2.   

    1、用位的方法,将tag的值转为二进制后,每一位可以表示一个意思,比如是否显示,0表示不显示,1表示显示。但缺点就是1个位只能表示两个选择,如果有3个选择以上的话就要用多位来表示。
    2、用十进制的方法,个位表示一个意思,十位表示一个意思这样的话,每个位就可以有0-9,共十个选择,但缺点就是位数比较少了。
      

  3.   

    怎么这个MenuItem在属性中显示为0啊
      

  4.   

    怎么这个MenuItem的tag属性中显示为0啊
      

  5.   

    各位兄弟能否给一个实例 ,小弟我非常谢谢
                                                    [email protected]
      

  6.   

    coeltdit(睫毛上的冰) 华仔,谢谢。。你发过来的,俺看明白了,谢谢.我想要是遍历,然后通表和tag来设置权限.
                                      分一定是你的,包括明天!
      

  7.   

    其实 主要是看你自己的逻辑设计 然后用TAG只是一种实现方法而已,但是这种设计方法如果没有文档的话 不是那么好维护的。。怎么这个MenuItem的tag属性中显示为0啊
    // 这个是默认的跟你你的业务规则 比如分为5类权限 那么 你可以把TAG这么设定
    1000
    2000
    3000
    4000
    5000 剩余的以后扩充然后你还需要在数据库<或者文件中>对某一角色<对最原始的人的一种抽象>进行与tag值的对应关系 那么当一个人登录时 首先获得其角色 然后获取其tag值 然后再对比
      

  8.   

    在CSDN上看到了这样一个表结构,但不知  T_Object这个对象表有什么作用了
    方法一:  
     
    用户表:  
    T_UserInfo  
       id  
       name  
     
    对象表:  
    T_Object  
       id  
       name  
     
    权限表  
    T_Access  
       accessid  
       userid(外键,来自用户表)  
       objectid(外键,来自对象表)  
       access(用代码记录用户的权限组合:  
           1000  浏览  
           1100  浏览、添加  
           1110  浏览、添加、编辑  
           1111  浏览、添加、编辑、删除  
           等)  
      

  9.   

    谢谢,龙哥!谢谢!
    能不能给俺发一个实例:[email protected]
      

  10.   

    我有些明白了,但这种怎么遍历了,不可能 oncreate事件一个一个的加吧
      

  11.   

    是的 这是要看你的业务规则以及设计方法的。。
    向你上面的例子 跟 我说的就不一样了比如 你的权限设定到菜单 或者设置到BUTTON 都有不一样的设计了
    你自己可以试着去 做一个简单的 就2个权限吧 一个读 一个读&写
      

  12.   

    不用 一个一个加 但是需要一个一个判断。
    比如你是到菜单的 那么你就根据其tag值判断 不符合规则那么 Enable= false..就可以了。。
    这个动作可以再登录的时候处理
      

  13.   

    谢谢,晚上就练一练:
    在CSDN上看到了这样一个表结构,但不知  T_Object这个对象表有什么作用了
    方法一:  
     
    用户表:  
    T_UserInfo  
       id  
       name  
     
    对象表:  
    T_Object  
       id  
       name  
     
    权限表  
    T_Access  
       accessid  
       userid(外键,来自用户表)  
       objectid(外键,来自对象表)  
       access(用代码记录用户的权限组合:  
           1000  浏览  
           1100  浏览、添加  
           1110  浏览、添加、编辑  
           1111  浏览、添加、编辑、删除  
           等)
      

  14.   

    这个t_ojbect就现在 看起来还没什么用 因为他与t_userinfo 没什么联系
    也不像说的 角色
      

  15.   

    看来T_object应该是保存是设置权限的对象. 比如软件模块,系统功能.