我有一个BIN格式的数据,如下:
00000010H: 01 00 74 01 E2 FF ; ??....?D...?
我想问怎么样可以把01 00 74 01 E2 FF 提取到GRID中来,并且变成如下
0001 0174 FFE2
盼各位大侠赐教
00000010H: 01 00 74 01 E2 FF ; ??....?D...?
我想问怎么样可以把01 00 74 01 E2 FF 提取到GRID中来,并且变成如下
0001 0174 FFE2
盼各位大侠赐教
调试欢乐多
Dim s, a, t() As String
s = "01 00 74 01 E2 FF"
a = Split(s)
ReDim t(UBound(a) \ 2)
For i = 0 To UBound(t)
t(i) = a(i * 2 + 1) & a(i * 2)
Next
MsgBox Join(t, vbTab)
End Sub
比如说文件为D:\TEMP\123.BIN这个文件,文件中有N个这样的行,怎么提取呢
Dim hFile As Integer, iData As Integer
hFile = FreeFile()
Open "C:\Temp\a.csv" For Binary Access Read As #hFile
While Not EOF(hFile)
Get #hFile, , iData
Debug.Print Right$("000" & Hex(iData), 4) '自己转换成 Grid 的输出
Wend
Close #hFile
End Sub
就按照楼上的编码就可以了吗?
谢谢!\
4 楼误解了。这应该是二进制文件在某种读写软件中的视图。这样:Dim intTmp(2) As IntegerOpen "D:\TEMP\123.BIN" For Binary As #1
Get #1, , intTmp
Close #1Get #1, , intTmp 就得到一行(3 个整数)。如果你希望读取多行,循环这句就可以了:Open "D:\TEMP\123.BIN" For Binary As #1
Do Until EOF(1)
Get #1, , intTmp
'放到网格中去
strTmp = ""
For i = 0 To 2
strTmp = strTmp & Righ("000" & Hex(intTmp(i)), 4)
If i < 2 Then strTmp = strTmp & vbTab
Next i
MSFlexGrig1.AddItem strTmp
Loop
Close #1