objList.ListCount结果为负 -10956

iamdan 2007-04-30 05:59:34
我遇到尖端问题了:遍历系统文件,文件全部加入objList.ListCount,结果为负!怎么才弄得成正的?

For LLine = 1 To objList.ListCount
...
Next LLine

文件少的时候,比如3万行好像还可以,但是一旦多了就变成负了。
...全文
215 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainstormmaster 2007-04-30
  • 打赏
  • 举报
回复
如果,只是想返回objList.ListCount准确数目的话,发送LB_GETCOUNT消息即可
iamdan 2007-04-30
  • 打赏
  • 举报
回复
函数 返回类型 expression 参数范围
CBool Boolean 任何有效的字符串或数值表达式。
CByte Byte 0 至 255。
CCur Currency -922,337,203,685,477.5808 至922,337,203,685,477.5807。
CDate Date 任何有效的日期表达式。
CDbl Double 负数从 -1.79769313486232E308 至 -4.94065645841247E-324;正数从 4.94065645841247E-324 至 1.79769313486232E308。
CDec Decimal 零变比数值,即无小数位数值,为
+/-79,228,162,514,264,337,593,543,950,335。对于 28 位小数的数值,范围则为
+/-7.9228162514264337593543950335;最小的可能非零值是 0.0000000000000000000000000001。
CInt Integer -32,768 至 32,767,小数部分四舍五入。
CLng Long -2,147,483,648 至 2,147,483,647,小数部分四舍五入。
CSng Single 负数为 -3.402823E38 至 -1.401298E-45;正数为 1.401298E-45 至 3.402823E38。
CStr String 依据 expression 参数返回 Cstr。
CVar Variant 若为数值,则范围与 Double 相同;若不为数值,则范围与 String 相同。


CInt Integer -32,768 至 32,767,小数部分四舍五入。
iamdan 2007-04-30
  • 打赏
  • 举报
回复
我设计了变量,解决这个问题。不过,ListCount仍然出错,得到出错的行数最大是32769(也就是说可以支持32768行)。
rainstormmaster 2007-04-30
  • 打赏
  • 举报
回复
//怎么才弄得成正的?

这个好象没办法,ListCount的值是 + - + - 这样分布的,我们无法知道到底经过了多少个循环,也就无法知道它准确的数值
rainstormmaster 2007-04-30
  • 打赏
  • 举报
回复
呵呵,这个是bug,因为ListCount是Integer型的.对于超出的部分,ListCount不负责给出准确的结果

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧