我现在碰到这样的一个问题,请教一下高手,就是关于权限的设置问题,我用一个checklistbox里面有13个radiobutton,分另代表不同的操作权限,我想在选定权限后,‘TRUE’用‘1’代表,‘FALSE’用‘0’代表,并存于表‘permit’字段中,在此请问,
   1、有怎样简单的方法一下全部的定义13个radiobutton在选的情况下为‘1’,不选的情况下为‘0’;
   2、是否有简单的方法将选定的radiobutton定义后的‘0’‘1’值有序的放入表中
   3、怎样的取表中的数据,并对应相关的权限
以上
最好是有完整的程序,并在此谢谢过

解决方案 »

  1.   

    不管怎麼樣,你都要遍歷所有item,隻不過是用程序實現罷了。想想應很簡單呀。
      

  2.   

    写个简单的转换程序,将boolean型的转为integer形,将integer型转为boolean型
      

  3.   

    将13个RadioButton的权限用'0'和'1'表示,存入一个String中,用','分隔
    下面帮你写了两个过程,第一个是根据RadioButton状态生成字符串,第二个根据字符串内容给RadioButton.Checked赋值。procedure TForm1.Button1Click(Sender: TObject);
    var
      i: integer;
      s: string;
    begin
      s := '';
      for i:=1 to 13 do
      begin
        if FindComponent('RadioButton'+IntToStr(i)) <> nil then
        begin
          if TRadioButton(FindComponent('RadioButton'+IntToStr(i))).Checked then
            s := s + '1,'
          else
            s := s + '0,';
        end;
      end;
      s := Copy(s, 1, Length(s)-1);
      ShowMessage(s);end;procedure TForm1.Button2Click(Sender: TObject);
    var
      sl: TStringList;
      s: string;
      i: integer;
    begin
      sl := TStringList.Create;
      s := '1,1,1,1,1';
      sl.DelimitedText := s;
      sl.Delimiter := ',';
      for i:=1 to 13 do
      begin;
        if FindComponent('RadioButton'+IntToStr(i)) <> nil then
        begin
          if s[i]='1' then
            TRadioButton(FindComponent('RadioButton'+IntToStr(i))).Checked := true
          else
            TRadioButton(FindComponent('RadioButton'+IntToStr(i))).Checked := false;
        end;
      end;
      FreeAndNil(sl);
    end;
      

  4.   

    权限的话,用Word类型比较方便
    1,
    2,
    4,
    8,
    ....分别代表某个权限,&&,||关系又好处理