Tải bản đầy đủ (.pdf) (75 trang)

Giáo Trình VB

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.33 MB, 75 trang )

Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 1 -
I HC CÔNG NGH THÔNG TIN
Trung Tâm VNIT
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 2 -
Chng I : Tng Quan V Visual Basic
Microsoft Visual Basic 6.0 là môi trng phát trin ng dng tích hp (Integrated
Development Environment  IDE) ca Micorosoft dành cho lp trình viên s dng ngôn
ng Visual Basic  xây dng các ng dng.
Visual Basic 6.0 là mt thành phn ca b công c phát trin ng dng Visual Studio 98
Các phiên bn 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 cu v cu hình phn cng: CPU,  cng, 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 liu tham kho Microsoft Develop Network  MSDN
I, Khi ng chng trình VB
Start à Programs à Microsoft Visual Studio 6.0 à Microsoft Visual Basic 6.0
ng dn : C:\Program Files\Microsoft Visual Studio\VB98\VB6.EXE
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 3 -
II, Gii thiu giao din ca s làm vic ca VB
II.1, Thanh công c (Tool Box)
(Menu View / Toolbox)
Toolbox là ca s cha các nút công c vi các u
khin (Control) hay còn gi là các i tng (Object)


a VB.
Có 2 loi nhóm công c :
- Công c h tr sn ngay khi khi ng chng trình
- Công c m rng, c ly thêm theo yêu cu ca
chng trình. Vic ly thêm công c tin hành bng
cách vào menu Project / chn mc Components (phím
t là Ctrl + T).
 ly công c nào thì bn
có th tích chn vào nó ri
n OK
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 4 -
II.2, Ca s Project Explorer
(menu View / Project Explorer) Ctrl + R
a s Project Explorer dùng 
quan sát và qun lý toàn b d án mà
n ang thit k. Trên ca s này s
lit kê tên d án và tt c các form mà
n ã thit k.
Vic sp xp có th theo nhóm th
c hoc theo vn tên form
 tr chc nng giúp bn có th gi
xem thit k hoc mã ngun ca form
c chn trong danh sách
II.3, Thanh thuc tính (Properties)
(mnu View / Properties Window) F4
Properties là thanh cha nhng tính
cht quan trng ca các i tng mà
chng trình Visual Basic ã thit k
n. Còn vic thit lp và s dung

thuc tính nh th nào thì tu thuc
vào ngi lp trình.
i khi thay i vic la chn công c
thì các thuc tính trên thanh Properties
ng s tng thay i theo.
Vic sp xp các thuc tính có th theo
n Alpha hoc theo nhóm chc nng
a thuc tính.
III, To/Lu Project làm vic
III.1, To Project
• Khi ng chng trình Visual Basic
• Chn menu File / New Project ( Ctrl + N)
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 5 -
• Trong hp thoi New Project thì ta s la chn loi Project mun to. Thông
thng là la chn Standard EXE, còn nu mun lp trình các d án vi c s
 liu thì chn Data Project.
• Khi ó chng trình VB s có dng nh sau :
III.2, Lu Project
t trong nhng vn  quan trng khi vit chng trình là lu li nhng gì mình ã
làm. Mc dù cha có thao tác gì thay i trong Form trng, ra cng nên lu Form lên
a. Khi ra lu Project, có 2 loi tp tin c lu :
1. Tp tin cha các thông tin VB cn trong vic xây dng Project. Tp tin này có
phn m rng là VBP
2. Tp tin cha thông tin v Form. Tp tin này có phn m rng là FRM
Các bc thc hin :
• Vào menu File / Save Project
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 6 -
• VB s hin lên hp thoi cho phép ta la chn ng dn  lu bài. Ta

chn ng dn n th mc riêng ca mình trong a, sau ó n Save
u ý : Ta nên i tên form trc khi thc hin vic lu. Tên t cho form tu theo chc
ng x lý ca chng trình, và thng bt u bng frm
IV, Các bc c bn xây dng 1 chng trình (Hello)
IV.1, To giao din : gm 1 form , 1 textbox và 1 command button
Texbox Command button
 v 1 control (u khin) ta Nhn chn u khin trên toolbox  trong bài này chn
textbox. Chuyn con tr lên form ti v trí mun t control, Nhn và Kéo chut ti kích
 cn có ca control. Kt thúc bng cách Nh chut
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 7 -
Thay i kích c, di chuyn, khoá 1 control :
•  thay i kích c: nhn chn control, t chut ti góc (phi, di) và kéo chut
i kích c mong mun.
•  thay i v trí: kéo control ti v trí bng chut, ri th chut.
•  khoá cnh v trí: s dng chc nng Format | Lock Controls
IV.2, t giá tr thuc tính cho u khin :
• Nhn chn control
• Hin th ca s thuc tính: View | Properties
• Chn thuc tính cn t t : Properites List
• Nhp giá tr mi vào ct bên phi
Ghi chú:
• Object box: Danh sách form và các control trên form
• Sort tabs: Kiu sp xp danh sách các thuc tính: theo bng ch cái (Alphabetic)
hay theo phân loi (Categorized)
• Properties list: Danh sách các thuc tính gn vi i tng c chn (trên form
hay t object box)
IV.3, Vit mã lnh
 Code Editor bng cách: Nhn úp lên control hoc chn View Code t ca s
Project Explorer.

Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 8 -
o th tc áp ng s kin :
+ Chn control t hp danh sách bên trái (cha form và các control)
+ Chn tên s kin t hp bên phi (cha danh sách s kin gn vi i tng va
c chn)
Private Sub Command1_Click ()
Text1.Text = "Hello, world!"
End Sub
 chuyn i gia hin th tt các th tc trên cùng 1 ca s và hin th mi th tc ti
1 thi m:
+ Chn Tools | Options
+ Thay i các giá tr tng ng trong tab: Editor
IV.4, Chy chng trình :
• Chn Run | Start hay nhn F5 chy chng trình
• Chn Run | End dng chng trình ang chy
• Chn Run | Break hay nhn <Ctrl+Break> kt thúc chng trình bt thng
Chng II : Form và Control
I, Thuc tính, s kin, phng thc :
Form và control (u khin) ca Visual Basic là các i tng vi thuc tính (property),
phng thc (method) và s kin (event).
• Thuc tính : là các c m quy nh i tng, tp hp các thuc tính ca
control có th thit lp khi thit k hay khi chy chng trình.
• Phng thc : là các hành ng mà control có th thc hin c
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 9 -
• S kin : là sáp ng tác ng gn vi mi i tng. Khi 1 s kin xy ra vi
control thì chng trình s tng x lý 1 hàm s kin (Event_Handle). Ví d
khi bn kích vào 1 nút lnh trên form thì s t ng thc hin hành ng
Command_Click

Chúng ta có th coi FORM nh 1 control c bit.Sau ây là mt s s kin thông
ng trên form :
• Form_Initialize() : s kin này xy ra trc nht và ch xy ra 1 ln duy nht.
Trong quá trình thc hin chng trình ta óng m form nhiu ln thì s kin
này ch xy ra  ln m form u tiên
• Form_Load() : s kin này luôn xy ra mi khi ta gi mn form
• Form_Activate() : sau khi form x lý xong s kin Form_Load(), nu không
có gì thay i, chng trình s phát sinh ra s kin này
• Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) : Khi
ngi s dng n nút X  óng form thì s to ra s kin này, tham s
UnloadMode cho bit ai hay tác v nào óng form. Do ó ta có th bt s
kin này  hi ngi s dng có chc mun óng form hay không, nu
không thì thit lp tham s Cancel=1.
II, Các u khin c s :
Các u khin trong môi trng Visual Basic c chia thành 2 loi, u khin c s
và u khin m rng.
• u khin c s gm nhng u khin có thc s dng ngay trong bt k
màn hình thit k nào, ó là nhng u khin mc nh do môi trng cung cp.
• u khin m rng còn gi là nhng Component c lp, ta có th thêm
hoc bt nhng Component khi thit k giao din. Nh các u khin m rng
mà các giao din ca ng dng tr nên a dng và và tin dng hn vi ngi
dùng.
Trong phm vi ca bài này, chúng ta s tìm hiu ý ngha và cách s dng ca các u
khin c s.
II.1, Các thuc tính chung ca u khin :
• Name : Tên ca công c
• Caption, Text : Chú Thích, Chú Gii, Ni Dung
• BackColor ( Màu Nn )
• ForeColor ( Màu Ch )
• Font : Chn Phông Ch

• Top ( Trên ), Left ( Trái )
• Height ( Chiu Cao ), Width ( Chiu Ngang )
• Enabled : True : hin công c cho s dng
False : làm m chc nng không cho s dng
• Visible : True : Hin th công c
False : n công c không cho nhìn thy
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 10 -
II.2, Công cu khin TEXTBOX
t trong nhng thành phn quen thuc i vi nhng ngi làm vic trên môi trng
Windows ó là TextBox, mt u khin có dng hình hp và có th nhp vn bn vào
nó. Vn bn trong TextBox có th nhp  nhiu dòng khác nhau, có h thng thanh
cun  di chuyn qua các dòng, màu ca vn bn,  và có nhiu tính cht khác ta s
xem xét trong phn này. Các thuc tính và hành ng ca TextBox tp trung vào vic
 lý d liu vn bn c nhp vào trong TextBox.
Sau ây là mt s các thuc tính và hành ng thông thng ca TextBox
Name
Trong môi trng lp trình, nh danh  phân bit các bin, hàm, là thành phn
không th thiu và giá tr ca không c trùng trong cùng mt phm vi s dng. Khi
làm vic vi các u khin ca Visual Basic thì nh danh là thành phn có nh hng
nhiu n cách thc vit chng trình, nó có th to ra mng các u khin.
nh danh ca u khin sc lu gi trong thuc tính Name ca tng u khin,
không ch riêng gì u khin TextBox mà nó có ý ngha cho tt c các u khin trong
Visual Basic. Khi to giá tr cho thuc tính Name phi tuân th các qui tc t tên tng
 nh tên bin.
Text
Thuc tính lu tr ni dung ca u khin. Có 2 cách a ni dung vào cho thuc
tính Text ca TextBox : trên màn hình giao tip, nhp trc tip vào vùng nhp liu ca
i tng TextBox hoc là s dng phép gán trong ca s lnh
VD : Text1.Text = "Bn gán giá tr cho thuc tính Text ca u khin TextBox"

MultiLine
i giá tr mc nh ca các thuc tính trong u khin khi c to, ta s có mt
TextBox ch có th nhp vn bn trên 1 dòng, vi s ký t ti a là 65.535 ký t. Khi
thit k TextBox, chiu dài hin th ca TextBox s có th nh hn s ký t mà nó có
th lu tr, do ó khi vn bn hin th quá dài thì s gây khó khn cho ngi s dng
khi làm vic vi vn bn.
Ta có th thit lp thuc tính MultiLine ca TextBox là True  TextBox có th hin th
n bn  nhiu dòng và chui vn bn s tng xung dòng khi dài hn chiu dài
a TextBox.
Alignment
i dung vn bn ca TextBox sc canh theo l bên trái,  ch mc nh. Nu
n mun vn bn ca mình hin th  gia ch không phi là trái thì thuc tính
Alignment ca TextBox s giúp ta thc hin c u này.
Thuc tính Alignment có th nhn mt trong ba giá tr sau:
• 0  Left Justify : dùng  canh trái
• 1  Right Justify : dùng  canh phi
• 2  Center : dùng  canh gia.
Thuc tính canh l ca TextBox nh hng n toàn b khi vn bn có trong TextBox
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 11 -
MaxLength
Nhã trình bày  trên, s ký ti a có th nhp vào TextBox là 65.535 ký t, tuy nhiên
u ta mun gii hn s ký t ti a mà ngi dùng có th nhp vào TextBox thì khi ó
ta dùng thuc tính MaxLength ca TextBox. Mc nh giá tr ca MaxLength bng 0 có
ngha là TextBox có th nhn ti a s ký t do chng trình qui nh
PasswordChar
u bn mun to mt ô  cho ngi dùng nhp mt mã vào (các ký t nhp vào s
 ng c hin th thành mt ký t khác) thì ta phi s dng n thuc tính
PasswordChar. Thuc tính này s nhn là mt ký t bt k và ch duy nht mt ký t,
khi ngi dùng nhp ni dung vào TextBox, d liu hin th trên TextBox là nhng ký t

a thuc tính PasswordChar, nhng ni dung c nhp trong thuc tính Text thì
không thay i.
Locked và Enabled
u bn nh vit mt chng trình tính tng 2 s, trên hp thoi bn s dng 2
TextBox dùng  nhp 2 s cn tính tng và mt TextBox  cha kt qu ca phép
tính. Khi này, TextBox kt qu ch nên  cho ngi dùng xem kt qu và không cho h
thay i kt qu tính c. Locked và Enabled là 2 gii pháp bn có th chn  to ra
nhng TextBox ch xem, không cho chnh sa.
Khi giá tr ca Locked ca TextBox c thit lp là True thì TextBox s b khoá, ngi
dùng có tha con tr vào vùng nhp liu ca u khin, nhng s không thc hin
c thao tác nhp trc tip lên TextBox. TextBox không nhn Focus khi thuc tính
Enabled ca nó là False. Ngi s dng s không th nhp d liu vào TextBox, ni
dung ca vn bn trong TextBox s b m. ây là m khác bit gia thuc tính
Locked và Enabled. Ngi s dng s không nhn bit c mt TextBox có Locked
hay không cho n khi h thc hin thao tác nhp liu cho TextBox, nhng h có th
 dàng bit c TextBox nào không th nhp liu khi nó b làm m bng thuc tính
Enabled.
Khi ta s dng mt trong hai thuc tính trên  vô hiu hoá các TextBox thì ni dung
a chúng s không th thay i trc tip nhng vn có th thay i bng lnh ca
chng trình.
Ví d :Text1.Text = "u khin b khoá"
SetFocus
Focus là v trí ca con tr xut hin trên u khin. Khi con tr nm u khin nào
thì u khin ó c gi là ang nhn Focus. Trong khi chng trình ang chy, ta có
th t con tr vào bt k u khin nào có trên hp thoi làm vic, tt nhiên u
khin ó phi có kh nng nhn Focus. Vic t Focus vào mt u khin có th thc
hin bng chut, bàn phím, và có th s dng lnh.
Hành ng SetFocus dùng  ly Focus v cho u khin khi cn, hành ng này gn
nh có  tt c các u khin trong môi trng ca Visual Basic. Ví d sau ây s
chuyn Focus n cho u khin có tên Text1

Ví d :Text1.SetFocus
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 12 -
Sau ây là mt vài s kin thng gp khi làm vic vi TextBox
Change
 kin này s phát sinh khi trong vùng nhp liu ca u khin có bt k s thay i
nào
Validate
Sau khi nhp ni dung cho TextBox, bn có th kim tra giá tr nhp có hp l hay
không. Nu giá tr không hp l ta có th yêu cu nhp li giá tr phù hp.
 kin Validate s phát sinh trc khi ta chuyn Focus sang u khin khác, ta có th
gán giá tr True cho tham s Cancel ca th tc x lý s kin  ngn không cho Focus
di chuyn sang u khin khác
Sau ây là mt vài x lý c bn trên TextBox
Chn và thay th ni dung trong TextBox
Ta có th thc hin thao tác chn ni dung có trong TextBox bng chut, bàn phím
ging vi bt k môi trng son tho vn bn khác. Bên cnh ó, ta còn có th thc
hin thao tác chn ni dung bng lnh thông qua ca thuc tính ca u khin:
SelLength, SelStart, SelText
• SelLength: tr v hay thit lp chiu dài ca s ký tc chn trên TextBox
• SelStart: tr v hay thit lp v trí bt u ca ni dung c chn, nu không có
ký t nào c chn thì SelStart chính là v trí mà ni dung có trong thuc tính
SelText sc chèn vào
• SelText: tr v chui ang c chn hay gán chui ni dung vào thuc tính
Text ti v trí SelStart
Ví d : Trên ô Text có ni dung nh sau, khi ta bôi en 1 n ch thì cho kt qu :
u khin vic nhp liu vào TextBox
Trong quá trình nhp liu trên TextBox, ngi s dng có th vô tình nhp sai kiu d
liu, chng hn nh nhp ch cái vào vùng ca sn thoi. Khi ó, chng trình phi
phát sinh ra li v kiu d liu mà ngi dùng không bit.  hn ch vic có th nhp

sai d liu ta có th hn ch bng cách dùng các s kin v bàn phím  kim tra d
liu khi h nhp.
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 13 -
 kin KeyPress, KeyUp, KeyDown thng c dùng  gii hn vic nhp liu cho
ngi dùng. Trong ó, KeyPress s dng  kim tra nhng ký t bình thng, không
có các phím t hp.
Ví d sau ây s gii hn ch cho phép ngi dùng nhp s, s dng s kin
KeyPress ca u khin 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 tip gia ng dng và ngi dùng, ngoài vic to nhng vùng nhp liu
còn mt thao tác quan trng không th thiu ó là ghi nhn li nhng chn la ca h.
Cách ghi nhn các chn la ca ngi dùng mt cách trc quan nht thông qua h
thng các nút bm.
Có 3 loi nút trong môi trng ca Visual Basic, ó là Command Button, CheckBox,
Option Button.
- Command Button: là nhng nút bm có dng hình ch
nht.
- CheckBox: trng thái thông thng ca u khin là
t ô vuông. Click vào checkbox  chn nó, click nó mt
n na  b chn.
- Option Button: có trng thái là chn và không chn ging
nh checkbox, nhng nó  dng hình tròn. Option Button
thng phi s dng trong mt nhóm và ây cng là

m khác bit gia CheckBox và Option Button:
CheckBox có th làm vic mt mình nhng Option Button
thì phi làm vic theo nhóm. Khi ta click chn mt option
button thì tt c nhng option button khác có trong nhóm
 tng b chn
Các thuc tính, hành ng và s kin ca u khin
Các thuc tính ca u khin có thc thit lp giá tr bng ca s thuc tính ca
u khin khi thit k, hay giá trc gán khi chng trình ang chy (run time). Bên
nh ó, có nhng thuc tính ch nhn giá tr lúc chng trình ang thc thi.
Caption
Các u khin khi c to u mang mt ý ngha nht nh, Caption chính là thuc
tính  ngi s dng có th bit c ý ngha s dng ca nút u khin. Thuc tính
này có th thay i lúc thit k hay lúc chng trình ang chy.
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 14 -
Trong môi trng Windows, ta có th di chuyn n mt u khin nhanh bng phím
t nu có. Phím tt là s kt hp ca phím Alt và mt ký t bt k. Ta có th to phím
t  di chuyn n các nút u khin bng cách thêm du & trc ký t cn to phím
t hp  thuc tính Caption.
Ví d : To phím tt Atl + T  di chuyn n nút u khin có Caption Thc hin
Caption: &Thc hin à T
c hin
TabIndex
Ta có th di chuyn qua li gia các u khin theo mt th t tun t thông qua thuc
tính TabIndex. Nhng trc tiên ta phi thit lp thuc tính TabStop ca u khin là
True, cho phép u khin nhn Focus khi ngi dùng tab n nó.
TabIndex có giá tr nh nht là 0, ch ra v trí hin hành ca u khin so vi th t Tab
Enabled
Khác vi TextBox, các u khin nút ch có thuc tính m, không có thuc tính Locked.
Khi giá tr ca thuc tính Enabled là False thì nút u khin s b m và ngi s dng

không th tng tác vi nó.
Visible
t k thut khi thit k thành phn giao tip là cho n nhng u khin cha cn s
ng nhm to cho hp thoi giao tip có v thoáng và tit kim c không gian lu
tr. Khi cn s dng thì s cho xut hin u khin cn thit.
Giá tr ca Visible bng False s làm cho các u khin không hin th khi chng trình
ang chy. Ta có th thay i giá tr ca thuc tính khi thit k cng nh khi thc thi.
Click
ây là s kin x lý chính ca các nút u khin. S kin s phát sinh khi ngi dùng
thc hin thao tác click chut lên u khin
t vài x lý c bn trên các nút u khin
Xác nh trng thái ca u khin CheckBox
Khi trên màn hình giao tip có nhiu CheckBox khác nhau thì lúc x lý ta phi xác nh
c u khin nào c chn. Thuc tính Value ca u khin s giúp ta xác nh
c trng thái chính xác ca tng CheckBox, Value có th cha 1 trong 3 giá tr sau: 0
là không có chn, 1 thì có chn và 2 là m
Ví d :
If Check1.Value = 1 then
Check1.Caption = "Check 1 c chn"
End if
Ta cng có th s dng thuc tính Value  thit lp trng thái cho CheckBox khi
chng trình ang chy. Ví d sau s xác nh trng thái có chn cho u khin
Check1
Ví d :Check1.Value = 1
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 15 -
Xác nh trng thái ca u khin Option Group
Khi làm vic vi Option Group ta phi to nhóm cho các u khin loi tr nhau. 
bit c trng thái ca tng Option Group, ta phi da vào thuc tính Value. Nu giá
tr ca Value là True thì u khin c chn. Tng t nh CheckBox, ta cng có th

 dng thuc tính này  chn hay b chn ca Option Group.
Ví d :
If Option1.Value=True then
MsgBox "Nút u khin ang c chn"
Else
MsgBox "Nút u khin không c chn"
End if
Xác nh trng thái ca u khin Command Button
Ví d : Bài toán tính tng da trên phép tính c la chn t OptionBox
Thit k giao din có dng 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 son : GV Bùi Tin Trng - 16 -

II.4,
List Box và Combo Box
List Box và Combo Box cng là hai u khin c s ca môi trng Visual Basic
nhng chúng có nhiu tính nng h tr ngi s dng trong vic nhp d liu và giao
tip vi chng trình ng dng.
List Box có dng là mt danh sách lit kê các phn tã c a vào trong khi thit
, hay bng lnh. Ngi s dng ch có th chn nhng phn t có trong danh sách
a List Box. List Box có h tr thanh cun nên ta có th hin th d liu  nhiu dòng
mà không làm tn nhiu không gian hin th.
Combo Box là s kt hp ca mt List Box và mt Text Box. Bn có th cho phép
ngi s dng chn mt phn t trên List Box hoc gõ trc tip ni dung h cn vào
vùng Text Box.
Các thuc tính, hành ng và s kin ca u khin
Các thuc tính ca u khin có thc thit lp giá tr bng ca s thuc tính ca
u khin khi thit k, hay giá trc gán khi chng trình ang chy (run time). Bên
nh ó, có nhng thuc tính ch nhn giá tr lúc chng trình ang thc thi.
AddItem
Khi làm vic vi List Box và Combo Box thì vic u tiên cn thc hin là phi to
ngun d liu cho u khin. Ngun d liu có thc to khi thit k, hay to bng
nh lúc thc thi.
Khi thit k, ta có th to ngun d liu cho List Box, Combo Box thông qua thuc tính
List trong ca s thuc tính ca u khin.
Khi thc thi, ta có th dùng hành ng AddItem  to d liu ngun cho các u
khin, có dng nh sau:
VD : List1.AddItem Chui ni dung cn thêm vào danh sách
Combo1.AddItem Chui ni dung cn thêm vào danh sách
List, ListCount, ListIndex
Ngun d liu sau khi thêm vào cho u khin sc cha trong thuc tính List ca
u khin. Thuc tính List c t chc là mt mng các phn t,  truy xut tng
phn trong List ta s dng ch s ca mng.

Ch s ca mng t 0 n ListCount-1. ListCount cho bit tng s phn t có trong
ng. Khi ta click vào mt phn t trên u khin,  ly giá tr ca phn tó ta
dùng thuc tính ListIndex và List. ListIndex là ch s ca phn tc click.
Ví d : cho bit v trí và ni dung ca phn tc chn trong List
Private Sub List1_Click()
MsgBox "Phn t th " & List1.ListIndex & " có giá tr : " & List1(List1.ListIndex)
End Sub
ItemData
Khi bn cn lu tr mt giá trc bit cùng vi phn tc thêm vào trong danh
sách thì ItemData là cách gii quyt nh nhàng và hiu qu. ItemData là mt mng các
 nguyên, ch s ca các phn t trong ItemData ng vi ch s ca List. Ta có th s
ng thuc tính NewIndex, ch s ca phn t mi thêm vào bng lnh AddItem, 
ng b gia ch s ca List vi ch s ca ItemData
Ví d :Combo1.AddItem "donTRUONGBT"
Combo1.ItemData(Combo1.NewIndex) = 28121982
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 17 -
RemoveItem, Clear
Trong khi thc thi, nu mun xoá mt phn t ca List Box ta s dng hành ng
RemoveItem. Nu mun xoá ht tt c các phn t có trong danh sách, dùng hành
ng Clear
Ví d :
List1.RemoveItem 1 à xoá phn t v trí th 2 trong listbox
Combo1.Clear à xoá toàn b ni dung trong listbox
Multiselect, Selected ca List Box
u khin List Box cho phép ta chn nhiu phn t cùng mt lúc.  có th chn nhiu
phn t cùng mt lúc, ta phi thit lp li giá tr cho thuc tính Multiselect
0 ch cho phép chn mt phn t
1 dùng chut hay thanh Space bar  chn nhiu phn t
2 nhn gi phím Shift và click chut  chn nhiu phn t có trong List

Khi chng trình ang thc thi,  bit c nhng phn t nào c chn ta phi
duyt qua danh sách các phn t có trong List Box, sau ó dùng thuc tính Selected 
kim tra. Thuc tính Selected cng c t chc  dng mng. Mt phn tc chn
u giá tr ca Selected bng True
Ví d :
For i = 0 To List1.ListCount - 1
If List1.Selected( i) = True Then
MsgBox "Phn t th " & i & " c chn"
End If
Next
Text ca Combo Box
Combo Box c to thành bi Text Box và List Box,  truy xut giá tr ca List Box ta
dùng thuc tính List nhã trình bày  trên. Text Box s cha giá tr hin hành ca
phn tc chn, ta có th truy xut giá tr này thông qua thuc tính Text ca u
khin.
Ví d : thc hin các chc nng c bn trên ListBox
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 18 -
II.5,
Picture Box và Image
Image là mt u khin ch dùng  hin th hình nh lên màn hình giao tip ca ng
ng. Trong khi Picture Box có th hin th hình nh và thc hin các thao tác x lý trên
i tng nh nh là lu nh vào a, thc hin các thao tác v thông qua các hàm 
a ca h thng, 
Ta có th s dng u khin Picture Box nh là Image nhng phi quan tâm mt u
là u khin Image chim ít vùng nh và có thao tác t v li nhanh hn nhiu so vi
Picture Box. Picture Box chim nhiu vùng nh và tn nhiu thi gian x lý nhiu hn
Image.
m c bit ca u khin Picture Box là có th làm vt
cha có các u khin khác và là u khin có thc

o trc tip trên màn hình MDI.
Trong ca s thit k, Picture Box và Image c th hin
i dng biu tng  ho trên thanh Toolbox nh hình
bên, Picture Box là biu tng nm bên trong hình vuông 
trên, Image là biu tng nm bên trong hình vuông 
i.
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 19 -
Các thuc tính, hành ng và s kin ca u khin
Các thuc tính ca u khin có thc thit lp giá tr bng ca s thuc tính ca
u khin khi thit k, hay giá trc gán khi chng trình ang chy (runtime). Bên
nh ó, có nhng thuc tính ch nhn giá tr lúc chng trình ang thc thi.
Picture
Khi bn cn a hình nh lên màn hình giao tip bn có th to Image hoc Picture
Box cha nh cn hin th. Ni dung ca nh sc cha trong thuc tính Picture ca
u khin. Giá tr ca thuc tính là ng dn n tp tin nh cn hin th. Giá tr này
có thc thit lp khi thit k hay trong lúc thc thi.
Khi thc thi, ta không th gán trc tip ng dn n tp tin nh cho thuc tính Picture
mà phi thông qua mt hàm x lý  chuyn nh t tp tin vào thuc tính Picture. Hàm
 lý cn s dng là LoadPicture, hàm này s nhn tham s vào là ng dn n tp
tin nh
Ví d :
Picture1.Picture = LoadPicture( "C:\ Sicily.bmp" )
Image1.Picture = LoadPicture( "C:\ Omertà.bmp")
Stretch ca Image và AutoSize ca Picture Box
Thuc tính Stretch ca Image khi thit lp là True s làm thay i kích thc ca ca
nh theo kích thc ca u khin nhng không làm thay i cu trúc ca nh ngun.
i tng Picture Box không thay i kích thc ca nh ngun, nhng nó có th t
ng thay i kích thc bng vi kích thc ca nh thông qua thuc tính AutoSize
i giá trc gán là True.

II.6, Timer
Ý ngha
Trong các nhng ng dng luôn có mt s kin tng phát sinh và tn ti  bên di
ch có ngi lp trình mi có th can thip x lý s kin này, ó chính là s kin phát
sinh theo thi gian. Môi trng phát trin ca Visual Basic cung cp kh nng x lý s
kin thi gian thông qua Timer. u khin Timer giúp ta thc thi mt n lnh ca
chng trình theo chu k thi gian c chnh.
 dng
 làm vic vi Timer, trc tiên ta phi thêm u khin vào trong
chng trình, trên Toolbox u khin có dng nh hình bên, và thit
p thuc tính Interval ca u khin. Giá tr ca Interval s xác nh
chu k thi gian phát s kin ca u khin c phát sinh. n v
tính ca thuc tính này là Mili giây (1 phn ngàn ca giây). Ví d
mun u khin Timer sau 1 giây phát sinh ra 1 s kin thì giá tr ca
Interval s bng 1000.
Sau khi u khin c thêm vào chng trình, ta có th kích hot
hoc là vô hiu hoá u khin thông qua thuc tính Enabled. Khi giá
tr ca Enabled là True thì nó s phát sinh ra s kin Timer sau mt
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 20 -
chu k thi gian c xác nh bi thuc tính Interval. Ta s vit các lnh cn thc
hin trong th tc ca s kin phát sinh, chng hn nh là Timer1_Timer().
Ví d, nu ta mun sau mi 5 giây chng trình hin mt hp thoi có ni dung Xin
chao cac ban thì ta s thêm mt u khin Timer có tên là Timer1 vào chng trình
i các thuc tính sau: Interval = 5000, Enabled = True. Các thuc tính này u có th
c thit lp giá tr trong lúc thc thi. Khi ó, ta s vit lnh x lý trong s kin ca
u khin Timer nh sau:
Private Sub Timer1_Timer()
MsgBox "Xin chao cac ban"
End Sub

Ví da ra ngày gi ca h thng :
Thit k giao din có dng t qu khi thc hin chng trình
Thit lp thông tin cho Timer và n mã lnh thc hin
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 khin Frame thng c dùng  nhóm các u khin trên màn
hình thành mt nhóm có ý ngha s dng nh nhau. Frame xut hin
trên màn hình nh là mt hình hp, có cha u khin Lable  góc
trên bên trái ca i tng.
Ta có th làm cho các u khin có trong Frame tr thành mt chc
ng duy nht, chng hn nh nhóm các Option Button thành mt
nhóm. Khi ó, nu ta chn mt u khin Otion Button bt k trong
nhóm thì  u khin khác trong nhóm s tng b chn.
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 21 -
 to nhóm cho các u khin ta phi to ra u khin Frame trc tiên, sau ó v
u khin ca nhóm cn to trong phm vi Frame cha nhóm. Nu mt u khin
c v bên ngoài Frame hay ã c to trc ó thì s không thuc v nhóm ca
các u khin khác có trong Frame ang to. Ta có th ghi chú ý ngha ca nhóm
thông qua thuc tính Caption ca Frame.
Label
n có th s dng u khin Label  hin th nhng vn bn mà
không có phép ngi s dng thay i giá tr trc tip khi chng trình
ang chy. Nhng ta vn có th thay i ni dung ca Lable lúc thc thi
thông qua thuc tính Caption ca nó. Ngoài ra Label còn dùng  hin

th tiêu  cho nhng u khin không có thuc tính biu din tiêu 
riêng, nh TextBox, Image
Nhìn chung thì u khin Label có th hin th ni dung vn bn tng
 nh mt TextBox nhng m khác bit c bn là Label không cho
phép nhp ni dung trc tip lên nó. Ngoài ra Label có th thc hin
các thao tác nh dng ging vi TextBox v canh l, font ch
Tuy Label không th nhn Focus nhng nó vn có kh nng nhn s kin Click,
DlbClick và x lý c vic di chuyn n u khin bng t hp phím tt (Alt + phím)
n u khin c phép nhn Focus có TabIndex ln hn và mang giá tr gn nó
nht
Shape
Shape là mt u khin gm các i tng  ho. Ta có th to các
hình nh hình tròn, ch nht, vuông, oval và thc hin các thao tác tô
màu nn, màu vin, kiu tô cho hình thông qua u khin này
Vic to ra u khin Shape c thc hin ch yu trong giai n
thit k, tuy nhiên ta có th thay i hình dng, màu sc ca u
khin khi thc thi
u khin Shape có thc hin th mt s hình khác nhau thông
qua thuc tính Shape ca u khin. Thuc tính Shape có th nhn
t trong nhng giá tr t 0 n 5 tng ng vi hình ch nht, hình
vung, hình oval, hình tròn, hình ch nht có góc tròn, hình vuông có góc tròn
Ta có th thit lp màu tô, màu nn, kiu tô cho u khin thông qua các thuc tính
FillColor, BackColor, FilStyle,
Line
Ging vi u khin Shape, Line cng là mt u khin thuc v hình hc. Ta có th
 dng u khin này  v nhng ng ngang, ng dc ti bt k v trí nào trên
màn hình giao tip.
Ta có th thit lp các kiu ng khác nhau cho u khin Line thông qua thuc tính
BorderStyle vi tp giá tr t 0 n 6 tng ng vi các kiu ng khác nhau.
Giáo Trình Visual Basic Trung Tâm VNIT

Biên son : GV Bùi Tin Trng - 22 -
Chng III : Ngôn Ng Lp Trình Visual Basic
I, S dng Code Editor :
Code Editor ca Visual Basic là mt ca s ni bn vit phn ln mã chng trình. Nó
ging mt trình son tho c chuyên hoá cao vi nhiu tính nng to thun li cho
vic vit mã Visual Basic.
t ca s riêng c m cho mi module bn chn t Project Explorer. Mã nm trong
i module c chia thành các phn riêng cho tng i tng trong module.
i module form gm:
Phn general: cha phn khai báo và các th tc dùng chung.
Phn declarations: cha th tc s kin cho tng i tng.
 truy nhp ti phn mã lnh cn vit, nên s dng hp combo box trái ri hp combo
box phi.
Visual Basic có chc nng Auto Code Completion giúp vit mã lnh trong Code Editor
c d dàng. (gi bng Ctrl + SpaceBar)
Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 23 -
 chn phn t nào ó, chuyn thanh sáng ti ó, ri nhn TAB.
Ngoài ra, chc nng Bookmarks giúp ánh du 1 v trí mã lnh  có th quay li c
nhanh chóng (Edit | Bookmarks).
II, Qui c vit lnh trong Visual Basic
II.1, Chia 1 lnh thành nhiu dòng : Bng cách s dng ký t: [ _ ]
adoJT.RecordSource = _
"SELECT * FROM Bang1, Bang2" _
& "WHERE Bang1.ID = Bang2.ID" _
& "AND Bang1.NickName = 'Truongbt' "
Trong mt s trng hp cách chia 1 câu lnh này không thc hin c : ni các
dòng chú gii,
II.2, Ni nhiu lnh vào 1 dòng : Bng cách s dng kí t: [ : ]
txtMsg.Text = "Hello" : Red = 255 : txtMsg.BackColor = Red

Giáo Trình Visual Basic Trung Tâm VNIT
Biên son : GV Bùi Tin Trng - 24 -
II.3, Thêm chú gii vào mã lnh : Bng cách s dng kí t: [  ]
' ây là dòng chú thích cho lnh a chui Hi! vào ô textbox.
txtMsg.Text = "Hi!" ' chú thích trên cùng dòng lnh
II.4, H thng 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 tc t tên : Tên th tc, hàm, bin, hng phi tuân theo qui tc:
• Bt u bng kí t ch
• Không cha ký t phân cách (nh [ . ] hay kí t rng), ký t khai báo kiu.
• Không dài hn 255 kí t. Tên ca control, forms, class, và module không vt
quá 40 kí t.
• Không trùng vi các t khoá ca ngôn ng.
ng quy cách t tên cho các u khin (theo thông thng)
u khin Tên Quy cách u khin 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 son : GV Bùi Tin Trng - 25 -
ng quy cách t tên cho các kiu d liu (theo thông thng)
Kiu d liu Tên Byte
Phm 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
 thc 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
Chui String (1byte/1ký t). Khong 2 t ký t str
Char 1 chr
Logic Boolean 2 True hoc 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, Mt s khái nim :
Giá tr :
Các giá tr dng chui (text) nm trong cp du nháy kép . Ví d: Xin chào. Các giá
tr khi t trong du nháy kép có phân bit ch hoa và ch thng.
Các giá tr s thp phân ghi  dng s nh bình thng. Ví d: 10 hay 100.9  Các giá
tr s thp lc phân bt u bng &H.
Ví d ghi giá tr thp lc phân ca 255: &Hff
Có hai giá trc bit là giá tr rng (Empty) và giá tr không xác nh (Null). Giá tr rng
ch dùng cho các bin chui hay bin kiu Variant và c th hin bng . Giá tr Null
ch dùng cho các bin kiu Variant.
i các bin kiu i tng, khi cha c xác nh thì giá tr ca i tng là Nothing.
Biu thc :
Biu thc là thành phn ca mt câu lnh có th tính ra giá tr. Biu thc có th cha
các bin, hàm và các toán t (s hc, 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 hc: +, -, *, /, \, ^
• Toán t gán = và toán t ni chui &
• Toán t logic: AND, OR, NOT (Toán t mt ngôi)
• Toán t bitwise: AND, OR, XOR, NOT

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×