Chương
3_ Phần 4_ Đoạn 1 : Creating an Instance of a class
Trong Visual Basic, class module
được xử dụng như là một templates (
bản định việc làm đă h́nh thành) cho từng
bộ phận. Do đó,
để xử dụng Class module, việc đầu tiên
là các bạn phải cho biết bạn cần ǵ ? để
Class module có thể đáp ứng cho các bạn.
Từ chuyên nghiệp gọi là create an instance of the
class module. Class Module khác
standard Module ở 2 điểm :
Các bạn phải tạo thành một
instance cho class module đó trước khi xử dụng
nó.
Các bạn có thể tạo thành một
instance tổng hợp cho class module đó.
Để tạo thành Instance, các bạn
phải xử dụng Dim, Set và Dim As New statements.
Thí dụ như sau :
Dim empCurrent As CEmployee
Set empCurrent = New CEmployee
Bạn cũng có thể viết 2 hàng thành
một hàng :
Dim empCurrent As New CEmployee
Nhưng tốt hơn hết là các bạn
viết 2 hàng riêng biệt, v́ dể dàng cho các bạn
điều chỉnh sau này.
Trao trả Class trở về dạng
sẳn sàng như lúc ban đầu : Bởi v́ class
chiếm một số memory (bộ nhớ trong máy vi tính)
cho nên sau khi xử dụng xong bạn nên trả nó về
vị trí ban đầu. Sau
đây là hàng code dùng để trao trả memory trở
về máy vi tính :
Set empCurrent = Nothing
Chương
3_ Phần 4 _Đoạn 2 : Using a Class
Một khi các bạn đă tạo một instance cho
class module rồi, bạn có thể thử methods và property
của class đó xem có tiến hành được hay không
? Các bạn có thể dùng
Object Browser để nh́n xem ḿnh có bao nhiêu properties, methods
và events.
Xếp đặt và Phục hồi properties
: Sau đây là những hàng code làm sao để xếp
đặt và phục hồi properties ( Setting and retrieving
properties)
Dim empCurrent As CEmployee
Set empCurrent = New CEmployee
empCurrent.FirstName = “Bill” ‘Calls Let Procedure.
MsgBox empCurrent.FirstName ‘Calls Get Procedure.
Sau đây là thí dụ làm sao để
gọi methods :
Dim empCurrent As CEmployee
Dim bHired As Boolean
Set empCurrent = New CEmployee ‘Calls the Hired method
bHired = empCurrent.Hire
If
bHired Then
MsgBox empCurrent.FirstName & “was hired!”
End If
Chương
3_Phần 4_Đoạn 3 : Xử lư Events
Theo những bước sau đây, các
bạn sẽ xử lư event events chứa đựng
bởi COM component :
Xử dụng WithEvents keyword để xác
định các bộ phận trong class mà các bộ
phận đó sẽ tham gia vào trong events
Lập thành tiến tŕnh event để
điều khiển.
Tạo thành instance để tiếp ứng
cho events
Khi các bạn xác định WithEvents variable
rồi th́ danh sách những bộ phận có liên quan đến
event (tiết mục) đó đều có ở trong code
windows. Như thí dụ sau
đây :
Dim
WithEvents ordCurrent As COrder
Private
Sub Order_Status(ByVal StatusText As String)
MsgBox StatusText
End
Sub
Khi hoàn thành các bạn sẽ thấy như
h́nh ảnh sau :

Kế tiếp là bạn phải tạo thành
một instance cho Object mà object đó sẽ tham dự vào
trong tiết mục (Events) sẽ tiến hành trong class
của bạn. Thí dụ
như bạn tạo thành một instance là Order để
gọi SubmitOrder method như sau :
Private
Sub cmdSubmitOrder_Click()
Dim ordCurrent As COrder
Set ordCurrent = New COrder
ordCurrent.SubmitOrder
End
Sub
Chương
3_Phần 5 : Creating Data bound Class
Với Visual Basic dưới
version 6, các bạn sẽ bị giới hạn trong
việc binding data (thu nhận và giao trả nhu liệu).
Nhưng với Visual Basic 6, các bạn xử dụng
BindingCollection, th́ các bạn có thể tạo thành Data
Source Class và Data Consumer Class một cách dể dàng.
Chương
3_ Phần 5_Đoạn 1 : Creating Data Source Class
Khi các bạn tạo thành cho
ứng dụng của ḿnh một Data Source Class rồi, nó
sẽ tự động thu nhận và giao trả nhu
liệu mà không cần user interface (một số controls
đă được loại bỏ).
Theo các bước sau đây, các bạn có thể
tạo thành Data Source
Private
rBooks As Recordset
Private
cStateUBookstore As Connection
Private
Sub Class_Initialize()
Dim
sConnect As String
'
define the OLE DB connection string
sConnect = "Provider=SQLOLEDB;"
& _
"Data Source=MSERIES1;" & _
"Initial Catalog=StateUBookstore"
'
create the ADO objects
Set cStateUBookstore = New
Connection
Set rBooks = New Recordset
'
open the database connection
cStateUBookstore.Open sConnect,
"sa", ""
'
create a recordset from the Books table
rBooks.Open "Select * from
Books", cStateUBookstore, adOpenStatic
End
Sub
Private Sub Class_GetDataMember_(DataMember As String, Data
As Object)
'
return the data to the consumer
Set
Data = rsBooks
End Sub
Private Sub NextBook()
rsBooks.MoveNext
End Sub
Private Sub PrevBook()
rsBooks.MovePrevious
End Sub
Xử dụng Data Source Class : Các
bạn có thể lắp ráp bất cứ data consumer thông
thường nào như text box và ngay cả data consumer không
thông thường (không xử dụng user interface ) như
caption của form... Để có Data Source, các bạn hăy theo các
bước sau đây :
Vào trong Project menu, chọn references, check
ở Microsoft Data Binding Collection check box.
Trong procedure mà bạn muốn lắp data vào,
tạo thành một instance cho BindingCollection đó.
Trong BindingCollection object mà bạn vừa
mới tạo thành đó, đổi thành DataSource
property.
Nếu cần thiết, như phần trên
chúng tôi có nói qua 2 parameters là DataMember và Data, nếu là
Data tổng hợp, các bạn cần phải đổi
DataMember thành một tên riêng biệt.
Thêm vào các bộ phận mà ứng dụng
của bạn yêu cầu bằng cách xử dụng Add
method.
Sau đây là thí dụ một click event
xử dụng Data Source Class :
Private
bc As BindingCollection
Private
dsBookStore as CBookStore
Private
Sub cmdEstablishBinding_Click()
Set bc = New BindingCollection
' create an
instance of the data source class
Set dsBookstore = New CBookStore
' establish data source object
Set bc.DataSource = dsBookStore
' identify
data member to use if source provides more than one
bc.DataMember = "Books"
' bind a field
from the data member to
'
a text box on this form
bc.Add txtTitle, "Text",
"Title"
End
Sub
Chương
3 _Phần 5_Đoạn 2 : Creating a Data Consumer Class
Data consumer là bộ phận dùng
để giao trả những nhu liệu từ trong kho nhu
liệu cho những ǵ mà ứng dụng của bạn yêu
cầu. Theo các bước
sau đây, các bạn sẽ có một Data Consumer Class :
Trong Window Properties của class mà bạn
muốn tạo thành Data Consumer, đổi
DataBindingBehavior property thành vbSimpleBound, bạn cũng có
thể đổi thành vbComplexBound property tùy theo sự
sắp xếp của ứng dụng nếu các bạn
muốn lắp ráp nhiều nhu liệu trong kho.
Thêm vào các properties, Methods, Events... để
hoàn thành Data Consumer Class.
Xử dụng Data Consumer Class : Cũng
giống như Data Source Class, các bạn xử dụng
BindingCollection object để ráp nhu liệu vào trong class.
Theo các bước sau đây, các bạn sẽ làm cho
Data Consumer Class sẳn sàng để xử dụng :
Vào trong Project menu, chọn references, check
ở Microsoft Data Binding Collection check box.
Trong procedure mà bạn muốn lắp data vào,
tạo thành một instance cho BindingCollection đó.
Trong BindingCollection object mà bạn vừa
mới tạo thành đó, đổi thành DataSource
property.
Nếu cần thiết, như phần trên
chúng tôi có nói qua 2 parameters là DataMember và Data, nếu là
Data tổng hợp, các bạn cần phải đổi
DataMember thành một tên riêng biệt.
Thêm vào các bộ phận mà ứng dụng
của bạn yêu cầu bằng cách xử dụng Add
method.
Sau đây là thí dụ làm sao để có
Data Consumer Class :
Private
bc As BindingCollection
'
declare the data source class
Private
dsBookStore as CBookStore
'
declare the data consumer class
Private
dcBookList as CBookList
Private
Sub EstablishBinding()
' create the Binding Collection
object
Set bc = New BindingCollection
' create an instance of the data
source class
Set dsBookstore = New CBookStore
' establish data source object
Set bc.DataSource = dsBookStore
' identify data member to use if
source provides more than one
bc.DataMember = "BookList"
' bind a field from the data member
to
'
the data consumer object's Title property
bc.Add dcBookList,
"Title", "Title"
End
Sub
Mời bạn đón xem phần kế tiếp...
|
Vovisoft © 2000. All rights reserved. | ||||
|
Last Updated: 21 Jun 2007 |
||||