delphi 变量问题 急!(100)

  • 主题发起人 主题发起人 ATY
  • 开始时间 开始时间
A

ATY

Unregistered / Unconfirmed
GUEST, unregistred user!
if ( copy(currday,6,5) in ('03-31','06-30','09-30','12-31') ) then总是报错,是不是我的写法有问题
 
你的写法不可以,in 一般用于数字型的判断,你改成if (copy(currday,6,5) in ['03-31','06-30','09-30','12-31']) then 试试
 
如果不行你就这样: strcurrday := Copy(currday, 6, 5); if (strcurrday = '03-31') or (strcurrday = '06-30') or (strcurrday = '09-30') or (strcurrday = '12-31') then ...
 
if (copy(currday,6,5)='03-31') or (copy(currday,6,5)='06-30') or (copy(currday,6,5)='09-30') or (copy(currday,6,5)='12-31') then
 
这样: if pos(copy(currday,6,5)+'|','03-31|06-30|09-30|12-31|')>0 then
 
if (copy(currday,6,5) in ['03-31','06-30','09-30','12-31']) then
 
if (copy(currday,6,5) in ['03-31','06-30','09-30','12-31']) then
 
LZ结贴吧,答案都一样了。哈哈
 
楼上几位..delphi从几开始集合可以支持字符串了???
 
楼上的楼上用什么版本???不是在忽悠我吧in只能用于byte和char类型,即0~255,或枚举、集合if 1 in [1,22] thenif 'a' in ['a','b'] thenif shift in tshifttype ...
 
可以用啊,例如a:='3';if a in ['0'..'9'] then 可以了!
 
我用D7测试了一下,确实不能用(copy(currday,6,5) in ['03-31','06-30','09-30','12-31'])这种写法,看来只有老老实实的判断了。
 
这还用试,集合只支持有序类型,比如char byte boolean 枚举
 
in ()里面的东东只能是0..255的整数或者对应ASCII码的字符或枚举值,但是其ORD()都不能超过255
 
后退
顶部