WideString(Trim(str))[1] not in['你','我','他']怎么这样不可以啊

解决方案 »

  1.   

    集合操作只允许byte级别的。即0..255如你用这个试试  if x in [255,256] then
    也会出错。想别的办法吧。
      

  2.   

    var
      str: string;
    begin
      str := '我路过';
      if not (WideString(Trim(str))[1] in[WideString('你')[1], WideString('我')[1],
       WideString('他')[1]]) then
       ShowMessage('接分');
    end;
      

  3.   

    //修正一下,这样可以
    var
      str: WideString;
    begin
      str := '又是我路过';
      if str <> '' then
        case str[1] of
          #20320, #25105, #20182: ;
          //你 我 他 //设置属性Label1.Caption = '你 我 他'; 复制Label1控件到代码编辑器中,就可以知道汉字的Unicode
        else ShowMessage('接分');
        end;
    end;
      

  4.   

    //集合常量到256就不能编译了
      if i in [256, 257] then ;
    //Unicode是双字节相当于Word 0-65535