当前位置:主页>销售管理软件> 列表

一个简单的Delphi问题,求助!

记账软件版1楼: If @account not in(''1001004'',''1001005'',''1001006'',''1005002'',''1005003'',''1010001'',''1030001'',
''4000001'',''4001001'')
上面是用SQL语言写的一个判断某个值是否位于一个集合中。如果用Delphi完成它,该如何写?如果可以用定义集合类型来完成,该如何写代码?。请高手指教,得到答案后将立即结贴散分,谢谢!
注:请不要用if语句或Case语句!

2楼: 关注此题目............. 如用友财务软件价格

3楼: delphi2006可以

4楼: if not(a in ["2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012"])

5楼: to liubin44966:
if not(a in ["2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012"])
这样可以吗?

6楼: 楼主真搞笑,既然是判断哪有不用if或者case的?简单用if和in配合多好干吗非要复杂化

记账软件版7楼: if not(a in ["2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012"]) then

8楼: if not(a in ["2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012"]) then
这样是不行的,Delphi能识别双引号吗?
汗~~~~~~~~~

9楼: 变通一下:
a:=a+''|'';
ipos:=pos(a,
''1001004|1001005|1001006|1005002|1005003|1010001|1030001|4000001|4001001|'');
if ((ipos mod 8)<>1) then
begin
......
end;

注意:delphi 中的集合是有限制的,Sets may have at most 256 elements。

10楼: 可以转换成数字:
if not(strtoint(a) in [2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012]) then

11楼: 我觉得绵绵细雨的回答很有新意,实践证明,这种方法也可行。
非常感谢,等一会就结贴散分。

12楼: 真的是个好办法呀,绵绵细雨。可惜我来晚了。 如erp软件下载

13楼: 接受答案了.