假如: 用户数据表:ID            psw
                                admin     123
                                haozi       123
主窗体有3个控件。要求:admin登录之后可以操作主窗体3个控件,haozi登录之后只能控制2个,在线等,知道的麻烦告诉下 ,谢谢(数据库是SQL2000)

解决方案 »

  1.   

    做个登陆窗口,程序加载前从数据库读取用户判断,之后你可以在数据库中加入权限字段,而后程序按照相应的字段值开放控件,显示或者disable都可以
      

  2.   

    多加个权限的字段,填充整数即可if FieldByName('groupid').AsInteger=1 then
    begin
      btnSearch.Enable:=False;
      edtName.Enable:=False;
      ...
    end;
      

  3.   

    在主窗体的Greate事件加判断一下代码可参照
    if 登录名=admin then
    begin
      //设置控件的可操作属性
      控件1.enabled:=true;
      控件2.enabled:=true;
      控件3.enabled:=true;
    end
    else
    begin
      控件1.enabled:=true;
      控件2.enabled:=false;
      控件3.enabled:=false;
    end
      

  4.   

    if 登录名=admin then
    begin
    //设置控件的可操作属性
    控件1.enabled:=true;
    控件2.enabled:=true;
    控件3.enabled:=true;
    end
    else
    begin
    控件1.enabled:=true;
    控件2.enabled:=false;
    同意此法
      

  5.   

    你也可以在数据库建立如下表
    表名 Tusers
    字段      用户名    密码    权限1     权限2     权限3
              admin    admin   1          1       1     //1表示所有权限 0无权限
              user001  00001   0          1       0
             user002  00002   1          0       0
      

  6.   

    你需要多少的权限呢,8种?用一个Byte,从低位到高位,分别代表一种权限,某一位上为1就表示有权限,否则的话就是没有权限。