首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

DELPHI 不等于,该怎么解决

2012-02-24 
DELPHI 不等于DELPHI 中判断我的一个字符串,多个不等于怎么精简,说得不清楚,我举例子:比如说我的beginif s

DELPHI 不等于
DELPHI 中判断我的一个字符串,多个不等于怎么精简,说得不清楚,我举例子:

比如说我的
begin
 if str<>'a' or str<>'b' or str<>'c' or str<>'d' then begin
  showmessage('yes');
end;

--------------------------------------

怎么样可以去掉中间的"str<>" 用一个精简的方法来写?

过年了,祝大家新快乐,龙年吉祥。

[解决办法]
就你这个例子而言可以这样

永远都是真,(Str<>'a') or (Str<>'b') 无论Str是什么,都是真

某些情况,可以用 Str[1]<'a',Str[1]>'d'等等情况来排除连续的
[解决办法]
mstr := ',a,b,c,d,';
if pos(','+str+',',mstr)=0 then
begin
showmessage('yes');
end;

例子中用逗号做分隔,如果判断的字符串中含有逗号,则不能使用它了,选一个不可能出现的字符即可,
比如:~ ` 等等,或者全角的,再或者多个字符的组合
[解决办法]
论执行效率及可读性,肯定都不如原代码好,只是写起来方便些而已
[解决办法]
Str not in ('a','b','c','d')
[解决办法]
字符串不能用in,楼上

热点排行