📄 clsstudent.cls
字号:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "clsStudent"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes"
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
Option Explicit
'保持属性值的局部变量
''mvarSerial表示学生的学号属性
Private mvarSerial As String
''mvarStudent表示学生的姓名属性
Private mvarStudentName As String
''mvarBirthday表示学生的出生日期
Private mvarBirthday As Date
'要引发该事件,请遵循下列语法使用 RaiseEvent:
''ReportRecord事件用来产生报告当前记录情况
Public Event ReportRecord(ByVal theSerial As String, ByVal theName As String, ByVal theAge As Integer)
''RefreshRecord事件用来产生使用当前记录刷新窗体界面
Public Event RefreshRecord(ByVal theName As String, ByVal theDate As Date)
''Error事件用来表示在操作中产生了某种错误
Public Event Error(ByVal msgErr As String)
Public Sub Report()
''调用Report方法,可以触发ReportRecord事件
Dim age As Integer
age = GetAge()
RaiseEvent ReportRecord(mvarSerial, mvarStudentName, age)
End Sub
Public Sub Refresh()
''调用Refresh方法,可以触发RefreshRecord事件
RaiseEvent RefreshRecord(mvarStudentName, mvarBirthday)
End Sub
Public Function Create(aSerial As String, aName As String, aDate As Date) As Boolean
On Error Resume Next
''如果赋值出错,则会返回False
''否则,返回True
Dim bResult As Boolean
bResult = True
''根据传递进来的各个值来给学生类的各个属性赋值。
If aSerial <> "" Then
''给各个属性赋值
mvarSerial = aSerial
Me.StudentName = aName
Me.Birthday = aDate
If Err.Number > 0 Then
bResult = False
End If
Else
RaiseEvent Error("输入的学号不能为空!")
bResult = False
End If
Create = bResult
End Function
Public Function GetAge() As Integer
Dim i As Integer
''根据当前学生的出生日期来计算其年龄
i = Year(Now()) - Year(mvarBirthday)
GetAge = i
End Function
''取得当前学生的学号
Public Property Get Serial() As String
Serial = mvarSerial
End Property
''给当前学生的出生日期赋值
Public Property Let Birthday(ByVal vNewValue As Variant)
''若所传递过来的值可以转换为日期型,则将其赋给mvarBirthday
''否则,就触发错误事件
If IsDate(vNewValue) Then
mvarBirthday = CDate(vNewValue)
Else
RaiseEvent Error("输入的出生日期不是日期型!")
End If
End Property
''获取当前学生的出生日期
Public Property Get Birthday() As Variant
Birthday = mvarBirthday
End Property
''给当前学生的姓名赋值
Public Property Let StudentName(ByVal vNewValue As Variant)
''若所传递过来的值不为空,则将其赋给mvarStudentName
''否则,就触发错误事件
If CStr(vNewValue) <> "" Then
mvarStudentName = vNewValue
Else
RaiseEvent Error("输入的学生姓名不能为空!")
End If
End Property
''获取当前学生的姓名
Public Property Get StudentName() As Variant
StudentName = mvarStudentName
End Property
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -