
M C L CỤ Ụ
1

CH NG I: T NG QUAN L P TRÌNH VISUAL BASICƯƠ Ổ Ậ
Trong ch ng này chúng tôi s trình bày tóm t t v môi tr ng l p trình Visual Basic (VB) cùng cácươ ẽ ắ ề ườ ậ
nguyên t c c b n đ xây d ng m t ng d ng v i môi tr ng này. Các v n đ đ c trình bày trong ch ng m tắ ơ ả ể ự ộ ứ ụ ớ ườ ấ ề ượ ươ ộ
bao g m:ồ
•Môi tr ng l p trình Visual Basicườ ậ
•Xây d ng ng d ng v i môi tr ng Visual Basicự ứ ụ ớ ườ
•Gi i thi u m t s ví d minh hoớ ệ ộ ố ụ ạ
I. MÔI TR NG L P TRÌNH VISUAL BASICƯỜ Ậ
1. Gi i thi uớ ệ
Gi ng nh các h đi u hành (HĐH) khác, HĐH Windows cũng cung c p m t t p h p l nh g i là Windowsố ư ệ ề ấ ộ ậ ợ ệ ọ
API (Windows Application Programming Interface) đ các l p trình viên có th phát tri n các ng d ng ch y trênể ậ ể ể ứ ụ ạ
HĐH này.
T p l nh Windows API có h n 800 l nh khác nhau. Vì v y, đ xây d ng đ c m t ng d ng trênậ ệ ơ ệ ậ ể ự ượ ộ ứ ụ
Windows, ng i l p trình c n ph i vi t và đ ng th i ph i nh ý nghĩa, cách s d ng c a khá nhi u l nh Windowsườ ậ ầ ả ế ồ ờ ả ớ ử ụ ủ ề ệ
API. Chính đi u này đã tr nên ph c t p. Nh m kh c ph c các y u đi m nêu trên, Microsoft đã gi i thi u công cề ở ứ ạ ằ ắ ụ ế ể ớ ệ ụ
tr c quan VB, giúp xây d ng nhanh các ng d ng trên Windows.ự ự ứ ụ
VB đ c gi i thi u l n đ u tiên vào năm 1991, ti n thân là ngôn ng l p trình Basic trên HĐH DOS. Tuyượ ớ ệ ầ ầ ề ữ ậ
nhiên, lúc b y gi VB ch a đ c nhi u ng i ng i ti p nh n. Mãi cho đ n năm 1992, khi phiên b n 3.0 ra đ iấ ờ ư ượ ề ườ ườ ế ậ ế ả ờ
v i r t nhi u c i ti n so v i các phiên b n tr c đó, VB m i th t s tr thành m t trong nh ng công c chính đớ ấ ề ả ế ớ ả ướ ớ ậ ự ở ộ ữ ụ ể
phát tri n các ng d ng trên Windows.ể ứ ụ
Các phiên b n sau đó c a VB, nh phiên b n 4.0 ra đ i năm 1995, phiên b n 5.0 ra đ i năm 1996 và g nả ủ ư ả ờ ả ờ ầ
đây nh t là phiên b n 6.0 ra đ i năm 1998 v i các tính năng ngày càng đ c nâng cao đã khi n m i ng i côngấ ả ờ ớ ượ ế ọ ườ
nh n VB hi n là m t trong nh ng công c chính đ phát tri n các ng d ng trên Windows.ậ ệ ộ ữ ụ ể ể ứ ụ
2. Đ c đi m môi tr ng Visual Basicặ ể ườ
Khác v i các môi tr ng l p trình h ng th t c tr c đây trong HĐH DOS nh Pascal, C hay Foxpro, VBớ ườ ậ ướ ủ ụ ướ ư
là môi tr ng l p trình h ng bi n c trên HĐH Windows.ườ ậ ướ ế ố
Có gì khác nhau gi a l p trình ữ ậ h ng th t cướ ủ ụ và h ng bi n cướ ế ố? Trong các môi tr ng l p trình h ngườ ậ ướ
th t c, ng i l p trình ph i xác đ nh tr c tu n t th c hi n c a t ng l nh và t ng th t c có trong ch ng trình.ủ ụ ườ ậ ả ị ướ ầ ự ự ệ ủ ừ ệ ừ ủ ụ ươ
Có nghĩa là sau l nh này h s ph i th c hi n ti p l nh nào,… V i môi tr ng l p trình h ng bi n c nh VB thìệ ọ ẽ ả ự ệ ế ệ ớ ườ ậ ướ ế ố ư
ng i l p trình ch vi c đ nh nghĩa nh ng l nh gì c n th c hi n khi có m t bi n c do ng i dùng tác đ ng lênườ ậ ỉ ệ ị ữ ệ ầ ự ệ ộ ế ố ườ ộ
ch ng trình mà không quan tâm đ n tu n t các x lý nh p li u.ươ ế ầ ự ử ậ ệ
Ví d , v i m t ch ng trình đ n gi n nh hình 1 d i đây có m c tiêu là nh p vào hai giá tr ụ ớ ộ ươ ơ ả ư ướ ụ ậ ị s côngố và
đ n giáơ công vi c, tính và in ra ti n công ph i tr . V i h ng th t c, ng i l p trình s ph i vi t các l nh tu n tệ ề ả ả ớ ướ ủ ụ ườ ậ ẽ ả ế ệ ầ ự
đ c xác đ nh tr c nh sau:ượ ị ướ ư
•Ch ng i dùng nh p vào giá tr s côngờ ườ ậ ị ố
•Ch ng i dùng nh p vào giá tr đ n giá công vi cờ ườ ậ ị ơ ệ
•Tính ti n công = s công * đ n giá công vi cề ố ơ ệ
•In ra giá tr ti n côngị ề
Trong khi đó, v i môi tr ng l p trình h ng bi n c ng i l p trình s không quan tâm tu n t th c hi nớ ườ ậ ướ ế ố ườ ậ ẽ ầ ự ự ệ
c a các l nh nh p mà ch đ nh nghĩa các l nh x lý t ng ng v i các bi n c x y ra nh :ủ ệ ậ ỉ ị ệ ử ươ ứ ớ ế ố ả ư
•Bi n c khi ng i dùng nh n chu t t i nút Tính:ế ố ườ ấ ộ ạ
- Tính ti n công = S công * Đ n giá côngề ố ơ
- Gán giá tr ti n công vào ô ị ề Ti n côngề
•Bi n c khi ng i dùng nh n chu t t i nút ế ố ườ ấ ộ ạ Thoát:
- Thoát kh i ng d ngỏ ứ ụ
2

Hình 1: Màn hình ch ng trình tính ti n côngươ ề
3. Màn hình làm vi c c a Visual Basicệ ủ
Màn hình làm vi c c a VB g m các thành ph n chính sau: (Xem hình 2)ệ ủ ồ ầ
•H p công c (Toolbox):ộ ụ Ch a các bi u t ng t ng ng v i nh ng đ i t ng đi u khi n chu n baoứ ể ượ ươ ứ ớ ữ ố ượ ề ể ẩ
g m nhãn, h p văn b n, nút l nh…ồ ộ ả ệ
•Màn hình giao ti p (Form):ế Đây chính là đ i t ng đ xây d ng các màn hình giao ti p c a ngố ượ ể ự ế ủ ứ
d ng. Khi v a t o m i, màn hình giao ti p không ch a đ i t ng đi u khi n nào c , nhi m v c aụ ừ ạ ớ ế ứ ố ượ ề ể ả ệ ụ ủ
ng i l p trình là v các đ i t ng đi u khi n lên màn hình giao ti p và đ nh nghĩa các dòng l nh xườ ậ ẽ ố ượ ề ể ế ị ệ ử
lý bi n c liên quan cho màn hình và các đi u khi n trên đó. M c nhiên lúc đ u m i m t ng d ng chế ố ề ể ặ ầ ỗ ộ ứ ụ ỉ
có m t màn hình giao ti p. Trong tr ng h p này giao di n c a ng d ng c n có nhi u màn hình làmộ ế ườ ợ ệ ủ ứ ụ ầ ề
vi c thì chúng ta ph i thi t k nhi u màn hình giao ti p Form t ng ng.ệ ả ế ế ề ế ươ ứ
•C a s thu c tính (Properties window):ử ổ ộ Cho phép đ nh thu c tính ban đ u cho các đ i t ng baoị ộ ầ ố ượ
g m màn hình giao ti p (form) và các đi u khi n (control) trên đó.ồ ế ề ể
•C a s qu n lý ng d ng (Project explorer):ử ổ ả ứ ụ c a s qu n lý ng d ng hi n th các màn hình giaoử ổ ả ứ ụ ể ị
ti p (form), th vi n x lý (module),… hi n có trong ng d ng. Ngoài ra, c a s qu n lý ng d ng cònế ư ệ ử ệ ứ ụ ử ổ ả ứ ụ
cho phép ng i l p trình th c hi n nhanh nh ng thao tác nh m , thêm, xoá các đ i t ng này kh iườ ậ ự ệ ữ ư ở ố ượ ỏ
ng d ng (project).ứ ụ
•C a s đ nh v (Form layout):ử ổ ị ị Cho phép xem và đ nh v trí hi n th c a m i màn hình giao ti pị ị ể ị ủ ỗ ế
(form) khi ch y.ạ
3

Hình 2: Màn hình làm vi c Visual Basicệ
•C a s l nh (Code window):ử ổ ệ Hình 3 cho th y c a s l nh c a VB. Đây là c a s cho phép khai báoấ ử ổ ệ ủ ử ổ
các dòng l nh x lý bi n c cho màn hình giao ti p và các đ i t ng đi u khi n trên màn hình giaoệ ử ế ố ế ố ượ ề ể
ti p. M c nhiên c a s l nh không đ c hi n th , ng i l p trình có th nh n nút chu t ph i trên mànế ặ ử ổ ệ ượ ể ị ườ ậ ể ấ ộ ả
hình giao ti p và ch n ch c năng View code đ hi n th c a s l nh khi c n. Ph n trên cùng c a mànế ọ ứ ể ể ị ử ổ ệ ầ ầ ủ
hình c a s l nh chúng ta s th y có 2 h p ch n (combo box), cho phép chúng ta ch n đ i t ng vàử ổ ệ ẽ ấ ộ ọ ọ ố ượ
bi n c liên quan đ n đ i t ng nàyế ố ế ố ượ
Hình 3: Màn hình c a s l nh c a Visual Basicử ổ ệ ủ
Project
Explorer
Properties
Form
Layout
FormToolBox
4

4. Các khái ni m c sệ ơ ở
Tr c khi tìm hi u c u trúc c a m t ng d ng trong VB g m nh ng gì, hãy làm quen v i các khái ni mướ ể ấ ủ ộ ứ ụ ồ ữ ớ ệ
mà chúng ta th ng g p trong qtrìh xây d ng m t ng d ng v i VB.ườ ặ ự ộ ứ ụ ớ
•Màn hình giao ti p (Form):ế Đây là đ i t ng chính trong quá trình xây d ng giao di n ng d ng. Khiố ượ ự ệ ứ ụ
m t ng d ng đ c ch y, c a s ng d ng (application window) và các c a s giao di n khác c aộ ứ ụ ượ ạ ử ổ ứ ụ ử ổ ệ ủ
ch ng trình là các màn hình giao ti p khi đ c t o ra lúc ban đ u không ch a đ i t ng nào, nhi mươ ế ượ ạ ầ ứ ố ượ ệ
v c a ng i l p trình là v các đ i t ng đi u khi n lên màn hình giao ti p đ t o thành giao di nụ ủ ườ ậ ẽ ố ượ ề ể ế ể ạ ệ
c a ng d ng.ủ ứ ụ
•Đ i t ng đi u khi n (Control):ố ượ ề ể Đ i t ng đi u khi n là các thành ph n s đ c v lên màn hìnhố ượ ề ể ầ ẽ ượ ẽ
giao ti p đ t o thành giao di n c a m t ng d ng. Các thành ph n này có th là các nhãn, ô nh pế ể ạ ệ ủ ộ ứ ụ ầ ể ậ
li u, nút l nh,…ệ ệ
•Thu c tính (Properties):ộ T p h p các thông tin liên quan đ n tr ng thái m t đ i t ng nh tên, v trí,ậ ợ ế ạ ộ ố ượ ư ị
màu s c hi n th ,… đ c g i là thu c tính c a đ i t ng. Trong quá trình l p trình, ng i l p trình cóắ ể ị ượ ọ ộ ủ ố ượ ậ ườ ậ
th thay đ i tr ng thái c a các đ i t ng b ng cách thay đ i giá tr c a các thu c tính.ể ổ ạ ủ ố ượ ằ ổ ị ủ ộ
Ví d , đ thay đ i màu n n c a m t đ i t ng chúng ta có th gán thu c tính BackColor c a đ iụ ể ổ ề ủ ộ ố ượ ể ộ ủ ố
t ng này b ng giá tr màu m i.ượ ằ ị ớ
•Ph ng th c (Method):ươ ứ Ngoài thu c tính là nh ng thông tin ch ra tình tr ng, các đ i t ng còn cóộ ữ ỉ ạ ố ượ
nh ng hành đ ng x lý liên quan đ n chúng. Các hành đ ng liên quan đ n m t đ i t ng đ c g i làữ ộ ử ế ộ ế ộ ố ượ ượ ọ
các ph ng th c c a đ i t ng. L y ví d , khi c n di chuy n m t đ i t ng t v trí này đ n v trí m iươ ứ ủ ố ượ ấ ụ ầ ể ộ ố ượ ừ ị ế ị ớ
chúng ta có th dùng ph ng th c Move c a đ i t ng này.ể ươ ứ ủ ố ượ
Th c ch t m i ph ng th c là m t t p h p các l nh đã đ c VB xây d ng s n cho đ i t ng này.ự ấ ỗ ươ ứ ộ ậ ợ ệ ượ ự ẵ ố ượ
Thay vì dùng ph ng th c Move đ di chuy n m t đ i t ng sang v trí m i, ng i l p trình có thươ ứ ể ể ộ ố ượ ị ớ ườ ậ ể
dùng hai l nh đ thay đ i thu c tính Top, Left c a đ i t ng này.ệ ể ổ ộ ủ ố ượ
•Bi n c (Event) - Th t c x lý bi n c (Event Sub):ế ố ủ ụ ử ế ố Bi n c là thông tin cho bi t nh ng gì đangế ố ế ữ
x y ra v i m t đ i t ng trong ng d ng đang ch y. Khi có bi n c phát sinh đ i v i m t đ i t ng thìả ớ ộ ố ượ ứ ụ ạ ế ố ố ớ ộ ố ượ
HĐH Windows s g i th c hi n các l nh có trong th t c x lý bi n c (Event-Sub) t ng ng. M cẽ ọ ự ệ ệ ủ ụ ử ế ố ươ ứ ặ
nhiên lúc ban đ u, các th t c x lý bi n c là r g. VB cho phép ng i l p trình khai báo các l nh c nầ ủ ụ ử ế ố ỗ ườ ậ ệ ầ
thi t có trong nh ng th t c x lý bi n c . V i nút l nh Tính trong hình 1, chúng ta s th y có nhi uế ữ ủ ụ ử ế ố ớ ệ ẽ ấ ề
bi n c và th t c x lý bi n c t ng ng. Tuy nhiên chúng ta ch c n khai báo các l nh c n th cế ố ủ ụ ử ế ố ươ ứ ỉ ầ ệ ầ ự
hi n khi phát sinh bi n c do ng i dùng nh n chu t (Mouse Click) t i nút này nh d i đây.ệ ế ố ườ ấ ộ ạ ư ướ
Sub cmdTinh_Click()
Dim socong As Single, dongia As Single
Socong = Val(txtSocong.Text)
Dongia = Val(txtDongia.Text)
txtTiencong = Socong * Dongia
End Sub
•Th t c (Sub) – Hàm (Function):ủ ụ Ngoài các th t c x lý bi n c , đ c u trúc ch ng trình đ c rõủ ụ ử ế ố ể ấ ươ ượ
ràg m ch l c, tránh l p l i nhi u l n… ng i l p trình có th khai báo các th t c (hàm) dùng chungạ ạ ặ ạ ề ầ ườ ậ ể ủ ụ
và g i th hi n các th t c (hàm) này khi c n thi t.ọ ể ệ ủ ụ ầ ế
•Th vi n (Module):ư ệ Các đ i t ng dùng chung nh các bi n toàn c c, th t c hay hàm đ c số ượ ư ế ụ ủ ụ ượ ử
d ng cho nhi u màn hình giao ti p s đ c khai báo trong th vi n c a ng d ng. M i m t th vi nụ ề ế ẽ ượ ư ệ ủ ứ ụ ỗ ộ ư ệ
dùng chung nh v y đ c g i là m t module.ư ậ ượ ọ ộ
II. T O NG D NG V I VISUAL BASICẠ Ứ Ụ Ớ
1. C u trúc m t ch ng trình Visual Basicấ ộ ươ
Trong VB, v c b n m t ch ng trình ng d ng (hay còn đ c g i ề ơ ả ộ ươ ứ ụ ượ ọ project) s ch a m t hay nhi u mànẽ ứ ộ ề
hình giao ti p ếForm. Ngoài nh ng màn hình giao ti p ra, ng d ng còn có th có các th vi n (ữ ế ứ ụ ể ư ệ Module) l u trư ữ
các thành ph n dùng chung c a toàn b ng d ng nh bi n, th t c, hàm,…ầ ủ ộ ứ ụ ư ế ủ ụ
Khi l u tr trên đĩa, m t ng d ng s g m nh ng t p tin sau đây:ư ữ ộ ứ ụ ẽ ồ ữ ậ
5

