如何使用In 同 Set呢?(150分)

  • 主题发起人 主题发起人 Thinboy
  • 开始时间 开始时间
T

Thinboy

Unregistered / Unconfirmed
GUEST, unregistred user!
如何使用Set呢?
现在手头上有一组数据,例如:ABC,123,FDA
现在要求得知某个数值在否上述数据范围之类,例如
ABC就属于,而CBA就不属于了!
我曾试用In同 Set,即
DataSet:Set of Byte;
DataSet:=[ABC,123,FDA];
if SomeVar in DataSet then
...
但是发觉Set类不能大于255,所以出错,报告ABC超出范围!
怎办呢?
难道要个定义个数组,用循环来决定是否在范围之类?
那比Set太麻烦了!
求助!!
 
DataSet:Set of WORD;
^^
这样可能可以.
 
liwei兄的建议自然是行不通的.
得回家了.
 
语句:
DataSet:=[ABC,123,FDA];中的ABC、123、FDA是什么?是变量还是字符串?
从错误信息来看,系统将它们视为变量类型了,当然就超出范围了。
你的集合概念太模糊,请查阅Pascal语言的集合类型,好好学习一下,我想你就不
会写出这样的语句的。
良药苦口利于身啊!
 
把你的问题再说清楚一点。
 
系统将它们视为变量类型了,当然就超出范围了.
^^^^^^^^^^^^^^
to Jams:我不知道为什么就当然超出范围了,请不吝赐教.
to thinboy: ABC,是byte 变量吧,byte本身是不能>255的,所以才出现该错误.
另外,Set中的个数确实不能超过255.所以,set of word 肯定错误.
btw: ABC就属于,而CBA就不属于了!到底你想干什么?
ABC是想处理成字符串吗?
 
你未指定变量类型,那你说ABC是Byte、Integer、LongInt的哪一类呢?再说集合
类型中那有使用变量的?
 
多人接受答案了。
 
后退
顶部