7,762
社区成员
发帖
与我相关
我的任务
分享
Option Explicit
Private Type DataType
A As Long
B As Long
End Type
Dim FileName$ '文件名
Dim Istart As Long '起始字节
Dim Lrec As Long '需读取的记录数
Dim DatBuf() As DataType '数据存放数组
Private Sub Command1_Click()
'读取数据文件
Dim L&
ReDim DatBuf(Lrec - 1)
L = Len(DatBuf(0)) * Lrec
If FileLen(FileName) < L + Istart - 1 Then
MsgBox "文件长度太小!"
Else
Open FileName For Binary As #1
Get #1, Istart, DatBuf
Close #1
'
MsgBox "文件读取成功,从" & Istart & "字节起读取了" & L & "字节。"
End If
End Sub
Private Sub Command2_Click()
' 生成DEMO数据
ReDim DatBuf(Lrec - 1)
Dim i&, H$
For i = 1 To Lrec
DatBuf(i - 1).A = Int(Rnd * 10000)
DatBuf(i - 1).B = Int(Rnd * 10000)
Next i
Open FileName For Binary As #1
H = "This is a DEMO !"
Put #1, , H
Put #1, Istart, DatBuf
Close #1
End Sub
Private Sub Form_Load()
FileName = "demo.dat"
Istart = 17 '文件字节从1起算
Lrec = 32767
End Sub
Dim bytData(20-2) As Byte
Open App.Path & "\data.dat" For Binary As #1
Get #1, 2, bytData
Close #1
Option Explicit
Private Type TyData
a As Long
b As Long
End Type
Private Sub Command1_Click()
Dim aryInput() As TyData
Debug.Print Now(), "开始"
ReDim aryInput(FileLen("B:\1.dat") / 8 - 1) '因为tydata的长度为8个字节
Open "B:\1.dat" For Binary As #1
Get #1, , aryInput
Close #1
Debug.Print Now(), "输入文件读取完毕"
End Sub
Private Sub Command2_Click()
Dim aryInput() As Byte
Debug.Print Now(), "开始"
ReDim aryInput(FileLen("B:\1.txt") ) '按照文件长度设置数据读取内存大小
Open "B:\1.txt" For Binary As #1
Get #1, , aryInput
Close #1
Debug.Print Now(), "输入文件读取完毕"
End Sub