问题1:运行完毕后 List1.ListCount 怎么会是负的,这样我就不能逐条读取List1中的内容(For i = 0 To List1.ListCount - 1);
原因是 行数超过了 list1 的最大行数 32768 行了,所以就得到一个负数。
要解决这个问题,很简单,使用API函数读 LIST1 的行数,得到的范围是 long 值。
问题2:能否加快运行速度?
你代码里,保存临时变量的都是使用的 控件 或 Variant ,改吧,全部改时简单变量。
如 字符串,就保存到 string 类型的数据里,数值,整数使用 long ,小数,使用 Single 。
d2 = ""
d2 = d2 & Right("0" & Hex(c2), 2)
Text1.Text = Text1.Text & d2 & ""
HEX 函数能直接处理 long 值,所以必要使用一个循环,一个字节一个字节的读。可以直接读 integer
二个字节,转成 integer 最简单的方法是 高位字节 *256 + 低位字节 ,可以都使用 十进制数据来运算。
Seek #1, 55
Get #1, , c2
i2=c2*256 '这里要测试第一个读到的是高位,还是低位。
Get #1, , c2
i2=i2+c2
Text1.Text = Text1.Text & i2 & ""
想把List1中的内容逐条再写进“001.2530R1-8026490-01”文件,接在原文件内容的后面写入,该如何编写程序?
新建临时文件 ,先读原文件 ,把内容逐一写入,然后再接着写 新内容。
写完后,删原文件 ,把临时文件改名字为 原文件。
不知道文件格式,没看代码的情况下,这个是通用处理方法。