我在程序中设置了一个Long整型变量a,一个String 变量b
Private Sub Command1_Click()
Dim a As Long
a = 5
Dim b As String
b = "bbb"
fHndl = FreeFile(0)
Open "c:\a.a" For Binary As fHndl
Put #fHndl, , a
Put #fHndl, , b
Close #fHndl
End Sub但读出来的时候,只见a,的值,B为空,请教大家怎么读不出来
Private Sub Command2_Click()
Dim a As Long
Dim b As String
fHndl = FreeFile(0)
Open "c:\a.a" For Binary As fHndl
Get #fHndl, , a
Get #fHndl, , b
Close #fHndl
End Sub
Private Sub Command1_Click()
Dim a As Long
a = 5
Dim b As String
b = "bbb"
fHndl = FreeFile(0)
Open "c:\a.a" For Binary As fHndl
Put #fHndl, , a
Put #fHndl, , b
Close #fHndl
End Sub但读出来的时候,只见a,的值,B为空,请教大家怎么读不出来
Private Sub Command2_Click()
Dim a As Long
Dim b As String
fHndl = FreeFile(0)
Open "c:\a.a" For Binary As fHndl
Get #fHndl, , a
Get #fHndl, , b
Close #fHndl
End Sub
Private Sub Command1_Click()
Dim a As Long
a = 5
Dim b As String
b = "bbb"
fHndl = FreeFile(0)
Open "c:\a.a" For Binary As fHndl
Put #fHndl, , a
Put #fHndl, , b
Close #fHndl
End Sub'但读出来的时候,只见a,的值,B为空,请教大家怎么读不出来
Private Sub Command2_Click()
Dim a As Long
Dim b As Long
fHndl = FreeFile(0)
Open "c:\a.a" For Binary As fHndl
Get #fHndl, , a
Get #fHndl, , b
Close #fHnd
MsgBox a
MsgBox Chr(b Mod 256) & Chr(Int(b / 256) Mod 256) & Chr(int(b / 256 / 256) mod 256)
End Sub
'但是用以下方法也行.
Private Sub Command2_Click()
Dim a As Long
Dim b As String * 4 '设置字符型数据有几个字节, 以便于以多少个字节读取数据.
fHndl = FreeFile(0)
Open "c:\a.a" For Binary As fHndl
Get #fHndl, , a
Get #fHndl, , b
Close #fHnd
MsgBox a
MsgBox b
End Sub
Dim a As Long
a = 5
Dim b As String
b = "bbbd"
fHndl = FreeFile(0)
Open "c:\a.a" For Binary As fHndl
Put #fHndl, , a
Put #fHndl, , b
Close #fHndl
End Sub
Private Sub Command3_Click()
Dim a As Long
Dim b As Long '最多读出四位字符 '如果是汉字以下的读出规则就变为二个字节一个字符
fHndl = FreeFile(0)
Open "c:\a.a" For Binary As fHndl
Get #fHndl, , a
Get #fHndl, , b
Close #fHnd
'因为二进制读取,因此读出来的数据是数据,不是字符型的,因此要变为字符型 要进行转换
MsgBox a
MsgBox Chr(b Mod 256) & Chr(Int(b / 256) Mod 256) & Chr(Int(b / 256 / 256) Mod 256) & Chr(Int(b / 256 / 256 / 256))
End Sub
'用以下方法也行
Private Sub Command2_Click()
Dim a As Long
Dim b As String * 4 '最多读出四位字符 '如果是汉字以下的读出规则就变为二个字节一个字符
fHndl = FreeFile(0)
Open "c:\a.a" For Binary As fHndl
Get #fHndl, , a
Get #fHndl, , b
Close #fHnd
MsgBox a
MsgBox b
End Sub
这样就不用担心因为数据类型不同,而出现问题了.
b=space(lLen)
Get #fHndl, , b 就行了.不过这样的话比较麻烦,VB6对于已知的数据类型其实是可以自动处理好的.那么,这里就有一个技巧,我常用这个方法来批量保存程序配置信息.这主要是利用自定义类型,具体请看代码:private type MyConfig
bIsAutoRun as boolean
bIsHide as boolean
sUserName as string
sSN as string
lX as long
lY as long
end typedim varConfig as myconfigwith varconfig
.lx=123
.ly=456
.sUsername="嗷嗷叫的老马"
.sSN = "XXXX-XXXX-XXXX-XXXX"
......................
end with写的情况:open "xx" for binary as #1
put #1,,varconfig
close #1
读的情况:open "xx" for binary as #1
get #1,,varconfig
close #1
很方便吧,哈哈.这比起使用INI更加方便了