⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clsstudent.cls

📁 vb源码大全
💻 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 + -