Class Module là ǵ ? Là tổng
hợp của các bộ phận trong ứng dụng của
các bạn. Gọi tắt
là COM ( Component Object Model ). Phương
pháp viết chương tŕnh hiện đại là xử
dụng components, một cơ chế trong ứng dụng
của các bạn. Như chúng ta biết : Hệ thống
viễn thông ngày càng phát triển và đóng một vai
tṛ quan trọng trong đời sống hàng ngày của mọi
người trên thế giới.
Ứng dụng của
các bạn, nếu được tách ra thành từng cơ
cấu (components) th́ rất dể dàng trong việc phát
triển (developement) và giử ǵn...Sau đây, chúng tôi sẽ
lần lượt giải thích làm sau việc xử dụng
Class Module là hữu ích.
COM components, chính nó là bộ phận mang lấy một
chức năng nhất định trong ứng dụng.
Chính nó cũng là một ứng dụng, cũng có
code, methodes, functions và được hoán chuyển thành .dll,
.bas,..., và từ đó, nó được xử dụng
như COM.
Dưới đây là h́nh ảnh cho thấy các bạn
có thể tạo thành một component và cùng một lúc
có thể tạo thành 2 instances lúc run time
Khi bạn đă có Components rồi, bạn có thể
lấy từ trong dự án của bạn hay là dự án
ở ngoài... đều xử dụng được hết.
Chương 3_Phần 1_Đoạn 2 : Những lợi ích khi xử dụng Components
*Xử dụng nhiều lần : Khi các bạn tạo thành cho ḿnh một bộ phận trong ứng dụng rồi (component) th́ bộ phận đó sẽ được xử dụng nhiều lần. Hoặc trong ứng dụng của bạn nhưng ở trong những form khác chẳng hạn...Hay là những người trong nhóm phát triển ứng dụng vẫn có thể xử dụng component đó...
Chỉ cần bạn bỏ bộ phận đó trong kho nhu liệu là bạn có thể xử dụng bất cứ lúc nào. Với Object browser, bạn có thể gọi component đó và xử dụng nhiều lần.
*Làm giảm bớt sự phức tạp : Những người làm việc cùng nhóm với bạn sẽ không mất nhiều thời gian và công sức khi t́m hiểu những chức năng từng bộ phận trong phương tŕnh ứng dụng.
*Dể dàng trong việc sửa đổi : Khi cần thay đổi phương tŕnh ứng dụng, các bạn không cần phải tốn nhiều thời gian và tránh được rất nhiều bugs khi nâng cấp ứng dụng...
Chương 3_Phần 1_Đoạn 3 : Windows Distributed InterNet Applications Architecture
Windows Distributed InterNet Architecture gọi tắt là Windows DNA, là hệ thống mới giúp cho hệ thống viển thông được trao đổi thông tin dể dàng hơn. Nó dựa trên cơ bản của gia đ́nh Windows (95, 98, NT, 2000...) cộng với các components đă được thiết lập từ bên trong hay bên ngoài mà trao đổi các lượng thông tin giửa Client, Server, users, application...
Một ứng dụng sẽ được nhiều người xử dụng đến trong tương lai là Web Application. Và Web Application không thể thiếu Windows DNA được. Windows DNA được cấu tạo bởi công thức sau đây :
Integrated Storage --> Business Processes --> User Interface and Navigation

Từ đó, các bạn đă thấy COM giử vai tṛ quan trọng như thế nào trong hệ thống viễn thông hiện đại.
Chương 3_Phần 1_Đoạn 4 : Class Module là ǵ ?
Các bạn muốn có một COM component trong ứng dụng của ḿnh, chuyện đầu tiên là các bạn phải có một class module trong ứng dụng của bạn trước. Rối sau đó, các bạn có thể xử dụng bộ phận COM đó trong suốt quá tŕnh hoàn chỉnh ứng dụng hay cho các vay mượn tùy theo yêu cầu của chương tŕnh.
Class Module, đơn giản là một loại Visual Basic code module. Được viết dưới dạng *.cls và tương tợ như *.bas , Khác biệt ở chổ là Class Module bao gồm chức năng (funtion) mà chức năng này có thể xử dụng ở những form khác trong cùng một ứng dụng. Mỗi một class module ứng cho một bộ phận trong ứng dụng và các bạn có thể có vài thể loại class module trong ứng dụng của ḿnh.
Để xử dụng class module, các bạn phải làm cho nó một instance, rồi sau đó thông qua instance đó, mà các properties, methods, events của nó để rồi hoàn thành một cái class cho ứng dụng.
Thí dụ điển h́nh là như vầy :
Muốn có một Employee class mà nó có properties là : Lastname, Firstname. Method là hired. Bạn phải làm một instance cho Employee object. Rồi sau đó, muốn t́m chi tiết về các nhân viên bất cứ ở đâu trong ứng dụng, chúng ta chỉ cần xử dụng Employee class module mà thôi.
Chương 3_Phần 2_Đoạn 1 : Xử dụng Class Builder
Để dể dàng cho việc tạo thành Class, Visual Basic có một công cụ gọi là Class Builder. Nó tự động làm cho bạn một số việc và chuyện của các bạn là điền vào chi tiết mà thôi. Đây là công cụ để tạo thành Class :

Theo các bước sau đây, các bạn sẽ có Class Builder trong ứng dụng của ḿnh :
Trên Add_Ins menu, bấm ở Add-In Manager
Chọn VB 6 Class Builder Utilitytrong danh sách sẳn có.
Dưới Load Behavior, chọn Loaded/Unloaded, rồi bấm trên OK
Theo những bước sau đây, các bạn có thể thêm class vào ứng dụng của ḿnh :
Trên Add-Ins menu, bấm trên Class Buider Utility
Trong Class Builder, bấm File menu, New và chọn Class
Trong Class Module Builder, thêm vào các chi tiết
Điền các chi tiết cần thiết vào phần Attributes và help file nếu có.
Sau đây là những phần mà Class Builder bao gồm :
Property Builder

Method Builder

Event Builder

Attributes

Chương 3_Phần 2_Đoạn 2 : Class Module Events
Để tạo dể dàng cho các bạn viết ứng dụng, Visual Basic đă viết sẳn cho các bạn 2 events. Đó là initialize và terminate
Initialize event : Nhất định các bạn phải kiểm soát các nhu liệu hay tài liệu cần thiết cho ứng dụng của ḿnh, do đó, initialize event là event đầu tiên ḿnh phải xử dụng. Sau đây là các hàng code :
Private Sub Class_Initialize ()
'Initialize Data
iDept = 5
End Sub
Terminate event : Dùng để chấm dứt công việc. Sau đây là các hàng code
Private Sub Class_Terminate()
'Any termination code
End Sub
Và dỉ nhiên các bạn có thể thêm vào nhiều event nữa tùy theo yêu cầu của người xử dụng.
Chương 3_Phần 2_Đoạn 2 : Adding Component information and Help
V́ có nhiều classes trong ứng dụng, cho nên để dể dàng trong việc xử dụng, chúng ta cần phải thêm vào các chi tiết nói về chức năng của class đó. Và mỗi khi mủi chuột chỉ đến đâu th́ những lời giải thích về chức năng đó hiện ra. Theo các bước sau đây th́ các bạn có thể thêm vào các lời giải thích :
Mở project có class mà bạn sẽ xử dụng
Mở code window của class module đó
Trên Tools menu, bấm trên Procedure Attributes
Điền vào các ô trống Description và Help context ID
Một cách khác nữa là :
Trên Project menu, bấm trên project properties
Điền vào tên Help file, rồi bấm OK
Nh́n vào h́nh ảnh dưới đây, chúng ta sẽ thấy làm sao để điền thêm chi tiết vào bộ phận Class

Chương 3 _Phần 2_Đoạn 4 : Xử dụng Object Browser
Để nhận xét một cách tổng quát một class trong ứng dụng, hăy xử dụng Oject Browser. Object Browser trong Visual Basic là một công cụ dùng để nh́n xem các properties, methods, events chứa đựng trong một class. Trên View menu, bấm trên Object Browser, các bạn sẽ có một Object Browser. Theo các bước trên, các bạn sẽ có được :

Có 2 bản danh sách cho thấy project có bao nhiêu classes? Trong class có bao nhiêu members ?...Và Object Browser cho chúng ta nh́n biết các bộ phận tron ứng dụng dể dàng hơn.
Chương
3 _Phần 3 _Đoạn 1 : Tạo thành Property
Property xác định nhu liệu hay chức
năng của một class. Thí
dụ như một class Employee có thể có các properties như
FirstName, LastName, HireDate…Các bạn có thể xác định
property trong ứng dụng của ḿnh bằng 2 cách :
Xử dụng Public Variables : Các bạn
không cần phải viết code khi property được h́nh
thành, bạn chỉ cần xác định Public variable
để giử nhu liệu mà thôi.
Thí dụ như sau
Public FirstName As String
Xử dụng Property Procedure : Dùng cách
này nếu các bạn muốn viết code khi h́nh thành
property. Với property
procedure, các bạn có thể làm những việc sau đây
:
Tiến hành procedure khi các dử kiện
của property được xác định
Làm cho property có một chức năng
nhất định như giao trả một nhu liệu
giới hạn nào đó.
Không cho phép property thay đổi.
Property procedure có 3 phần : Set, Let, Get.
Khi h́nh thành property procedure, các bạn xác định
theo từng cặp, thí dụ như : Set và Get, Let và Get.
Bởi v́ lư do giản dị là property set hay let
phải được tiến hành trước, rồi sau
đó, procedure get mới có thể cung cấp nhu liệu mà
procedure Set hay Let xác định.
Như thí dụ điển h́nh sau đây :
Public
Property Let FirstName(passedName As String)
mvarFirstName = Ucase(passedName)
End Property
Public Property Get FirstName() As String
FirstName = mvarFirstName
End Property
Xử dụng default Property : Theo những bước sau đây các bạn sẽ xác định được default property
Các bạn sẽ thấy h́nh ảnh procedure attributes sau đây

Chương
3_Phần 3_Đoạn 2 : Tạo thành Methods
Methods đại diện cho một chức năng
trong ứng dụng của bạn mà class bao gồm.
Thí dụ như class Employee có 2 methods là Hire và
PayIncrease. Để tạo thành
method cho một bộ phận trong ứng dụng, bạn
chỉ cần tạo thành Public Sub hay là Function procedure trong
class module đó.
Sau đây là thí dụ làm sao để
tạo thành một method là thêm dữ kiện vào trong kho
nhu liệu :
Public Function Hire() As Boolean
‘ add employee record to database here
MsgBox “Employee was added to the Database”
‘ if successful
Hire = True
End Sub
Sau đây là thí dụ để tạo thành
method tăng lương cho nhân viên :
Public Function PayIncrease (dPercent
As Double) As Integer
mvarSalary = mvarSalary * (1 + dPercent)
End Function
Chương
3_Phần 3_Đoạn 3 : Xử dụng Named Constants
Khi các bạn xử dụng cách thay thế
(variables) th́ trong suốt quá tŕnh ứng dụng tiến hành,
variables sẽ giao trả cho bạn nhiều nhu liệu
chứa trong Database (Kho nhu liệu).
Nhưng với Named Constants (thay thế bằng cách
đặt tên), các bạn sẽ có lợi điểm là
Named Constant chỉ giao trả một nhu liệu nhất
định mà thôi. Thí
dụ như trong trường hợp phải xài 2 nút Yes và
No cho một lựa chọn, bạn chỉ cần xài Named
Constant là vbYesNo mà thôi.
Tạo thành Named Constants : Đơn
giản như chúng ta xử dụng variable vậy.
Sau đây là thí dụ làm sao để có Named Constant
tên là JobLevel
Public
Enum JobLevel
jExecutive = 1
jManagement = 2
jStaff = 3
End
Enum
Với Named Constant này, bạn có thể thêm
method vào trong class module của ḿnh.
Như method xem cấp bậc việc làm của nhân
viên như sau :
Public Sub CheckExecutiveStatus(iLevel As JobLevel)
If iLevel = jExecutive Then
MsgBox “Executive Level Status Approved”
Else
MsgBox “Executive Status Denied”
End If
End Sub
Xử dụng Enumerations (cách xếp
thứ tự bằng số) như là Property value : Các
bạn đă có Named Constant,
các bạn cũng đă biết property value đi theo
từng cặp Set và Get hay là Let và Get...Th́ để xác
định một chứ năng giao trả một dử
kiện nhất định cho class module của ḿnh, phương
pháp hữu hiệu nhất là xử dụng Enumerations
Property value. Thí dụ
bạn xáx định một property có tên là ActiveJobLevel th́
hăy theo những bước sau đây :
Private mvarJobLevel As JobLevel
Public Property Let ActiveJobLevel (jl As JobLevel)
mvarJobLevel = jl
End Property
Public Property Get ActiveJobLevel () As JobLevel
ActiveJobLevel = mvarJobLevel
End Property
Chương
3_Phần 3_Đoạn 4 : Thêm Events vào trong Class Module
Trước đó chúng ta đă biết
Visual Basic có sẳn 2 events là Initialize và Terminate.
Và chúng ta cũng có thể thêm events vào trong class
của ḿnh tùy theo yêu cầu. Thí
dụ như chúng ta có một component gọi là COrder.
Chúng ta có thể dựng nên một event gọi là
Status khi COrder tiến hành. Theo
2 bước sau đây, chúng ta có thể thêm events vào trong
class :
Declare the event (Nhận định the event)
Raise the event (Dựng lên the event)
Nhận định event : Xử
dụng keyword là Event để nhận định.
Chẳng hạn như :
Public
Event Status(ByVal StatusText As String)
Dựng lên event : Xử dụng
RaiseEvent statement để dựng lên event.
Chẳng hạn như :
Public
Sub SubmitOrder()
‘code to submit an order goes here
RaiseEvent Status (“Checking Credit...”)
‘code to check the credit goes here
RaiseEvent Status (“Processing Order...”)
‘code to process an order goes here
End
Sub
Những liên hệ khác với component
: Khi nhận định Event, chúng ta có thể xử
dụng ByVal (by value) hay ByRef (by reference).
Do đó tùy theo trường hợp nhận định
event mà chúng ta dựng event lên. Nếu ByRef, chúng ta phải
làm sao để class có thể trao đổi nhu liệu và
event được tiến hành.
Chẳng hạn như thí dụ sau đây :
Dim
iLimit As Integer
iLimit
= 400
‘raise
the event to be handled by the client
RaiseEvent
LimitChanged(iLimit)
‘now
check to see if the client changed the limit
If
iLimit <> 400 Then
‘client
did not accept the new limit
End
If
Chương
3_Phần 3_Đoạn 5 : Dựng Errors cho class
Như chúng ta đă biết, không làm sao tránh
khỏi bugs tron ứng dụng, cho nên chúng ta phải
dựng nên một hay nhiều bộ phận quản lư
Errors trong ứng dụng. Để
dựng nên bộ phận quản lư Errors, hăy theo công
thức sau đây :
ERR.Raise Number, Source, Description, HelpFile,
HelpContext
Cẩn thận nhớ đừng để
trùng Errors number đă có sẳn trong Visual Basic.
Sau đây là một thí dụ về Errors handler
Err.Raise vbOjectError + 100, “CEmployee”, “Employee
could not be added”
Mời bạn đón xem phần kế tiếp...
|
Vovisoft © 2000. All rights reserved. | ||||
|
Last Updated: 21 Jun 2007 |
||||