我是学c出身的,可下面这段代码在delphi上就是实现不了,请问我该怎么改!
 t:String;
  a:integer=0; 
  b:integer=0;
  c:integer=0;
  d:integer=0; case  (a. b .c .d)   of
     (1,0,1,0):t:='aaaaaaaaaaaaaa';break;
     (1,1,1,0):t:='bbbbbbbbbbbbb';break;
     (1,1,1,1):t:='ccccccccccccc';break;
     (0,1,1,1):t:='dddddddddddddd';break;
     (0,1,1,0):t:='eeeeeeeeeeeeee';break;
     (0,1,0,1):t:='ffffffffffffff';break;
     end;
我的a,b,c,d都是个标志,当他们取不同的植,组成不通的组合,那么字符串t也就
取不同的直

解决方案 »

  1.   

    case  (a, b ,c ,d)   of
    (1,0,1,0):t:='aaaaaaaaaaaaaa';
    (1,1,1,0):t:='bbbbbbbbbbbbb';     (1,1,1,1):t:='ccccccccccccc';     (0,1,1,1):t:='dddddddddddddd';     (0,1,1,0):t:='eeeeeeeeeeeeee';     (0,1,0,1):t:='ffffffffffffff';     
    end;
    试试
      

  2.   

    你变通一下,再定义一个数h : integer;
    h := abcd,如(a,b,c,d)(1,0,1,0) 则h = 1010, (1,1,1,0),则h = 1110.delphi中的case要有序类型
      

  3.   

    哈哈哈,幸亏来的不算晚,快给分吧!
    procedure TForm1.Button1Click(Sender: TObject);
    Var
      t,x:String;
      a,b,c,d,y:integer;
    begin
      a:=1;
      b:=0;
      c:=1;
      d:=0;
      x:=inttostr(a)+inttostr(b)+inttostr(c)+inttostr(d);
      y:=strtoint(x);
      case y of
         1010:t:='aaaaaaaaaaaaaa';
         1000:t:='bbbbbbbbbbbbb';
         1111:t:='ccccccccccccc';
         0101:t:='dddddddddddddd';
         0110:t:='eeeeeeeeeeeeee';
      end;
      showmessage(t);
    end;