◇如果把剩余长度属性加入自定义结构体,这样必定不行,应该这样:◇调试通过◇仅作参考,请自行修改完善Option ExplicitPrivate Type typeUserData strName As String * 12 strPassword As String * 12 strContent As String * 28 lngRemainLength As Long '26 End Type Private m_udtContent As typeUserDataPrivate m_lngPosition As LongPrivate Sub Command1_Click()
m_lngPosition = 1000
ReadData m_lngPosition
End Sub Public Sub ReadData(ByVal lngStartPosition As Long)
Dim o_intFileNum As Integer
o_intFileNum = FreeFile
Open "c:\abc.dat" For Binary As #o_intFileNum Get #o_intFileNum, m_lngPosition, m_udtContent With m_udtContent .lngRemainLength = LOF(o_intFileNum) - m_lngPosition - 78 - 26 + 1
MsgBox .strName MsgBox .strPassword MsgBox .strContent MsgBox .lngRemainLength End With Close #o_intFileNum
strName As String * 12
strPassword As String * 12
strContent As String * 28
lngRemainLength As Long '26
End Type
Private m_udtContent As typeUserDataPrivate m_lngPosition As LongPrivate Sub Command1_Click()
m_lngPosition = 1000
ReadData m_lngPosition
End Sub
Public Sub ReadData(ByVal lngStartPosition As Long)
Dim o_intFileNum As Integer
o_intFileNum = FreeFile
Open "c:\abc.dat" For Binary As #o_intFileNum
Get #o_intFileNum, m_lngPosition, m_udtContent
With m_udtContent
.lngRemainLength = LOF(o_intFileNum) - m_lngPosition - 78 - 26 + 1
MsgBox .strName
MsgBox .strPassword
MsgBox .strContent
MsgBox .lngRemainLength
End With
Close #o_intFileNum
End Sub