Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 1 -
I HC CÔNG NGH THÔNG TIN
Trung Tâm VNIT
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 2 -
Chng I : Tng Quan V Visual Basic
Microsoft Visual Basic 6.0 là môi trng phát trin ng dng tích hp (Integrated
Development Environment IDE) ca Micorosoft dành cho lp trình viên s dng ngôn
ng Visual Basic xây dng các ng dng.
Visual Basic 6.0 là mt thành phn ca b công c phát trin ng dng Visual Studio 98
Các phiên bn chính:
• MS Visual Basic 6.0 Learning Edition
• MS Visual Basic 6.0 Professional Edition
• MS Visual Basic 6.0 Enterprise Edition
•
Cách cài t Visual Basic 6.0
• Các yêu cu v cu hình phn cng: CPU, cng, RAM,
• Cài t Visual Basic 6.0 t b cài t Visual Studio 98
• Cài t Visual Basic 6.0 t b cài t dành riêng cho Visual Basic
• Cài t tài liu tham kho Microsoft Develop Network MSDN
I, Khi ng chng trình VB
Start à Programs à Microsoft Visual Studio 6.0 à Microsoft Visual Basic 6.0
ng dn : C:\Program Files\Microsoft Visual Studio\VB98\VB6.EXE
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 3 -
II, Gii thiu giao din ca s làm vic ca VB
II.1, Thanh công c (Tool Box)
(Menu View / Toolbox)
Toolbox là ca s cha các nút công c vi các u
khin (Control) hay còn gi là các i tng (Object)
a VB.
Có 2 loi nhóm công c :
- Công c h tr sn ngay khi khi ng chng trình
- Công c m rng, c ly thêm theo yêu cu ca
chng trình. Vic ly thêm công c tin hành bng
cách vào menu Project / chn mc Components (phím
t là Ctrl + T).
ly công c nào thì bn
có th tích chn vào nó ri
n OK
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 4 -
II.2, Ca s Project Explorer
(menu View / Project Explorer) Ctrl + R
a s Project Explorer dùng
quan sát và qun lý toàn b d án mà
n ang thit k. Trên ca s này s
lit kê tên d án và tt c các form mà
n ã thit k.
Vic sp xp có th theo nhóm th
c hoc theo vn tên form
tr chc nng giúp bn có th gi
xem thit k hoc mã ngun ca form
c chn trong danh sách
II.3, Thanh thuc tính (Properties)
(mnu View / Properties Window) F4
Properties là thanh cha nhng tính
cht quan trng ca các i tng mà
chng trình Visual Basic ã thit k
n. Còn vic thit lp và s dung
thuc tính nh th nào thì tu thuc
vào ngi lp trình.
i khi thay i vic la chn công c
thì các thuc tính trên thanh Properties
ng s tng thay i theo.
Vic sp xp các thuc tính có th theo
n Alpha hoc theo nhóm chc nng
a thuc tính.
III, To/Lu Project làm vic
III.1, To Project
• Khi ng chng trình Visual Basic
• Chn menu File / New Project ( Ctrl + N)
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 5 -
• Trong hp thoi New Project thì ta s la chn loi Project mun to. Thông
thng là la chn Standard EXE, còn nu mun lp trình các d án vi c s
liu thì chn Data Project.
• Khi ó chng trình VB s có dng nh sau :
III.2, Lu Project
t trong nhng vn quan trng khi vit chng trình là lu li nhng gì mình ã
làm. Mc dù cha có thao tác gì thay i trong Form trng, ra cng nên lu Form lên
a. Khi ra lu Project, có 2 loi tp tin c lu :
1. Tp tin cha các thông tin VB cn trong vic xây dng Project. Tp tin này có
phn m rng là VBP
2. Tp tin cha thông tin v Form. Tp tin này có phn m rng là FRM
Các bc thc hin :
• Vào menu File / Save Project
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 6 -
• VB s hin lên hp thoi cho phép ta la chn ng dn lu bài. Ta
chn ng dn n th mc riêng ca mình trong a, sau ó n Save
u ý : Ta nên i tên form trc khi thc hin vic lu. Tên t cho form tu theo chc
ng x lý ca chng trình, và thng bt u bng frm
IV, Các bc c bn xây dng 1 chng trình (Hello)
IV.1, To giao din : gm 1 form , 1 textbox và 1 command button
Texbox Command button
v 1 control (u khin) ta Nhn chn u khin trên toolbox trong bài này chn
textbox. Chuyn con tr lên form ti v trí mun t control, Nhn và Kéo chut ti kích
cn có ca control. Kt thúc bng cách Nh chut
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 7 -
Thay i kích c, di chuyn, khoá 1 control :
• thay i kích c: nhn chn control, t chut ti góc (phi, di) và kéo chut
i kích c mong mun.
• thay i v trí: kéo control ti v trí bng chut, ri th chut.
• khoá cnh v trí: s dng chc nng Format | Lock Controls
IV.2, t giá tr thuc tính cho u khin :
• Nhn chn control
• Hin th ca s thuc tính: View | Properties
• Chn thuc tính cn t t : Properites List
• Nhp giá tr mi vào ct bên phi
Ghi chú:
• Object box: Danh sách form và các control trên form
• Sort tabs: Kiu sp xp danh sách các thuc tính: theo bng ch cái (Alphabetic)
hay theo phân loi (Categorized)
• Properties list: Danh sách các thuc tính gn vi i tng c chn (trên form
hay t object box)
IV.3, Vit mã lnh
Code Editor bng cách: Nhn úp lên control hoc chn View Code t ca s
Project Explorer.
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 8 -
o th tc áp ng s kin :
+ Chn control t hp danh sách bên trái (cha form và các control)
+ Chn tên s kin t hp bên phi (cha danh sách s kin gn vi i tng va
c chn)
Private Sub Command1_Click ()
Text1.Text = "Hello, world!"
End Sub
chuyn i gia hin th tt các th tc trên cùng 1 ca s và hin th mi th tc ti
1 thi m:
+ Chn Tools | Options
+ Thay i các giá tr tng ng trong tab: Editor
IV.4, Chy chng trình :
• Chn Run | Start hay nhn F5 chy chng trình
• Chn Run | End dng chng trình ang chy
• Chn Run | Break hay nhn <Ctrl+Break> kt thúc chng trình bt thng
Chng II : Form và Control
I, Thuc tính, s kin, phng thc :
Form và control (u khin) ca Visual Basic là các i tng vi thuc tính (property),
phng thc (method) và s kin (event).
• Thuc tính : là các c m quy nh i tng, tp hp các thuc tính ca
control có th thit lp khi thit k hay khi chy chng trình.
• Phng thc : là các hành ng mà control có th thc hin c
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 9 -
• S kin : là sáp ng tác ng gn vi mi i tng. Khi 1 s kin xy ra vi
control thì chng trình s tng x lý 1 hàm s kin (Event_Handle). Ví d
khi bn kích vào 1 nút lnh trên form thì s t ng thc hin hành ng
Command_Click
Chúng ta có th coi FORM nh 1 control c bit.Sau ây là mt s s kin thông
ng trên form :
• Form_Initialize() : s kin này xy ra trc nht và ch xy ra 1 ln duy nht.
Trong quá trình thc hin chng trình ta óng m form nhiu ln thì s kin
này ch xy ra ln m form u tiên
• Form_Load() : s kin này luôn xy ra mi khi ta gi mn form
• Form_Activate() : sau khi form x lý xong s kin Form_Load(), nu không
có gì thay i, chng trình s phát sinh ra s kin này
• Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) : Khi
ngi s dng n nút X óng form thì s to ra s kin này, tham s
UnloadMode cho bit ai hay tác v nào óng form. Do ó ta có th bt s
kin này hi ngi s dng có chc mun óng form hay không, nu
không thì thit lp tham s Cancel=1.
II, Các u khin c s :
Các u khin trong môi trng Visual Basic c chia thành 2 loi, u khin c s
và u khin m rng.
• u khin c s gm nhng u khin có thc s dng ngay trong bt k
màn hình thit k nào, ó là nhng u khin mc nh do môi trng cung cp.
• u khin m rng còn gi là nhng Component c lp, ta có th thêm
hoc bt nhng Component khi thit k giao din. Nh các u khin m rng
mà các giao din ca ng dng tr nên a dng và và tin dng hn vi ngi
dùng.
Trong phm vi ca bài này, chúng ta s tìm hiu ý ngha và cách s dng ca các u
khin c s.
II.1, Các thuc tính chung ca u khin :
• Name : Tên ca công c
• Caption, Text : Chú Thích, Chú Gii, Ni Dung
• BackColor ( Màu Nn )
• ForeColor ( Màu Ch )
• Font : Chn Phông Ch
• Top ( Trên ), Left ( Trái )
• Height ( Chiu Cao ), Width ( Chiu Ngang )
• Enabled : True : hin công c cho s dng
False : làm m chc nng không cho s dng
• Visible : True : Hin th công c
False : n công c không cho nhìn thy
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 10 -
II.2, Công cu khin TEXTBOX
t trong nhng thành phn quen thuc i vi nhng ngi làm vic trên môi trng
Windows ó là TextBox, mt u khin có dng hình hp và có th nhp vn bn vào
nó. Vn bn trong TextBox có th nhp nhiu dòng khác nhau, có h thng thanh
cun di chuyn qua các dòng, màu ca vn bn, và có nhiu tính cht khác ta s
xem xét trong phn này. Các thuc tính và hành ng ca TextBox tp trung vào vic
lý d liu vn bn c nhp vào trong TextBox.
Sau ây là mt s các thuc tính và hành ng thông thng ca TextBox
Name
Trong môi trng lp trình, nh danh phân bit các bin, hàm, là thành phn
không th thiu và giá tr ca không c trùng trong cùng mt phm vi s dng. Khi
làm vic vi các u khin ca Visual Basic thì nh danh là thành phn có nh hng
nhiu n cách thc vit chng trình, nó có th to ra mng các u khin.
nh danh ca u khin sc lu gi trong thuc tính Name ca tng u khin,
không ch riêng gì u khin TextBox mà nó có ý ngha cho tt c các u khin trong
Visual Basic. Khi to giá tr cho thuc tính Name phi tuân th các qui tc t tên tng
nh tên bin.
Text
Thuc tính lu tr ni dung ca u khin. Có 2 cách a ni dung vào cho thuc
tính Text ca TextBox : trên màn hình giao tip, nhp trc tip vào vùng nhp liu ca
i tng TextBox hoc là s dng phép gán trong ca s lnh
VD : Text1.Text = "Bn gán giá tr cho thuc tính Text ca u khin TextBox"
MultiLine
i giá tr mc nh ca các thuc tính trong u khin khi c to, ta s có mt
TextBox ch có th nhp vn bn trên 1 dòng, vi s ký t ti a là 65.535 ký t. Khi
thit k TextBox, chiu dài hin th ca TextBox s có th nh hn s ký t mà nó có
th lu tr, do ó khi vn bn hin th quá dài thì s gây khó khn cho ngi s dng
khi làm vic vi vn bn.
Ta có th thit lp thuc tính MultiLine ca TextBox là True TextBox có th hin th
n bn nhiu dòng và chui vn bn s tng xung dòng khi dài hn chiu dài
a TextBox.
Alignment
i dung vn bn ca TextBox sc canh theo l bên trái, ch mc nh. Nu
n mun vn bn ca mình hin th gia ch không phi là trái thì thuc tính
Alignment ca TextBox s giúp ta thc hin c u này.
Thuc tính Alignment có th nhn mt trong ba giá tr sau:
• 0 Left Justify : dùng canh trái
• 1 Right Justify : dùng canh phi
• 2 Center : dùng canh gia.
Thuc tính canh l ca TextBox nh hng n toàn b khi vn bn có trong TextBox
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 11 -
MaxLength
Nhã trình bày trên, s ký ti a có th nhp vào TextBox là 65.535 ký t, tuy nhiên
u ta mun gii hn s ký t ti a mà ngi dùng có th nhp vào TextBox thì khi ó
ta dùng thuc tính MaxLength ca TextBox. Mc nh giá tr ca MaxLength bng 0 có
ngha là TextBox có th nhn ti a s ký t do chng trình qui nh
PasswordChar
u bn mun to mt ô cho ngi dùng nhp mt mã vào (các ký t nhp vào s
ng c hin th thành mt ký t khác) thì ta phi s dng n thuc tính
PasswordChar. Thuc tính này s nhn là mt ký t bt k và ch duy nht mt ký t,
khi ngi dùng nhp ni dung vào TextBox, d liu hin th trên TextBox là nhng ký t
a thuc tính PasswordChar, nhng ni dung c nhp trong thuc tính Text thì
không thay i.
Locked và Enabled
u bn nh vit mt chng trình tính tng 2 s, trên hp thoi bn s dng 2
TextBox dùng nhp 2 s cn tính tng và mt TextBox cha kt qu ca phép
tính. Khi này, TextBox kt qu ch nên cho ngi dùng xem kt qu và không cho h
thay i kt qu tính c. Locked và Enabled là 2 gii pháp bn có th chn to ra
nhng TextBox ch xem, không cho chnh sa.
Khi giá tr ca Locked ca TextBox c thit lp là True thì TextBox s b khoá, ngi
dùng có tha con tr vào vùng nhp liu ca u khin, nhng s không thc hin
c thao tác nhp trc tip lên TextBox. TextBox không nhn Focus khi thuc tính
Enabled ca nó là False. Ngi s dng s không th nhp d liu vào TextBox, ni
dung ca vn bn trong TextBox s b m. ây là m khác bit gia thuc tính
Locked và Enabled. Ngi s dng s không nhn bit c mt TextBox có Locked
hay không cho n khi h thc hin thao tác nhp liu cho TextBox, nhng h có th
dàng bit c TextBox nào không th nhp liu khi nó b làm m bng thuc tính
Enabled.
Khi ta s dng mt trong hai thuc tính trên vô hiu hoá các TextBox thì ni dung
a chúng s không th thay i trc tip nhng vn có th thay i bng lnh ca
chng trình.
Ví d :Text1.Text = "u khin b khoá"
SetFocus
Focus là v trí ca con tr xut hin trên u khin. Khi con tr nm u khin nào
thì u khin ó c gi là ang nhn Focus. Trong khi chng trình ang chy, ta có
th t con tr vào bt k u khin nào có trên hp thoi làm vic, tt nhiên u
khin ó phi có kh nng nhn Focus. Vic t Focus vào mt u khin có th thc
hin bng chut, bàn phím, và có th s dng lnh.
Hành ng SetFocus dùng ly Focus v cho u khin khi cn, hành ng này gn
nh có tt c các u khin trong môi trng ca Visual Basic. Ví d sau ây s
chuyn Focus n cho u khin có tên Text1
Ví d :Text1.SetFocus
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 12 -
Sau ây là mt vài s kin thng gp khi làm vic vi TextBox
Change
kin này s phát sinh khi trong vùng nhp liu ca u khin có bt k s thay i
nào
Validate
Sau khi nhp ni dung cho TextBox, bn có th kim tra giá tr nhp có hp l hay
không. Nu giá tr không hp l ta có th yêu cu nhp li giá tr phù hp.
kin Validate s phát sinh trc khi ta chuyn Focus sang u khin khác, ta có th
gán giá tr True cho tham s Cancel ca th tc x lý s kin ngn không cho Focus
di chuyn sang u khin khác
Sau ây là mt vài x lý c bn trên TextBox
Chn và thay th ni dung trong TextBox
Ta có th thc hin thao tác chn ni dung có trong TextBox bng chut, bàn phím
ging vi bt k môi trng son tho vn bn khác. Bên cnh ó, ta còn có th thc
hin thao tác chn ni dung bng lnh thông qua ca thuc tính ca u khin:
SelLength, SelStart, SelText
• SelLength: tr v hay thit lp chiu dài ca s ký tc chn trên TextBox
• SelStart: tr v hay thit lp v trí bt u ca ni dung c chn, nu không có
ký t nào c chn thì SelStart chính là v trí mà ni dung có trong thuc tính
SelText sc chèn vào
• SelText: tr v chui ang c chn hay gán chui ni dung vào thuc tính
Text ti v trí SelStart
Ví d : Trên ô Text có ni dung nh sau, khi ta bôi en 1 n ch thì cho kt qu :
u khin vic nhp liu vào TextBox
Trong quá trình nhp liu trên TextBox, ngi s dng có th vô tình nhp sai kiu d
liu, chng hn nh nhp ch cái vào vùng ca sn thoi. Khi ó, chng trình phi
phát sinh ra li v kiu d liu mà ngi dùng không bit. hn ch vic có th nhp
sai d liu ta có th hn ch bng cách dùng các s kin v bàn phím kim tra d
liu khi h nhp.
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 13 -
kin KeyPress, KeyUp, KeyDown thng c dùng gii hn vic nhp liu cho
ngi dùng. Trong ó, KeyPress s dng kim tra nhng ký t bình thng, không
có các phím t hp.
Ví d sau ây s gii hn ch cho phép ngi dùng nhp s, s dng s kin
KeyPress ca u khin TextBox Text1
Private Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9")) And KeyAscii <> 8 Then
KeyAscii = 0
End If
End Sub
II.3,
Command Button, CheckBox và Option Group :
Trong khi giao tip gia ng dng và ngi dùng, ngoài vic to nhng vùng nhp liu
còn mt thao tác quan trng không th thiu ó là ghi nhn li nhng chn la ca h.
Cách ghi nhn các chn la ca ngi dùng mt cách trc quan nht thông qua h
thng các nút bm.
Có 3 loi nút trong môi trng ca Visual Basic, ó là Command Button, CheckBox,
Option Button.
- Command Button: là nhng nút bm có dng hình ch
nht.
- CheckBox: trng thái thông thng ca u khin là
t ô vuông. Click vào checkbox chn nó, click nó mt
n na b chn.
- Option Button: có trng thái là chn và không chn ging
nh checkbox, nhng nó dng hình tròn. Option Button
thng phi s dng trong mt nhóm và ây cng là
m khác bit gia CheckBox và Option Button:
CheckBox có th làm vic mt mình nhng Option Button
thì phi làm vic theo nhóm. Khi ta click chn mt option
button thì tt c nhng option button khác có trong nhóm
tng b chn
Các thuc tính, hành ng và s kin ca u khin
Các thuc tính ca u khin có thc thit lp giá tr bng ca s thuc tính ca
u khin khi thit k, hay giá trc gán khi chng trình ang chy (run time). Bên
nh ó, có nhng thuc tính ch nhn giá tr lúc chng trình ang thc thi.
Caption
Các u khin khi c to u mang mt ý ngha nht nh, Caption chính là thuc
tính ngi s dng có th bit c ý ngha s dng ca nút u khin. Thuc tính
này có th thay i lúc thit k hay lúc chng trình ang chy.
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 14 -
Trong môi trng Windows, ta có th di chuyn n mt u khin nhanh bng phím
t nu có. Phím tt là s kt hp ca phím Alt và mt ký t bt k. Ta có th to phím
t di chuyn n các nút u khin bng cách thêm du & trc ký t cn to phím
t hp thuc tính Caption.
Ví d : To phím tt Atl + T di chuyn n nút u khin có Caption Thc hin
Caption: &Thc hin à T
c hin
TabIndex
Ta có th di chuyn qua li gia các u khin theo mt th t tun t thông qua thuc
tính TabIndex. Nhng trc tiên ta phi thit lp thuc tính TabStop ca u khin là
True, cho phép u khin nhn Focus khi ngi dùng tab n nó.
TabIndex có giá tr nh nht là 0, ch ra v trí hin hành ca u khin so vi th t Tab
Enabled
Khác vi TextBox, các u khin nút ch có thuc tính m, không có thuc tính Locked.
Khi giá tr ca thuc tính Enabled là False thì nút u khin s b m và ngi s dng
không th tng tác vi nó.
Visible
t k thut khi thit k thành phn giao tip là cho n nhng u khin cha cn s
ng nhm to cho hp thoi giao tip có v thoáng và tit kim c không gian lu
tr. Khi cn s dng thì s cho xut hin u khin cn thit.
Giá tr ca Visible bng False s làm cho các u khin không hin th khi chng trình
ang chy. Ta có th thay i giá tr ca thuc tính khi thit k cng nh khi thc thi.
Click
ây là s kin x lý chính ca các nút u khin. S kin s phát sinh khi ngi dùng
thc hin thao tác click chut lên u khin
t vài x lý c bn trên các nút u khin
Xác nh trng thái ca u khin CheckBox
Khi trên màn hình giao tip có nhiu CheckBox khác nhau thì lúc x lý ta phi xác nh
c u khin nào c chn. Thuc tính Value ca u khin s giúp ta xác nh
c trng thái chính xác ca tng CheckBox, Value có th cha 1 trong 3 giá tr sau: 0
là không có chn, 1 thì có chn và 2 là m
Ví d :
If Check1.Value = 1 then
Check1.Caption = "Check 1 c chn"
End if
Ta cng có th s dng thuc tính Value thit lp trng thái cho CheckBox khi
chng trình ang chy. Ví d sau s xác nh trng thái có chn cho u khin
Check1
Ví d :Check1.Value = 1
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 15 -
Xác nh trng thái ca u khin Option Group
Khi làm vic vi Option Group ta phi to nhóm cho các u khin loi tr nhau.
bit c trng thái ca tng Option Group, ta phi da vào thuc tính Value. Nu giá
tr ca Value là True thì u khin c chn. Tng t nh CheckBox, ta cng có th
dng thuc tính này chn hay b chn ca Option Group.
Ví d :
If Option1.Value=True then
MsgBox "Nút u khin ang c chn"
Else
MsgBox "Nút u khin không c chn"
End if
Xác nh trng thái ca u khin Command Button
Ví d : Bài toán tính tng da trên phép tính c la chn t OptionBox
Thit k giao din có dng nh sau :
Private Sub cmdtinh_Click()
If Option1.Value Then
Text3 = Val(Text1) + Val(Text2)
End If
If Option2.Value Then
Text3 = Val(Text1) - Val(Text2)
End If
If Option3.Value Then
Text3 = Val(Text1) * Val(Text2)
End If
If Option4.Value Then
If Val(Text2) <> 0 Then
Text3 = Val(Text1) / Val(Text2)
Else
Text3 = "E"
End If
End If
End Sub
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 16 -
II.4,
List Box và Combo Box
List Box và Combo Box cng là hai u khin c s ca môi trng Visual Basic
nhng chúng có nhiu tính nng h tr ngi s dng trong vic nhp d liu và giao
tip vi chng trình ng dng.
List Box có dng là mt danh sách lit kê các phn tã c a vào trong khi thit
, hay bng lnh. Ngi s dng ch có th chn nhng phn t có trong danh sách
a List Box. List Box có h tr thanh cun nên ta có th hin th d liu nhiu dòng
mà không làm tn nhiu không gian hin th.
Combo Box là s kt hp ca mt List Box và mt Text Box. Bn có th cho phép
ngi s dng chn mt phn t trên List Box hoc gõ trc tip ni dung h cn vào
vùng Text Box.
Các thuc tính, hành ng và s kin ca u khin
Các thuc tính ca u khin có thc thit lp giá tr bng ca s thuc tính ca
u khin khi thit k, hay giá trc gán khi chng trình ang chy (run time). Bên
nh ó, có nhng thuc tính ch nhn giá tr lúc chng trình ang thc thi.
AddItem
Khi làm vic vi List Box và Combo Box thì vic u tiên cn thc hin là phi to
ngun d liu cho u khin. Ngun d liu có thc to khi thit k, hay to bng
nh lúc thc thi.
Khi thit k, ta có th to ngun d liu cho List Box, Combo Box thông qua thuc tính
List trong ca s thuc tính ca u khin.
Khi thc thi, ta có th dùng hành ng AddItem to d liu ngun cho các u
khin, có dng nh sau:
VD : List1.AddItem Chui ni dung cn thêm vào danh sách
Combo1.AddItem Chui ni dung cn thêm vào danh sách
List, ListCount, ListIndex
Ngun d liu sau khi thêm vào cho u khin sc cha trong thuc tính List ca
u khin. Thuc tính List c t chc là mt mng các phn t, truy xut tng
phn trong List ta s dng ch s ca mng.
Ch s ca mng t 0 n ListCount-1. ListCount cho bit tng s phn t có trong
ng. Khi ta click vào mt phn t trên u khin, ly giá tr ca phn tó ta
dùng thuc tính ListIndex và List. ListIndex là ch s ca phn tc click.
Ví d : cho bit v trí và ni dung ca phn tc chn trong List
Private Sub List1_Click()
MsgBox "Phn t th " & List1.ListIndex & " có giá tr : " & List1(List1.ListIndex)
End Sub
ItemData
Khi bn cn lu tr mt giá trc bit cùng vi phn tc thêm vào trong danh
sách thì ItemData là cách gii quyt nh nhàng và hiu qu. ItemData là mt mng các
nguyên, ch s ca các phn t trong ItemData ng vi ch s ca List. Ta có th s
ng thuc tính NewIndex, ch s ca phn t mi thêm vào bng lnh AddItem,
ng b gia ch s ca List vi ch s ca ItemData
Ví d :Combo1.AddItem "donTRUONGBT"
Combo1.ItemData(Combo1.NewIndex) = 28121982
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 17 -
RemoveItem, Clear
Trong khi thc thi, nu mun xoá mt phn t ca List Box ta s dng hành ng
RemoveItem. Nu mun xoá ht tt c các phn t có trong danh sách, dùng hành
ng Clear
Ví d :
List1.RemoveItem 1 à xoá phn t v trí th 2 trong listbox
Combo1.Clear à xoá toàn b ni dung trong listbox
Multiselect, Selected ca List Box
u khin List Box cho phép ta chn nhiu phn t cùng mt lúc. có th chn nhiu
phn t cùng mt lúc, ta phi thit lp li giá tr cho thuc tính Multiselect
0 ch cho phép chn mt phn t
1 dùng chut hay thanh Space bar chn nhiu phn t
2 nhn gi phím Shift và click chut chn nhiu phn t có trong List
Khi chng trình ang thc thi, bit c nhng phn t nào c chn ta phi
duyt qua danh sách các phn t có trong List Box, sau ó dùng thuc tính Selected
kim tra. Thuc tính Selected cng c t chc dng mng. Mt phn tc chn
u giá tr ca Selected bng True
Ví d :
For i = 0 To List1.ListCount - 1
If List1.Selected( i) = True Then
MsgBox "Phn t th " & i & " c chn"
End If
Next
Text ca Combo Box
Combo Box c to thành bi Text Box và List Box, truy xut giá tr ca List Box ta
dùng thuc tính List nhã trình bày trên. Text Box s cha giá tr hin hành ca
phn tc chn, ta có th truy xut giá tr này thông qua thuc tính Text ca u
khin.
Ví d : thc hin các chc nng c bn trên ListBox
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 18 -
II.5,
Picture Box và Image
Image là mt u khin ch dùng hin th hình nh lên màn hình giao tip ca ng
ng. Trong khi Picture Box có th hin th hình nh và thc hin các thao tác x lý trên
i tng nh nh là lu nh vào a, thc hin các thao tác v thông qua các hàm
a ca h thng,
Ta có th s dng u khin Picture Box nh là Image nhng phi quan tâm mt u
là u khin Image chim ít vùng nh và có thao tác t v li nhanh hn nhiu so vi
Picture Box. Picture Box chim nhiu vùng nh và tn nhiu thi gian x lý nhiu hn
Image.
m c bit ca u khin Picture Box là có th làm vt
cha có các u khin khác và là u khin có thc
o trc tip trên màn hình MDI.
Trong ca s thit k, Picture Box và Image c th hin
i dng biu tng ho trên thanh Toolbox nh hình
bên, Picture Box là biu tng nm bên trong hình vuông
trên, Image là biu tng nm bên trong hình vuông
i.
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 19 -
Các thuc tính, hành ng và s kin ca u khin
Các thuc tính ca u khin có thc thit lp giá tr bng ca s thuc tính ca
u khin khi thit k, hay giá trc gán khi chng trình ang chy (runtime). Bên
nh ó, có nhng thuc tính ch nhn giá tr lúc chng trình ang thc thi.
Picture
Khi bn cn a hình nh lên màn hình giao tip bn có th to Image hoc Picture
Box cha nh cn hin th. Ni dung ca nh sc cha trong thuc tính Picture ca
u khin. Giá tr ca thuc tính là ng dn n tp tin nh cn hin th. Giá tr này
có thc thit lp khi thit k hay trong lúc thc thi.
Khi thc thi, ta không th gán trc tip ng dn n tp tin nh cho thuc tính Picture
mà phi thông qua mt hàm x lý chuyn nh t tp tin vào thuc tính Picture. Hàm
lý cn s dng là LoadPicture, hàm này s nhn tham s vào là ng dn n tp
tin nh
Ví d :
Picture1.Picture = LoadPicture( "C:\ Sicily.bmp" )
Image1.Picture = LoadPicture( "C:\ Omertà.bmp")
Stretch ca Image và AutoSize ca Picture Box
Thuc tính Stretch ca Image khi thit lp là True s làm thay i kích thc ca ca
nh theo kích thc ca u khin nhng không làm thay i cu trúc ca nh ngun.
i tng Picture Box không thay i kích thc ca nh ngun, nhng nó có th t
ng thay i kích thc bng vi kích thc ca nh thông qua thuc tính AutoSize
i giá trc gán là True.
II.6, Timer
Ý ngha
Trong các nhng ng dng luôn có mt s kin tng phát sinh và tn ti bên di
ch có ngi lp trình mi có th can thip x lý s kin này, ó chính là s kin phát
sinh theo thi gian. Môi trng phát trin ca Visual Basic cung cp kh nng x lý s
kin thi gian thông qua Timer. u khin Timer giúp ta thc thi mt n lnh ca
chng trình theo chu k thi gian c chnh.
dng
làm vic vi Timer, trc tiên ta phi thêm u khin vào trong
chng trình, trên Toolbox u khin có dng nh hình bên, và thit
p thuc tính Interval ca u khin. Giá tr ca Interval s xác nh
chu k thi gian phát s kin ca u khin c phát sinh. n v
tính ca thuc tính này là Mili giây (1 phn ngàn ca giây). Ví d
mun u khin Timer sau 1 giây phát sinh ra 1 s kin thì giá tr ca
Interval s bng 1000.
Sau khi u khin c thêm vào chng trình, ta có th kích hot
hoc là vô hiu hoá u khin thông qua thuc tính Enabled. Khi giá
tr ca Enabled là True thì nó s phát sinh ra s kin Timer sau mt
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 20 -
chu k thi gian c xác nh bi thuc tính Interval. Ta s vit các lnh cn thc
hin trong th tc ca s kin phát sinh, chng hn nh là Timer1_Timer().
Ví d, nu ta mun sau mi 5 giây chng trình hin mt hp thoi có ni dung Xin
chao cac ban thì ta s thêm mt u khin Timer có tên là Timer1 vào chng trình
i các thuc tính sau: Interval = 5000, Enabled = True. Các thuc tính này u có th
c thit lp giá tr trong lúc thc thi. Khi ó, ta s vit lnh x lý trong s kin ca
u khin Timer nh sau:
Private Sub Timer1_Timer()
MsgBox "Xin chao cac ban"
End Sub
Ví da ra ngày gi ca h thng :
Thit k giao din có dng t qu khi thc hin chng trình
Thit lp thông tin cho Timer và n mã lnh thc hin
Private Sub Timer1_Timer()
lblTime.Caption = Format(Time, "hh : mm : ss")
lblDate.Caption = Format(Date, "dddd dd/mm/yyyy")
End Sub
II.7,
Frame, Label, Shape và Line
Frame
u khin Frame thng c dùng nhóm các u khin trên màn
hình thành mt nhóm có ý ngha s dng nh nhau. Frame xut hin
trên màn hình nh là mt hình hp, có cha u khin Lable góc
trên bên trái ca i tng.
Ta có th làm cho các u khin có trong Frame tr thành mt chc
ng duy nht, chng hn nh nhóm các Option Button thành mt
nhóm. Khi ó, nu ta chn mt u khin Otion Button bt k trong
nhóm thì u khin khác trong nhóm s tng b chn.
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 21 -
to nhóm cho các u khin ta phi to ra u khin Frame trc tiên, sau ó v
u khin ca nhóm cn to trong phm vi Frame cha nhóm. Nu mt u khin
c v bên ngoài Frame hay ã c to trc ó thì s không thuc v nhóm ca
các u khin khác có trong Frame ang to. Ta có th ghi chú ý ngha ca nhóm
thông qua thuc tính Caption ca Frame.
Label
n có th s dng u khin Label hin th nhng vn bn mà
không có phép ngi s dng thay i giá tr trc tip khi chng trình
ang chy. Nhng ta vn có th thay i ni dung ca Lable lúc thc thi
thông qua thuc tính Caption ca nó. Ngoài ra Label còn dùng hin
th tiêu cho nhng u khin không có thuc tính biu din tiêu
riêng, nh TextBox, Image
Nhìn chung thì u khin Label có th hin th ni dung vn bn tng
nh mt TextBox nhng m khác bit c bn là Label không cho
phép nhp ni dung trc tip lên nó. Ngoài ra Label có th thc hin
các thao tác nh dng ging vi TextBox v canh l, font ch
Tuy Label không th nhn Focus nhng nó vn có kh nng nhn s kin Click,
DlbClick và x lý c vic di chuyn n u khin bng t hp phím tt (Alt + phím)
n u khin c phép nhn Focus có TabIndex ln hn và mang giá tr gn nó
nht
Shape
Shape là mt u khin gm các i tng ho. Ta có th to các
hình nh hình tròn, ch nht, vuông, oval và thc hin các thao tác tô
màu nn, màu vin, kiu tô cho hình thông qua u khin này
Vic to ra u khin Shape c thc hin ch yu trong giai n
thit k, tuy nhiên ta có th thay i hình dng, màu sc ca u
khin khi thc thi
u khin Shape có thc hin th mt s hình khác nhau thông
qua thuc tính Shape ca u khin. Thuc tính Shape có th nhn
t trong nhng giá tr t 0 n 5 tng ng vi hình ch nht, hình
vung, hình oval, hình tròn, hình ch nht có góc tròn, hình vuông có góc tròn
Ta có th thit lp màu tô, màu nn, kiu tô cho u khin thông qua các thuc tính
FillColor, BackColor, FilStyle,
Line
Ging vi u khin Shape, Line cng là mt u khin thuc v hình hc. Ta có th
dng u khin này v nhng ng ngang, ng dc ti bt k v trí nào trên
màn hình giao tip.
Ta có th thit lp các kiu ng khác nhau cho u khin Line thông qua thuc tính
BorderStyle vi tp giá tr t 0 n 6 tng ng vi các kiu ng khác nhau.
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 22 -
Chng III : Ngôn Ng Lp Trình Visual Basic
I, S dng Code Editor :
Code Editor ca Visual Basic là mt ca s ni bn vit phn ln mã chng trình. Nó
ging mt trình son tho c chuyên hoá cao vi nhiu tính nng to thun li cho
vic vit mã Visual Basic.
t ca s riêng c m cho mi module bn chn t Project Explorer. Mã nm trong
i module c chia thành các phn riêng cho tng i tng trong module.
i module form gm:
Phn general: cha phn khai báo và các th tc dùng chung.
Phn declarations: cha th tc s kin cho tng i tng.
truy nhp ti phn mã lnh cn vit, nên s dng hp combo box trái ri hp combo
box phi.
Visual Basic có chc nng Auto Code Completion giúp vit mã lnh trong Code Editor
c d dàng. (gi bng Ctrl + SpaceBar)
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 23 -
chn phn t nào ó, chuyn thanh sáng ti ó, ri nhn TAB.
Ngoài ra, chc nng Bookmarks giúp ánh du 1 v trí mã lnh có th quay li c
nhanh chóng (Edit | Bookmarks).
II, Qui c vit lnh trong Visual Basic
II.1, Chia 1 lnh thành nhiu dòng : Bng cách s dng ký t: [ _ ]
adoJT.RecordSource = _
"SELECT * FROM Bang1, Bang2" _
& "WHERE Bang1.ID = Bang2.ID" _
& "AND Bang1.NickName = 'Truongbt' "
Trong mt s trng hp cách chia 1 câu lnh này không thc hin c : ni các
dòng chú gii,
II.2, Ni nhiu lnh vào 1 dòng : Bng cách s dng kí t: [ : ]
txtMsg.Text = "Hello" : Red = 255 : txtMsg.BackColor = Red
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 24 -
II.3, Thêm chú gii vào mã lnh : Bng cách s dng kí t: [ ]
' ây là dòng chú thích cho lnh a chui Hi! vào ô textbox.
txtMsg.Text = "Hi!" ' chú thích trên cùng dòng lnh
II.4, H thng s
s 10
(Decimal)
s 8
(Octal)
s 16
(Hexadecimal )
9 &O11 &H9
15 &O17 &HF
16 &O20 &H10
20 &O24 &H14
255 &O377 &HFF
II.5, Qui tc t tên : Tên th tc, hàm, bin, hng phi tuân theo qui tc:
• Bt u bng kí t ch
• Không cha ký t phân cách (nh [ . ] hay kí t rng), ký t khai báo kiu.
• Không dài hn 255 kí t. Tên ca control, forms, class, và module không vt
quá 40 kí t.
• Không trùng vi các t khoá ca ngôn ng.
ng quy cách t tên cho các u khin (theo thông thng)
u khin Tên Quy cách u khin Tên Quy cách
Label lbl Image img
TextBox txt Adodc ado
Frame fra DataGrid dg grd
Command cmd DataList dlst
Checkbox chk DataCombo dcbo
OptionBox opt TreeView tvw
ComboBox cbo ListView lvw
ListBox lst RichTextBox rtb
Timer tmr Adodc ado
PictureBox pic DataGrid dg grd
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 25 -
ng quy cách t tên cho các kiu d liu (theo thông thng)
Kiu d liu Tên Byte
Phm vi Quy cách
nguyên Integer 2 -32.768 n 32.767 int
Long 4 -2,147,483,648 n 2,147,483,647 lng
thc Single 4
-3.402823E38 n - 1.401298E -45
i các tr âm
Double 8
-1.79769313486231E308 n
-4.94065645841247E-324 cho tr âm
4.94065645841247E-324 n
1.79769313486232E308 cho tr
ng
dbl
Byte 1 0 255
Chui String (1byte/1ký t). Khong 2 t ký t str
Char 1 chr
Logic Boolean 2 True hoc False
Ngày gi Date 8
1/1/100 n 31/12/9999
00:00:00 n 23:59:59
c nh Variant
II.6, Mt s khái nim :
Giá tr :
Các giá tr dng chui (text) nm trong cp du nháy kép . Ví d: Xin chào. Các giá
tr khi t trong du nháy kép có phân bit ch hoa và ch thng.
Các giá tr s thp phân ghi dng s nh bình thng. Ví d: 10 hay 100.9 Các giá
tr s thp lc phân bt u bng &H.
Ví d ghi giá tr thp lc phân ca 255: &Hff
Có hai giá trc bit là giá tr rng (Empty) và giá tr không xác nh (Null). Giá tr rng
ch dùng cho các bin chui hay bin kiu Variant và c th hin bng . Giá tr Null
ch dùng cho các bin kiu Variant.
i các bin kiu i tng, khi cha c xác nh thì giá tr ca i tng là Nothing.
Biu thc :
Biu thc là thành phn ca mt câu lnh có th tính ra giá tr. Biu thc có th cha
các bin, hàm và các toán t (s hc, logic, so sánh)
Các toán t : Visual Basic có các b toán t sau:
• Toán t so sánh: =, <>, >, <, >=,<=
• Toán t s hc: +, -, *, /, \, ^
• Toán t gán = và toán t ni chui &
• Toán t logic: AND, OR, NOT (Toán t mt ngôi)
• Toán t bitwise: AND, OR, XOR, NOT