DELPHI 中判断我的一个字符串,多个不等于怎么精简,说得不清楚,我举例子:比如说我的
begin
 if str<>'a' or str<>'b' or str<>'c' or str<>'d' then begin
   showmessage('yes');
end;--------------------------------------怎么样可以去掉中间的"str<>" 用一个精简的方法来写?过年了,祝大家新快乐,龙年吉祥。

解决方案 »

  1.   

    就你这个例子而言可以这样永远都是真,(Str<>'a') or (Str<>'b') 无论Str是什么,都是真某些情况,可以用 Str[1]<'a',Str[1]>'d'等等情况来排除连续的
      

  2.   

    mstr := ',a,b,c,d,';
    if pos(','+str+',',mstr)=0 then
    begin
       showmessage('yes');
    end;例子中用逗号做分隔,如果判断的字符串中含有逗号,则不能使用它了,选一个不可能出现的字符即可,
    比如:~ ` 等等,或者全角的,再或者多个字符的组合
      

  3.   

    Str not in ('a','b','c','d')
      

  4.   

    谢谢各位,我用的是【erhan】哥的。只是想简化一下代码,感觉用IF OR OR...这样不好看得。