100分求类怎么写,我没写过类,有代码和注释更好,类的概念我知道,但就布知道类怎么写,有什么好处,怎样去调用它
解决方案 »
- 做了个小播放器,24小时在线播放音乐,内置千首最流行音乐,喜欢音乐的朋友可以试试
- 在VB中如何创建帮助文档,还是需要其它软件?
- 一个关于DOS的问题!
- 怎样自定义一个类,使之继承系统提供的类
- 大家进来看看 http://expert.csdn.net/Expert/topic/1218/1218857.xml?temp=.8011133
- 声明internetreadfile
- 哪位大侠知道在VB中如何使用XP风格的图标做窗体图标??????
- 特殊字符的问题急!在线等。。。。。。
- 各位兄弟帮我一把!!!一个字符串中含有我要的各个值,他们以,分隔,请问我怎吗对这个字符串处理得到我要的各个值???
- 雅心mm请进!
- 还是VB和SQL的问题
- VB调用EXCEL 中的find函出错
如你新建一DLL工程(Prg),类名为Test,方法为DoPrint,则调用时:
dim obj as new Prg.Test
obj.DoPrint ... (有可能有参数)
建议:赶快看看Msdn
'class people 类名称是clsPeople
Private sName As String'获得某人的姓名
Public Property Get TheName() As String
TheName = sName
End Property'设置某人的姓名
Public Property Let TheName(ByVal s_Name As String)
sName = s_Name
End Property'让他走几步看看
Public Function Walk(ByVal i As Long)
Dim j As Long
For j = 0 To i
Debug.Print Me.TheName & "走出了" & j & "步"
Next
End Function类的好处就是oop好处,看些oop方面的书就知道了。
'调用示例
private sub command1_click()
'定义一个类的对象
dim CSDNADMIN as new clsPeople
CSDNADMIN.TheName ="administrator"
CSDNADMIN.Walk(10)
end sub
与类模块一起使用 DataGrid 控件
如果想要访问以自定义格式或以 ODBC 驱动程序不直接支持的格式存放的数据,可以创建一个类来封装该数据。然后可以编写该类的自定义函数来检索这些数据。这样该类就变成了一种数据源,可以被任何数据使用者(如 DataGrid 控件)使用。在这个类模块的Initialize 事件中,首先通过声明一个作为 New ADODB.Recordset的变量,来创建一个 ADODB recordset 对象。在创建了这个 recordset 对象后,再添加字段,每个数据源中的每个字段都要加入。然后使用合适的数据填充这个记录集。注意 也可以使用 OLEDB 示例提供者来创建一个数据源。关于 OLEDB 示例提供者的详细信息,请参阅“创建带有数据提供方的部件”。类模块有一个 GetDataMember 事件,只要当数据使用者(诸如 DataGrid 控件)需要数据时就产生该事件。在这个事件中,Data 参数被设置为在 Initialize 事件中所创建的 recordset 对象。如果要使用这个类模块,应创建一个具有一个 DataGrid 控件的窗体。在该窗体的 Load 事件的代码中,将该控件的 DataSource 属性设置为这个类。注意 数据类模块在设计时是不可用的。例如,如果使用 DataGrid 控件,则当用户在“属性”窗口中单击“数据源”时,所有可用的数据源都会出现在一个下拉列表中。但其中不会有这个数据类模块,它只能在代码中设置。使用类模块创建一个数据源
下面的示例使用一个类模块来创建一个简单数据源。然后通过 DataSource 属性将 DataGrid 控件绑定到该模块。要创建一个用于DataGrid 的类 创建一个新的标准 Exe 工程。给窗体添加一个 DataGrid 控件。
如果“DataGrid”控件不在“工具箱”中,则在“工程”菜单中单击“部件”,再单击“Microsoft DataGrid Control”,然后单击“确定”。在“工程”菜单中,单击“引用”。在“引用”对话框中,单击“Microsoft ActiveX Data Objects 2.0 Library”。在“工程”菜单中,单击“添加类模块”来给工程添加一个数据类模块。在“工程资源管理器”窗口中,单击并选定“类”图标,并按 F4 键显示“属性”窗口。在“属性”窗口中,将类的名称更改为NamesData。在“属性”窗口中,单击“DataBehavior”并将该属性更改为vbDataSource。在该类模块的 Declarations 部分,创建一个 ADODB Recordset变量,如下所示:
Option Explicit
Private WithEvents rsNames As ADODB.RecordSet使用 WithEvents 关键词来声明该变量,使用户可以对 RecordSet 对象的事件编程。在该类的 Initialize 事件中,添加下述代码:
Private Sub Class_Initialize()
' 将新的数据成员的名称添加到 DataMember 集合
' 这使其它对象可以看见这些可用的 DataMembers
DataMembers.Add "Names" Set rsNames = New ADODB.RecordSet ' 设置对象变量。' 创建一个具有两个字段的 recordset,并打开该 recordset。
' 第一个记录具有一个整数的数据类型,第二个记录是一个最大可
' 达 256 个字符的字符串。CursorType 被设置为 OpenStatic
' -- 一个可更新的对一组记录的快照。LockType 被设置为
' LockOptimistic,以允许对该 recordset 进行更新。
With rsNames
.Fields.Append "ID", adInteger
.Fields.Append "Name", adBSTR, 255
.CursorType = adOpenStatic
.LockType = adLockOptimistic
.Open
End WithDim i As Integer
For i = 1 to 10 ' 添加十条记录。
rsNames.AddNew
rsNames!ID = i
rsNames!Name = "Name " & i
rsNames.Update
Next i
rsNames.MoveFirst ' 移到该记录集的开始。
End Sub这部分代码首先创建 recordset 对象,然后给该对象添加两个字段。代码接着给 recordset 添加十条记录。在该类的 GetDataMember 事件中,添加下述代码:
Private Sub Class_GetDataMember(ByVal DataMember As String, _
Data As Object)
Set Data = rsNames
End Sub只要发生该事件—即当该类对象被绑定到一个数据使用者,如 DataGrid 控件时,代码将返回该 recordset 对象。在 Form 对象的代码模块中,声明一个数据类的对象变量:
Option Explicit
Private datNames As NamesData ' 类变量在 Form 对象的 Load 事件的代码中,将 DataGrid 控件的 DataSource 设置为该类对象。
Private Sub Form_Load()
' 创建一个新的 NamesData 对象
Set datNames = New NamesData
' 将这个 DataGrid 绑定到新的数据源 datNames
Set DataGrid1.DataSource = datNames
End Sub按 F5 键运行该工程。
结果集事件的编程
也可以对这个 Recordset 对象的事件进行编程。在该类模块中,单击“对象”框(在位于左上角),然后单击“rsNames”。在“过程/事件”框(在右上角)中,下拉列表将显示这个 Recordset 对象的所有事件。给类添加一个属性
类模块也可以进行修改,来响应事件或函数调用。下面的代码演示了如何先给类添加属性。当从其它对象调用该对象时,这一属性将返回该类的 RecordCount。Public Property Get RecordCount() As Long
RecordCount = rsNames.RecordCount
End Sub使用 DataMember 属性
GetDataMember 事件也包括 DataMember 参数。使用这个参数,可以在类模块中包括多个记录集,并使用带 DataMember 参数的 Select Case 语句来返回相应的记录集:Private Sub Class_GetDataMember(ByVal DataMember As String, Data As _
Object)
Select Case DataMember
Case "Names"
Set Data = rsNames
Case "Dates"
Set Data = rsDates
Case Else
' 设置一个默认的数据成员
Set Data = rsYears
End Select
End Sub如果要指定所需的 DataMember,请将数据使用者的 DataMember 属性设置为适当的字符串,然后如平常一样设置 DataSource。对于 DataGrid 控件,可以采用如下方法:Private Sub Form_Load()
' 创建一个新的 NamesData 对象
Set datNames = New NamesData' 指定所需的 DataMember,然后设置 DataSource。
DataGrid1.DataMember = "Names"
Set DataGrid1.DataSource = datNamesEnd Sub