var
  dddd:string;
begin
    dddd:=mystring;
    case dddd of   //为什么在这里不能能过???????????????????提示"ordinal type required"
      '11111':begin
                 ///
               end;
      '00000':begin
               ///
               ////
              end;      end;什么做才可以,不要用if 语气

解决方案 »

  1.   

    老兄,case是用于可比类型的,所以提示ordinal type required,你改成数值型的肯定就不报了!!
      

  2.   

    对于有限的,可以把string封装到set中
      

  3.   

    delphi中的case和vb中的不同,楼上的主意不错。
      

  4.   

    //变通变通
    var
      dddd: string;
    begin
      dddd := mystring;
      case Pos(',' + dddd + ',',//   0        1         2         3         4
    //   1234567890123456789012345678901234567890
        ',11111,00000,') of
        1:
        begin
        end;
        7:
        begin
        end;
      end;
    end;
      

  5.   

    Case 只对数字类型有效,你的字符串有什么规律,如果字符串都是有数字构成,你可以用Strtoint转换一下再使用!