6-4.bas

来自「vb6.0编程实例详解,很详细的介绍,对学习VB有帮助」· BAS 代码 · 共 75 行

BAS
75
字号
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 + =
减小字号Ctrl + -
显示快捷键?