📄 6-4.bas
字号:
Attribute VB_Name = "Module1"
Option Explicit
Public Type RecodeData
Number As Integer '学号
Names As String * 20 '姓名
Chinese As Single '语文成绩
Mathmatic As Single '数学成绩
End Type
Public Students As New Collection
'读数据
Public Sub OpenData()
Dim i As Integer
Dim FileNum As Integer
Dim Recode As RecodeData
Dim StudentData As Student
On Error Resume Next
'清空记录集合
For i = 1 To Students.Count
Students.Remove 1
Next i
FileNum = FreeFile() '获得可用文件号
'打开文件
Open App.Path & "\6-4.dat" For Random As #FileNum Len = Len(Recode)
'读全部记录
For i = 1 To LOF(FileNum) \ Len(Recode)
Set StudentData = New Student
Get #FileNum, i, Recode '读指定记录
StudentData.Chinese = Recode.Chinese
StudentData.Mathmatic = Recode.Mathmatic
StudentData.Names = Recode.Names
StudentData.Number = Recode.Number
Students.Add Item:=StudentData, Key:=Str(StudentData.Number) '增加记录
StudentData = Nothing
Next i
Close #FileNum '关闭文件
End Sub
'保存数据
Public Sub SaveData()
Dim i As Integer
Dim FileNum As Integer
Dim Recode As RecodeData
Dim StudentData As Student
FileNum = FreeFile() '获得可用文件号
'清空数据文件
Open App.Path & "\6-4.dat" For Output As #FileNum
Close #FileNum
'打开文件
Open App.Path & "\6-4.dat" For Random As #FileNum Len = Len(Recode)
'保存全部记录
For i = 1 To Students.Count
Set StudentData = Students(i) '获得指定对象
'进行数据类型转换
Recode.Chinese = StudentData.Chinese
Recode.Mathmatic = StudentData.Mathmatic
Recode.Names = Left(StudentData.Names, 20)
Recode.Number = StudentData.Number
Put #FileNum, i, Recode '保存指定记录
Next i
Close #FileNum '关闭文件
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -