各位熟悉VB的朋友,能帮忙看看这几行代码的意思么?
//这个函数是发送这个指令":MMEM:DATA? 'C:PICTURE.GIF'",应该是把那图片返回到ArrayPtr(0),这个ArrayPtr是什么?
status = viVQueryf(vi, ":MMEM:DATA? 'C:PICTURE.GIF'" + Chr$(10), _"%#y", ArrayPtr(0))
//这Open的"picture.gif"打开也不用指定路径啊,有点疑惑,还有For Binary As #fnum是啥?
fnum = FreeFile()
Open "picture.gif" For Binary As #fnum
isOpen = True
//这里是关键,牵扯到有效数据的截取,大家看看是从哪里开始截得
headerlength = 2 + (Chr$(ResultsArray(1)))
For x = headerlength To length - 2
Put #fnum, , ResultsArray(x)
Next x
以前别人留下的VB代码,现在做我用C#做,目的是通过指令获取远程仪表内的'C:PICTURE.GIF'截图,我用C#返回的数据存图片后打不开,大家帮忙看看下,谢谢了
[解决办法]
fnum = FreeFile() '取得可用的文件号 Open "picture.gif" For Binary As #fnum '采用二进制方式将图面文件打开。 isOpen = True//这里是关键,牵扯到有效数据的截取,大家看看是从哪里开始截得 headerlength = 2 + (Chr$(ResultsArray(1))) ‘这个应该是取得文件头的长度,下面就是正式读数据了,此处应该是说明前面一段是无用的头文件,不用读出 For x = headerlength To length - 2 ‘下面就是读数据了, 将数据放在ResultsArray数组中 Put #fnum, , ResultsArray(x) Next x