You are on page 1of 65

MC LC

MC LC............................................................................................................................. 1
Chng 1 Gii thiu ngn ng Visual Basic. ...................................................................... 3
1. Gii thiu ........................................................................................................... 3
2. Cu hnh my ..................................................................................................... 3
3. Ci t Visual Basic............................................................................................ 4
4. Khi ng........................................................................................................... 4
5. Ca s lm vic khi chn Standard.exe............................................................... 5
5.1. Thanh tiu .............................................................................................. 5
5.2. Thanh Menu................................................................................................ 5
5.3. Thanh cng c ............................................................................................ 5
5.4. Hp cng c (ToolBox) .............................................................................. 6
5.5. Ca s Properties Window. ......................................................................... 6
5.6. Form Layout Window. ................................................................................ 7
5.7. Project Explorer Window. ........................................................................... 7
6. Cc lnh trong menu File. ................................................................................... 7
7. Bin dch chng trnh thnh file *.exe............................................................... 8
Chng 2 Biu mu v mt s iu khin thng dng....................................................... 10
1. Cc khi nim c bn........................................................................................ 10
2. Biu mu (Form) .............................................................................................. 11
2.1. Khi nim................................................................................................. 11
2.2. Thuc tnh................................................................................................. 11
2.3. Phng thc.............................................................................................. 11
2.4. S kin...................................................................................................... 12
3. Cc bc xy dng mt chng trnh ............................................................... 12
4. Mt s iu khin thng dng........................................................................... 13
4.1. Nhn (Label)............................................................................................. 13
4.2. Hp vn bn (Textbox) ............................................................................. 13
4.3. Nt lnh (command button)....................................................................... 13
5. To v chy chng trnh ................................................................................. 14
Chng 3 Cc php ton v kiu d liu c bn................................................................ 17
1. Cc php ton v cc k hiu............................................................................ 17
1.1. Php gn ................................................................................................... 17
1.2. Cc php ton s hc ................................................................................ 17
1.3. Cc php ton lun l................................................................................ 18
1.4. Cc php ton so snh............................................................................... 18
1.5. Php &...................................................................................................... 18
1.6. Php like................................................................................................... 19
1.7. Cc k hiu............................................................................................... 19
2. Cc kiu d liu c bn..................................................................................... 19
3. Bin.................................................................................................................. 21
3.1. Khi nim................................................................................................. 21
3.2. Phn loi bin ........................................................................................... 22
3.3. Khai bo bin............................................................................................ 23
4. Hng................................................................................................................. 24
4.1. Khi nim................................................................................................. 24
4.2. Khai bo hng........................................................................................... 24
5. Mng................................................................................................................ 25
6. C php lp trnh .............................................................................................. 25
Chng 4 Cc lnh v hm c bn.................................................................................... 26
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 2
1. Lnh r nhnh ...................................................................................................26
1.1. Lnh If ......................................................................................................26
1.2. Lnh Select Case .......................................................................................27
2. Lnh lp............................................................................................................28
2.1. Lnh For....................................................................................................28
2.2. Lnh Do ....................................................................................................30
2.3. Lnh While................................................................................................32
3. Cc lnh v hm c bn.....................................................................................32
3.1. Lnh End...................................................................................................32
3.2. Lnh Exit...................................................................................................32
3.3. Lnh Msgbox ............................................................................................32
3.4. Go Sub Return......................................................................................33
3.5. Goto ..........................................................................................................34
3.6. On Error Goto nhn...................................................................................34
3.7. Cc hm chuyn kiu.................................................................................35
3.8. Cc hm ton hc ......................................................................................36
3.9. Cc hm kim tra kiu d liu ...................................................................36
3.10. Cc hm thi gian......................................................................................37
3.11. Cc hm x l chui..................................................................................39
3.12. Cc hm khc ............................................................................................41
Chng 5 Th tc v hm..................................................................................................43
1. Th tc..............................................................................................................43
1.1. Khi nim..................................................................................................43
1.2. Phn loi ...................................................................................................43
1.3. Cu trc mt th tc ..................................................................................43
1.4. Xy dng mt th tc ................................................................................44
1.5. Gi thc hin th tc .................................................................................46
2. Hm..................................................................................................................47
2.1. nh ngha.................................................................................................47
2.2. Cu trc mt hm......................................................................................47
2.3. Xy dng mt hm....................................................................................48
2.4. Gi hm.....................................................................................................48
3. S kin..............................................................................................................50
3.1. Gii thiu ..................................................................................................50
3.2. Cc s kin ca i tng..........................................................................50
4. Truyn tham s .................................................................................................53
4.1. Truyn tham tr..........................................................................................53
4.2. Truyn tham bin.......................................................................................54
4.3. Tham s tu chn ......................................................................................56
Chng 6 Thit K BIU MU DNG CC IU KHIN...............................................57
1. Phn loi iu khin..........................................................................................57
2. S dng cc iu khin......................................................................................57
2.1. Listbox......................................................................................................57
2.2. Combobox.................................................................................................60
2.3. Checkbox ..................................................................................................61
2.4. Option Button............................................................................................61
2.5. Timer ........................................................................................................62
2.6. Hscroll.......................................................................................................63
2.7. Vscroll.......................................................................................................63
2.8. Picture Box................................................................................................63
2.9. Image ........................................................................................................64
2.10. Shape ........................................................................................................65
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 3
Chng 1
Gii thiu ngn ng Visual Basic.
1. Gii thiu
VB c gii thiu ln u tin vo nm 1991, tin thn l ngn ng lp trnh Basic trn
HH DOS. Tuy nhin, lc by gi VB cha c nhiu ngi ngi tip nhn. Mi cho n
nm 1992, khi phin bn 3.0 ra i vi rt nhiu ci tin so vi cc phin bn trc , VB
mi tht s tr thnh mt trong nhng cng c chnh pht trin cc ng dng trn
Windows.
Cc phin bn sau ca VB, nh phin bn 4.0 ra i nm 1995, phin bn 5.0 ra i
nm 1996 v gn y nht l phin bn 6.0 ra i nm 1998 vi cc tnh nng ngy cng c
nng cao khin mi ngi cng nhn VB hin l mt trong nhng cng c chnh pht
trin cc ng dng trn Windows.
Visual Basic 6.0 cho php ngi dng tip cn nhanh cch thc lp trnh trn mi trng
Windows.
* u im:
Tit kim c thi gian v cng sc so vi mt s ngn ng lp trnh c cu trc
khc v bn c th thit lp cc hot ng trn tng i tng c VB cung cp.
Khi thit k chng trnh c th thy ngay kt qu qua tng thao tc v giao din khi
thi hnh chng trnh.
Cho php chnh sa d dng, n gin.
Lm vic vi cc iu khin mi (ngy thng vi iu khin MonthView v
DataTimePicker, cc thanh cng c c th di chuyn c CoolBar, s dng ha vi
ImageCombo, thanh cun FlatScrollBar,).
Lm vic vi c s d liu.
Cc b sung v lp trnh hng i tng.
Kh nng kt hp vi cc th vin lin kt ng DLL.
* Nhc im:
Yu cu cu hnh my kh cao.
Ch chy c trn mi trng Win95 tr ln.
2. Cu hnh my
Cu hnh my ti thiu:
Microsoft Windows 95 tr ln hoc l Microsoft Windows NT Workstation 4.0 tr
ln.
Tc CPU 66 MHz tr ln.
Mn hnh VGA hoc mn hnh c phn gii cao c h tr bi Microsoft
Windows.
16 MB RAM cho Microsoft Windows 95 hoc 32MB RAM cho Microsoft Windows
NT Workstation.
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 4
3. Ci t Visual Basic
S dng chng trnh Setup ci t VB6.
Chng trnh Setup ny cn ci t cc tp tin cn thit xem ti liu trn a CD
MSDN (Microsoft Developer Network).
Nu cn, ngi dng c th ci t ring phn ti liu v v d mu ca Visual Basic
ln my tnh.
4. Khi ng
T menu Start chn Programs, Microsoft Visual Basic 6.0 chn Microsoft Visual Basic
6.0. Khi mn hnh u tin hin th nh hnh di y:
Hnh 1-1. Mn hnh khi ng
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 5
5. Ca s lm vic khi chn Standard.exe
Hnh 1-2. Ca s lm vic ca VB khi chn Standard.exe
5.1. Thanh tiu
5.2. Thanh Menu
5.3. Thanh cng c
Thanh cng c l tp hp cc nt bm mang biu tng thng t di thanh menu. Cc
nt ny m nhn cc chc nng thng dng ca thanh menu (New, Open, Save ...).
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 6
5.4. Hp cng c (ToolBox)
Hp cng c cha cc biu tng tng ng vi nhng i tng iu khin chun bao
gm nhn, hp vn bn, nt lnh
Ngoi cc iu khin c sn trong VB cn c cc iu khin m rng khc c cha
trong tp tin vi phn m rng l .OCX.
Cc iu khin chun c sn trong VB khng th g b khi ToolBox, cc iu khin m
rng c th c thm vo v c g khi ToolBox.
Hnh 1-3. Hp cng c ToolBox
5.5. Ca s Properties Window.
Mi mt thnh phn, iu khin u c nhiu thuc tnh.
Mi mt thuc tnh li c mt hoc nhiu gi tr.
Ca s Properties cho php ngi dng xem, sa i gi
tr cc thuc tnh ca iu khin nhm gip iu khin hot
ng theo ng mc ch ca ngi s dng.
Hnh 1-4. Ca s Properties
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 7
5.6. Form Layout Window.
y chnh l ca s trnh by biu mu cho php nh v tr ca mt hoc nhiu biu mu
trn mn hnh khi chng trnh ng dng c thi hnh.
nh v mt biu mu trn mn hnh bng cch dng chut di chuyn biu mu trong
ca s Form Layout.
Nu ta khng nh v cc biu mu th v tr ca biu mu trn mn hnh lc thit k cng
l v tr khi ng ca biu mu khi thc thi.
Hnh 1-5. Ca s Form Layout
5.7. Project Explorer Window.
Project Explorer trong VB6 gip qun l v nh hng nhiu n.VB cho php nhm
nhiu n trong cng mt nhm. Ngi dng c th lu tp hp cc n trong VB thnh
mt tp tin nhm n vi phn m rng .vbp.
Project Explorer c cu trc cy phn cp nh cy th mc trong ca s Explorer ca h
iu hnh. Cc n c th c coi l gc ca cy, cc thnh phn ca n nh biu mu,
module ... l cc nt ca cy. Khi mun lm vic vi thnh phn no th ta c th nhn p
ln thnh phn trn ca s Project Explorer vo ca s vit code cho thnh phn .
Hnh 1-6. Ca s Project Explorer
6. Cc lnh trong menu File.
New Project: M mt n mi.
Open Project: M mt n tn ti.
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 8
Add Project: Thm vo n mt n c hoc mt n mi.
Remove Project: G b n ang lm vic.
Save Form1: Lu Form1 di dng tp tin *.Frm.
Save Form1 As: Lu tp tin Form1 vi mt tp tin mi di dng *.Frm.
Save Project: Lu n thnh tp tin *.vbp.
Save Project as: Lu n thnh mt tp tin mi *.vbp.
Print: Thc hin in Form chng trnh.
Print Setup: nh dng trang in cho Form.
Make exe: Dch mt chng trnh ra tp tin thi hnh .exe
Make Project Group: Nhm nhiu n li thnh mt nhm.
Exit: Thot khi Visual Basic
7. Bin dch chng trnh thnh file *.exe
Sau khi n hon thnh, ngi lp trnh c th bin dch thnh tp tin thc thi c.
Cch tin hnh nh sau:
Bc 1: Chn Form m u cho ng dng bng cch: t menu Project chn Project
Properties, mt hp thoi xut hin:
Hnh 1-7. Hp thoi Project Properties
Chn Tab General, chn Form khi ng ng dng trong combo box Startup
Object. V d chn form ftong2so.
Bc 2: T menu File, chn Make ... EXE... Mt hp thoi xut hin cho php nhp
vo tn ca tp tin thc thi (ch cn g tn tp tin, VB s t ng thm phn m rng
.EXE)
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 9
Hnh 1-8. Hp thoi Make Project
Nhn vo nt Options m hp thoi Project Properties v in tn ca ng dng
vo Title, ta c th ghi ch thng tin cho tng phin bn trong phn Version
Information. Ta c th chn Auto Increment VB t ng tng s Revision mi ln ta
to li tp tin EXE cho d n.
Hnh 1-9. Hp thoi Project Properties t tiu v phin bn cho ng dng
Cui cng, nhn OK tr v hp thoi Make Project v nhn OK to file *.exe
cho ng dng.
t tiu cho
ng dng
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 10
Chng 2
Biu mu v mt s iu khin thng dng
1. Cc khi nim c bn.
iu khin: Cc thnh phn c sn ngi lp trnh to giao din tng tc vi ngi
dng.
Mi iu khin thc cht l mt i tng, do vy n s c mt s im c trng cho
i tng, chng hn nh cc thuc tnh, cc phng thc v cc s kin.
Thuc tnh: Cc c trng ca mt iu khin to nn dng v ca iu khin .
Phng thc: Cc iu khin c th thc thi mt s tc v no , cc tc v ny c
nh ngha sn bn trong cc phng thc (cn gi l chng trnh con: hm, th tc),
ngi lp trnh c th gi thc thi cc phng thc ny nu cn.
S kin: l hnh ng ca ngi dng tc ng ln ng dng ang thc thi.
V d: - Nhn phm bt k trn bn phm; Nhp chut.
Cc thnh phn giao din c kh nng p ng li s kin. Chng hn khi nhp chut vo
button, lc button nhn bit c s kin ny; hay nh textbox nhn bit c s kin bn
phm tc ng ln n.
Mt ng dng trn Windows thng c thc hin nh vo vic p ng li cc s kin
ca ngi dng.
Lp trnh s kin:
Cc thnh phn giao din c kh nng nhn bit c cc s kin t pha ngi dng.
Tuy nhin kh nng p ng li cc s kin c thc hin bi ngi lp trnh.
Khi mt thnh phn giao din c s dng, ngi lp trnh phi xc nh chnh xc
hnh ng ca thnh phn giao din p ng li mt s kin c th. Lc ngi lp
trnh phi vit on m lnh m on m lnh ny s c thc thi khi s kin xy ra.
Chng hn, trong ng dng Paint ca Windows; khi ngi s dng nhp chut vo nt
v hnh elip sau dng chut v n trn ca s v, mt hnh elip c v ra.
Trong lp trnh s kin, mt ng dng c xy dng l mt chui cc p ng li s
kin. Tt c cc hnh ng ca ng dng l p ng li cc s kin. Do vy ngi lp trnh
cn phi xc nh cc hnh ng cn thit ca ng dng; phn loi chng; sau vit cc
on m lnh tng ng.
Khi ngi dng khng tc ng vo ng dng, ng dng khng lm g c.
Khi ngi dng nhp d liu vo cc nhp H v tn, a ch; s kin bn phm xy
ra trn cc nhp. Tuy nhin, ng dng vn khng lm g c v khng c m lnh no p
ng cc s kin ny.
Khi ngi dng nhp nt chn Ghi a, ng dng tm kim trong m lnh ca mnh
thy c on m lnh p ng li s kin ny; lc on m lnh c thc thi.
Tng t nh vy i vi nt chn In giy.
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 11
Cch xc lp cc thuc tnh v cc phng thc trong chng trnh
<Thuc tnh Name ca iu khin>.<Tn thuc tnh>
<Thuc tnh Name ca iu khin>.<Tn phng thc>[(<Cc tham s>)]
Tn iu khin (thuc tnh Name)
y l thuc tnh xc nh tn ca iu khin trong ng dng. Tn ny c t theo quy
tc:
o Tn c th di t 1 - 40 k t.
o Tn phi bt u vi k t ch, c th ch hoa hay thng.
o Sau k t u tin, tn c th cha k t, s hay du gch di.
V d: Num, StudentCode, Class12A2 l nhng tn hp l.
345, 7yu l nhg tn khng hp l.
2. Biu mu (Form)
2.1. Khi nim
Chng trnh ng dng giao tip vi ngi dng thng qua cc biu mu (hay cn gi l
ca s, xut pht t ch Form hay Windows); cc iu khin (Control) c t ln bn trn
gip cho biu mu thc hin c cng vic .
Biu mu l cc ca s c lp trnh nhm hin th d liu v nhn thng tin t pha
ngi dng.
2.2. Thuc tnh
Name: thuc tnh ny l mt nh danh nhm xc nh tn ca biu mu l g? S dng
thuc tnh ny truy xut n cc thuc tnh khc cng vi phng thc c th thao tc
c trn biu mu.
Caption: chui hin th trn thanh tiu ca biu mu.
Icon: hnh icon c hin th trn thanh tiu ca biu mu, nht l khi biu mu thu
nh li.
WindowState: xc nh biu mu s c kch thc bnh thng (Normal=0), hay
Minimized (=1), Maximized (=2).
Font: xc lp Font cho biu mu. Thuc tnh ny s c cc iu khin nm trn n tha
k. Tc l khi ta t mt iu khin ln biu mu, thuc tnh Font ca iu khin y s t
ng tr nn ging y ca biu mu.
BorderStyle: xc nh dng ca biu mu.
2.3. Phng thc
Move: di chuyn biu mu n ta X,Y: Move X, Y
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 12
2.4. S kin
Form_Initialize: S kin ny xy ra trc nht v ch mt ln thi khi ta to ra th hin
u tin ca biu mu. Ta dng s kin Form_Initialize thc hin nhng g cn phi
lm chung cho tt c cc th hin ca biu mu ny.
Form_Load: S kin ny xy ra mi ln ta gi th hin mt biu mu. Nu ta ch dng
mt th hin duy nht ca mt biu mu trong chng trnh th Form_Load coi nh tng
ng vi Form_Initialize. Ta dng s kin Form_Load khi to cc bin, iu khin
cho cc th hin ca biu mu ny.
Form_Activate: Mi ln mt biu mu c kch hot (active) th mt s kin Activate
pht sinh. Ta thng dng s kin ny cp nht li gi tr cc iu khin trn biu mu.
Form_QueryUnload: Khi ngi s dng chng trnh nhp chut vo nt X pha trn
bn phi ng biu mu th mt s kin QueryUnload c sinh ra. on chng trnh
con di y m t th tc x l s kin QueryUnload.
Private Sub Form_QueryUnload(Cancel As Integer,UnloadMode As Integer)
End Sub
S kin ny cho ta kh nng hy b hnh ng ng biu mu bng cch t li Cancel l
1.
Form_Resize: S kin ny xy ra mi khi biu mu thay i kch thc.
3. Cc bc xy dng mt chng trnh
xy dng mt chng trnh ng dng cn thc hin theo cc bc sau y:
Bc 1: Phn tch bi ton
L qu trnh tm hiu bi ton, xc nh cc d kin nhp, d kin xut v i tm mt gii
thut thch hp nht. Bc ny cn thc hin trn giy cho r rng to thi quen lp trnh
tt.
Bc 2: Thit k giao din
Ngi lp trnh phi thit k giao din thch hp cho vic nhp, xut d liu, cn ch
n cch trang tr, cch b tr, th t, mu sc,
Bc 3: Thit k chng trnh
L bc vit chng trnh da trn gii thut xy dng bc 1, chy th chng
trnh kim tra, pht hin cc li c bit v sa cha.
Bc 4: Ci tin
y l bc hon thin chng trnh mc cao hn.
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 13
4. Mt s iu khin thng dng
4.1. Nhn (Label)
Nhn (cn gi l Label) thng c dng v nhng chui k t hng trn Form
nhm to ra cc mn hnh giao tip vi ngi dng. Cc thuc tnh quan trng lin quan n
i tng nhn bao gm:
Thuc tnh ngha
Name Tn ca nhn. Khi mi to s t ng c tn l Label1,
Caption Chui k t ni dung
AutoResize T ng thay i kch thc khi chui ni dung vt qu kch
thc hin th
ForeColor Mu ch
BackColor Mu nn
Font Kiu ch
WordWrap T ng xung dng khi chui ni dung vt qu rng label
4.2. Hp vn bn (Textbox)
i tng hp vn bn c s dng hin th d liu kt qu ca cc x l hay dng
cho php ngi s dng nhp liu vo h thng. Ngoi nhng thuc tnh nh dng nh
mu ch, mu nn, thuc tnh Text l thuc tnh thng c s dng i vi iu khin
ny. Thuc tnh ny cho php chng ta truy xut ni dung ca hp vn bn.
4.3. Nt lnh (command button)
i tng nt lnh l iu khin c dng thc hin cc x l ca chng trnh. Nt
lnh ch c mt vi thuc tnh thng dng, l:
Thuc tnh ngha
Name Tn ca nt lnh
Caption Chui k t hin th trong nt lnh
Enabled M hay sng nt lnh
Visible n hay hin nt lnh
Cancel Nt s c chn khi phm Esc c nhn. Ch c mt nt duy
nht trn mn hnh Form c thuc tnh ny l True
Default Nt s c chn khi phm Enter c nhn. Ch c mt nt c
thuc tnh Default l True
Ngoi nhng thuc tnh nu trn, nt lnh cn c phng thc v bin c lin quan l:
Phng thc SetFocus: Di chuyn con tr hin hnh n i tng nt lnh.
Bin c Click: Bin c pht sinh khi nt lnh c nhn.
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 14
5. To v chy chng trnh
to mt chng trnh ng dng trong VB, chng ta cn ln lt cc bc sau:
Bc 1: Phn tch bi ton
Bc 2: Thit k giao din
V cc iu khin ln mn hnh Form
t tn, gi tr nhng thuc tnh cn thit cho iu khin trn Form.
Bc 3: Thit k chng trnh
Thm lnh cho cc th tc x l bin c.
Sau khi xy dng hon tt chng trnh theo ba bc trn, c th chy v kim tra li
chng trnh bng cch nhn phm F5 hay nhn chut ti nt trn thanh cng c Toolbar.
Bc 4: Ci tin chng trnh
V d minh ha:
Vit chng trnh cho php nhp vo hai s, sau tnh v xut ra tng ca hai s va
nhp vo.
Hnh 2-1. Giao din chng trnh tnh tng 2 s khi thc thi
Yu cu: Khi nhp vo s th nht, s th 2 v click vo nt Cng th kt qu s hin th
textbox cn li; click vo nt Tip tc s xa ht kt qu trn 3 textbox v t con tr vo
s th nht. Click vo nt Thot s thot khi ng dng.
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 15
Hnh 2-2. Giao din chng trnh tnh tng 2 s khi thit k.
Bc 1: Phn tch
thc hin c yu cu bi ton, cn hai textbox nhp liu cho 2 s v mt textbox
hin th gi tr tng ca hai s.
Bc 2: Thit k giao din
V giao din v t thuc tnh cho cc iu khin
Control Name Caption
Form fTong Tinh tong 2 so
cmdTinh Tnh
cmdTiep Tip CommandButton
cmdThoat Thot
txtSo1
txtSo2 TextBox
txtTong
Bc 3: Thit k chng trnh
Thm cc lnh cho cc th tc x l bin c
Private Sub cmdTiep_Click()
txtSo1.Text = ""
txtSo2.Text = ""
txtTong.text = ""
txtSo1.SetFocus
End Sub
Private Sub cmdTinh_Click()
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 16
txtTong.Text = Val(txtSo1.Text) + Val(txtSo2.Text)
End Sub
Private Sub cmdThoat_Click()
Unload Me
End Sub
Bc 4: Ci tin chng trnh
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 17
Chng 3
Cc php ton v kiu d liu c bn
1. Cc php ton v cc k hiu
1.1. Php gn
y l ton t c s ca hu ht cc ngn ng lp trnh. Ton t dng gn gi tr cho
cc bin c kiu d liu c s trong VB l du (=). C php chung lnh gn c dng sau:
<tn bin> = <biu thc>
Biu thc phn bn phi ca c php trn c th l mt gi tr hng, mt bin hay mt
biu thc tnh ton. Khi , VB s thc hin vic tnh gi tr ca biu thc trc ri sau
mi gn gi tr c c cho bin. V d dng lnh gn sau y s tng gi tr bin k thm 1:
k = k + 1
Thng thng, gi tr ca biu thc v bin trong c php lnh gn phi cng kiu d
liu, tuy nhin chng ta vn c th gn biu thc s vo mt bin kiu chui. Trong trng
hp ny, VB s t ng i gi tr biu thc thnh chui sau mi gn vo bin.
Vi cc bin c kiu d liu tng qut, gn gi tr cho bin chng ta phi dng lnh
Set theo c php di y:
Set <tn bin> = <biu thc>
1.2. Cc php ton s hc
Thao tc trn cc gi tr c kiu d liu s.
Php
ton
ngha Kiu ca i s Kiu ca kt qu
- Php ly s i Kiu s (Integer,
Single)
Nh kiu i s
+ Php cng hai s Kiu s (Integer,
Single)
Nh kiu i s
- Php tr hai s Kiu s (Integer,
Single)
Nh kiu i s
* Php nhn hai s Kiu s (Integer,
Single)
Nh kiu i s
/ Php chia hai s Kiu s (Integer,
Single)
Single hay Double
\ Php chia ly phn
nguyn
Integer, Long Integer, Long
Mod Php chia ly phn
d
Integer, Long Integer, Long
^ Tnh ly tha Kiu s (Integer,
Single)
Nh kiu i s
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 18
1.3. Cc php ton lun l
L cc php ton tc ng trn kiu Boolean v cho kt qu l kiu Boolean. Cc php
ton ny bao gm AND (v), OR (hoc), NOT (ph nh). Sau y l bng gi tr ca cc
php ton:
X Y X AND Y X OR Y NOT X
TRUE TRUE TRUE TRUE FALSE
TRUE FALSE FALSE TRUE FALSE
FALSE TRUE FALSE TRUE TRUE
FALSE FALSE FALSE FALSE TRUE
1.4. Cc php ton so snh
y l cc php ton m gi tr tr v ca chng l mt gi tr kiu Boolean (TRUE hay
FALSE).
Php ton ngha
= So snh bng nhau
<> So snh khc nhau
> So snh ln hn
< So snh nh hn
>= So snh ln hn hoc bng
<= So snh nh hn hoc bng
1.5. Php &
y l ton t c s dng ni cc chui d liu li vi nhau. V d trong dng lnh
di y
s = Visual & & Basic
bin chui s s c gi tr l Visual Basic.
Tng t nh lnh gn chui, khi chng ta ni chui vi cc biu thc, VB s t ng
thc hin vic chuyn kiu d liu chui thnh s trc ri sau mi ni. Vi dng lnh
tip theo:
s = s & 1
Gi tr ca bin s sau lnh gn s l Visual Basic 1
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 19
1.6. Php like
So snh s ging nhau gia chui vi Mu v cho ra kt qu True hoc False.
Kt qu = Chui like Mu.
V d: Kt= Visual Basic like Visual Basic (Kt c gi tr l True)
1.7. Cc k hiu
Cc k hiu qui c c th dng trong cc biu thc tnh ton.
: ro mt chui.
# #: ro mt chui Date.
%: i din cho mt nhm k t bt k.
?: i din cho mt k t bt k.
2. Cc kiu d liu c bn
Tu theo tng loi ng dng, ngi lp trnh s dng cc kiu d liu khc nhau c sn
ca VB. Ngoi nhng kiu d liu c th cho tng loi ng dng, ging nh nhng ngn
ng lp trnh khc, VB h tr mt tp hp cc kiu d liu thng dng bao gm cc kiu d
liu c s nh kiu s nguyn, s thc, lun l, chui, v cc kiu d liu tng qut.
Tn kiu Tin t Hu t Mc nh c im
Byte by 0 Kiu d liu nh phn
Integer n, i % 0 S nguyn 2 byte
Long l & 0 S nguyn 4 byte
Single f ! 0 S thc 4 byte
Double d # 0 S thc 8 byte
String s, str $ Chui rng Chui cc k t
Currency c @ 0 Kiu s
Boolean b No Lun l (Yes/No)
Date dt D liu ngy thng nm
Control ctl i tng iu khin
Object ob i tng chung
Variant
Ngoi cc kiu d liu c s kh quen thuc c trong bng trn nh kiu s, chui,
chng ta cn thy ba kiu d liu tng qut cng thng c s dng l Control, Object
v Variant.
Mt bin c kiu d liu Control s c dng tng ng vi mt i tng iu khin
bt k c trn mn hnh giao tip Form. i tng ny c th l hp vn bn, nhn, nt
lnh, Khi to gi tr cho cc bin Control (tng t vi Object) phi dng lnh Set ch
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 20
khng th dng lnh gn (=) nh cc kiu d liu c s. on chng trnh sau minh ho vic
khai bo, gin gi tr v thao tc trn mt bin control.
Dim ctlTextBox As Control
Khi to ctlTextBox l hp txtNoidung
Set ctlTextBox = Me.txtNoidung
Di chuyn im nhy n txtNoidung
ctlTextBox.SetFocus
Chn khi phn vn bn ca txtNoidung
ctlTextBox.SelStart = 0
ctlTextBox.SelLength = Len(ctlTextBox.Text)
on chng trnh trn s khai bo v khi to bin ctlTextBox l hp vn bn
txtNoidung c trn mn hnh hin hnh. Sau di chuyn im nhy n hp vn bn ny v
chn khi ht ton b ni dung vn bn c trong .
Kiu d liu Object c dng tham chiu n mt i tng bt k c trong ng
dng nh mn hnh giao tip (Form), cc iu khin, Thc cht, kiu d liu Object l mt
vng nh c kch thc 4 byte cha a ch ca i tng m n tham chiu. on chng
trnh sau y cng c cng tc dng nh lnh trn y:
Dim obControl As Object, obForm As Object
Set obForm = Me
Set obControl = obForm.txtNoidung
obControl.SetFocus
obControl.SelStart = 0
obControl.SelLength = Len(obControl.Text)
Variant l mt kiu d liu tng qut c th i din cho mt kiu d liu c s bt k
nh Integer, Single, Tuy vy, tc chng trnh c nhanh hn cn hn ch dng cc
kiu d liu tng qut m nn dng cc kiu d liu c th. V d nh trong hai mu v d
trn c th dng cc bin c kiu d liu c th l TextBox hay Form thay v dng Control
hay Object.
Mc nhin khi khai bo bin m khng ch ra kiu d liu th VB s da vo k t c
bit cui tn bin (cn c gi l hu t) xc nh kiu d liu cho bin. Nu hu t ca
tn bin khng l cc k t c bit nh c trnh by trong bng cc kiu d liu thng
dng trn th bin s c kiu d liu mc nhin l Variant. V d hai dng khai bo bin di
y l tng ng nhau: trong bin m c kiu Variant, I c kiu s nguyn Integer v s c
kiu chui String.
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 21
Dim m, I, As Integer, s As String
Dim m, i%, s$
3. Bin
3.1. Khi nim
Trc tin ta tm hiu khi nim Module.
o Module: - Mt ng dng n gin c th ch c mt biu mu, lc tt c m lnh ca
ng dng c t trong ca s m lnh ca biu mu (gi l Form Module). Khi ng
dng c pht trin ln ln, chng ta c th c thm mt s biu mu na v lc ny kh
nng lp i lp li nhiu ln ca mt on m lnh trong nhiu biu mu khc nhau l rt ln.
- trnh vic lp i lp li trn, ta to ra mt Module ring r cha cc chng trnh con
c dng chung.
Visual Basic cho php 3 loi Module:
Module biu mu (Form module): i km vi mi mt biu mu l mt module ca biu
mu cha m lnh ca biu mu ny. Vi mi iu khin trn biu mu, module biu
mu cha cc chng trnh con v chng sn sng c thc thi p ng li cc s kin
m ngi s dng ng dng tc ng trn iu khin. Module biu mu c lu trong my
tnh di dng cc tp tin c ui l *.frm.
Module chun (Standard module): M lnh khng thuc v bt c mt biu mu hay mt
iu khin no s c t trong mt module c bit gi l module chun (c lu vi ui
*.bas). Cc chng trnh con c lp i lp li p ng cc s kin khc nhau ca cc
iu khin khc nhau thng c t trong module chun.
Module lp (Class module): c s dng to cc iu khin c gi thc thi trong
mt ng dng c th. Mt module chun ch cha m lnh nhng module lp cha c m lnh
v d liu, chng c th c coi l cc iu khin do ngi lp trnh to ra (c lu vi
ui *.cls).
Bin (Variable) l vng lu tr c t tn cha d liu tm thi trong qu trnh tnh
ton, so snh v cc cng vic khc.
Bin c 2 c im:
o Mi bin c mt tn.
o Mi bin c th cha duy nht mt loi d liu.
Phm vi (scope): xc nh s lng chng trnh c th truy xut mt bin.
o Mt bin s thuc mt trong 3 loi phm vi:
Phm vi bin cc b.
Phm vi bin module.
Phm vi bin ton cc.
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 22
3.2. Phn loi bin
3.2.1 Bin ton cc
o Khi nim: Bin ton cc l bin c phm vi hot ng trong ton b ng dng.
o Khai bo:
Global <Tn bin> [As <Kiu d liu>]
3.2.2 Bin cc b
o Khi nim: Bin cc b l bin ch c hiu lc trong nhng chng trnh m chng
c nh ngha.
o Khai bo:
Dim <Tn bin> [As <Kiu d liu>]
o Lu :
Bin cc b c nh ngha bng t kha Dim s kt thc ngay khi vic thi hnh th tc
kt thc.
3.2.3 Bin Module
o Khi nim: Bin Module l bin c nh ngha trong phn khai bo
(General|Declaration) ca Module v mc nhin phm vi hot ng ca n l ton b Module
y.
o Khai bo:
- Bin Module c khai bo bng t kha Dim hay Private & t trong phn khai bo
ca Module.
V d:
Private Num As Integer
- Tuy nhin, cc bin Module ny c th c s dng bi cc chng trnh con trong
cc Module khc. Mun th chng phi c khai bo l Public trong phn Khai bo
(General|Declaration) ca Module.
V d:
Public Num As Integer
Lu : Khng th khai bo bin vi t kha l Public trong chng trnh con.
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 23
3.3. Khai bo bin
C hai ch khai bo v s dng bin trong VB. l khai bo tng minh v khai bo
khng tng minh.
3.3.1 Khai bo khng tng minh
Trong ch khai bo khng tng minh, chng ta khng cn phi khai bo bin trc
khi s dng. T bn thn h thng VB s cp pht bin khi gp mt tn bin mi. V d trong
hm MySqr di y, bin TempVal c s dng m cha khai bo trc.
Function MySqr(num)
TempVal = Abs(num)
MySqr = Sqr(TempVal)
End Function
Khi , h thng s t ng to bin TempVal khi gp dng lnh ny. u tin, ai cng
cm thy thch ch khai bo v s dng bin khng tng minh nh th. Tuy nhin, chng
ta, nhng lp trnh vin chuyn nghip, khng nn s dng ch ny v i khi n s gy ra
nhiu li khng pht hin ni do nh nhm tn bin. Tht vy, cng vi hm nh trn nhng
nu chng ta nhp vo nh sau:
Function MySqr(num)
TempVal = Abs(num)
MySqr = Sqr(TemVal)
End Function
Thot nhn c th ngh hai hm trn y ging nhau, k tht l kt qu ca hm th hai
li lun l 0. chnh l v bin TempVal b nhp sai dng lnh th 2 l TemVal. Khi
y, VB s t ng to ra mt bin mi c tn l TemVal v c gi tr mc nhin l 0. iu ny
s cho kt qu ca hm lun l 0. Trong nhng chng trnh phc tp, c rt nhiu dng lnh
th vic pht hin ra nhng li nh th l rt kh.
3.3.2 Khai bo tng minh
trnh nhng li chng trnh xy ra do nhp sai tn bin, chng ta c th s dng ch
khai bo tng minh. Vi ch ny, mi bin s dng cn phi c khai bo trc.
Nhng bin no cha khai bo, VB s bo li khi thc thi chng trnh. Chng ta c th s
dng mt trong hai cch di y s dng ch khai bo bin tng minh:
Cch 1:
Trong ca s lnh, t dng lnh sau y Option Explicit u phn
Declarations ca mn hnh giao tip (Form), lp (Class) hay th vin (Module).
Cch 2:
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 24
Chn Tools\Options\Editor v sau chn Require Variable Declaration. T thi
im ny tr i, cc mn hnh lp hay th vin c to ra s c mc nhin l c sn dng
lnh Option Explicit trong phn Declaration. Vi cc mn hnh giao tip, lp hay th vin
c to trc , chng ta s phi t thm vo dng lnh ny nh cch 1.
Tu theo phm vi bin cn s dng, chng ta c th dng cc cu trc lnh sau khai
bo bin. khai bo bin cc b ca mt th tc, hm, mn hnh (Form) hay th vin chng
ta c th dng c php:
Dim Tn_bin [As Kiu d liu]
khai bo cc bin ton cc cho ton b ng dng. Cc bin ton cc thng c
khai bo trong mt th vin.
Puclic Tn_bin [As Kiu_d_liu]
Tn bin l mt chui k t tho cc iu kin sau:
Bt u bng k t. Tu thuc vo kiu d liu ca bin, ngi lp trnh thng dng
cc k t trong b k php Hungary lm cc k t u (tin t) cho cc tn bin. Cc tin
t ny s gip nhn bit mt bin c kiu d liu l g trong qu trnh lp trnh. V d vi
bin Socong c kiu d liu s nguyn thng c t tn l nSocong. Phn di y s
trnh by cc tin t trong b k php Hungary thng c dng.
Cc k t c trong tn bin ch c th l cc k t ch ci, k t s hay k t (_). Tuy
nhin, VB cng cho php k t cui cng ca tn bin (hu t) l k t c bit (xc nh
kiu d liu) nh k t %, #, $... (Xem thm phn Cc kiu d liu).
Tn bin di khng qu 255 k t.
Khng trng vi cc tn bin khc trong cng phm vi khai bo nh th tc, hm
(Sub, Function), mn hnh (Form), th vin (Module).
Khng c trng vi cc t kha ca Visual Basic.
V d dng lnh sau khai bo hai bin nSocong va fDongia
Dim nSocong As Integer, fDongia As Single
Trong qu trnh hot ng mi bin s c mt kiu d liu no . Kiu d liu s quy
nh cc gi tr s c lu tr trong bin.
4. Hng
4.1. Khi nim
Ging nh tn gi, hng l i lng c gi tr khng th thay i trong qu trnh thc
hin chng trnh.
4.2. Khai bo hng
Chng ta c th dng hng thay th nhng gi tr khng gi nh trong chng trnh.
V d, thay v dng gi tr kh hiu 3.1416 trong cc lnh tnh chu vi, din tch mt hnh trn
chng ta c th khai bo mt hng vi tn gi nh l Pi bng 3.1416 v sau dng hng Pi
ny tnh chu vi v din tch hnh trn.
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 25
khai bo mt hng, chng ta dng cu trc sau:
Const Tn_hng [As <kiu d liu>] = <Biu thc>
V d:
Const A = 5
Const B As Single = A/2
on lnh trn nh ngha hai hng s, hng s A c gi tr l 5, hng s B kiu s thc
v c gi tr l 2.5.
phn bit vi cc hng kiu s, cc gi tr hng chui phi c biu din trong cp
k t hay v hng kiu ngy thng phi c t trong cp k t # #.
Const TenDV = Trung Tam Tin Hoc DHKHTN
Const NgayBatDau = #10/24/86#
5. Mng
Mng l tp hp cc phn t c cng mt kiu d liu v c cha trong mt bin.
Dng mng s lm cho chng trnh n gin v gn hn v ta c th s dng vng
lp. Mng s c bin trn v bin di, trong cc thnh phn ca mng l lin tip
trong khong gia hai bin ny.
C hai loi bin mng: mng c chiu di c nh v mng c chiu di thay i lc
thi hnh.
Phn mng s c cp chi tit mn Lp trnh nng cao.
6. C php lp trnh
Ngoi cc c php lnh, hm, php ton, khi vit chng trnh cn tn trng c php lp
trnh sau:
Mi lnh phi vit trn mt dng bt k ngn hay di, khng c xung dng khi cha
ht lnh.
Mun vit nhiu lnh trn mt dng phi phn cch cc lnh bng du hai chm (:).
Dng lnh c mu l dng lnh sai cn sa li.
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 26
Chng 4
Cc lnh v hm c bn
1. Lnh r nhnh
1.1. Lnh If
o Mt dng lnh:
If <iu kin> Then <dng lnh>
o Nhiu dng lnh:
If <iu kin> Then
Cc dng lnh
End If
ngha cu lnh:
Cc dng lnh hay dng lnh s c thi hnh nu nh iu kin l ng. Cn nu nh
iu kin l sai th cu lnh tip theo sau cu trc If ... Then c thi hnh.
o Dng y : If ... Then ... Else
If <iu kin 1> Then
[Khi lnh 1]
ElseIf <iu kin 2> Then
[Khi lnh 2]...
[Else
[Khi lnh n]]
End If
VB s kim tra cc iu kin, nu iu kin no ng th khi lnh tng ng s c thi
hnh. Ngc li nu khng c iu kin no ng th khi lnh sau t kha Else s c thi
hnh.
V d:
If (TheColorYouLike = vbRed) Then
MsgBox "You are a lucky person"
ElseIf (TheColorYouLike = vbGreen) Then
MsgBox "You are a hopeful person"
ElseIf (TheColorYouLike = vbBlue) Then
MsgBox "You are a brave person"
ElseIf (TheColorYouLike = vbMagenta) Then
MsgBox "You are a sad person"
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 27
Else
MsgBox "You are an average person"
End If
1.2. Lnh Select Case
Trong trng hp c qu nhiu cc iu kin cn phi kim tra, nu ta dng cu trc r
nhnh IfThen th on lnh khng c trong sng, kh kim tra, sa i khi c sai st.
Ngc li vi cu trc SelectCase, biu thc iu kin s c tnh ton mt ln vo u
cu trc, sau VB s so snh kt qu vi tng trng hp (Case). Nu bng n thi hnh
khi lnh trong trng hp (Case) .
Select Case <biu thc kim tra>
Case <Danh sch kt qu biu thc 1>
[Khi lnh 1]
Case <Danh sch kt qu biu thc 2>
[Khi lnh 2]
.
.
.
[Case Else
[Khi lnh n]]
End Select
Mi danh sch kt qu biu thc s cha mt hoc nhiu gi tr. Trong trng hp c
nhiu gi tr th mi gi tr cch nhau bi du phy (,). Nu c nhiu Case cng tha iu kin
th khi lnh ca Case u tin s c thc hin.
V d ca lnh r nhnh IfThen trn c th vit nh sau:
Select Case TheColorYouLike
Case vbRed
MsgBox "You are a lucky person"
Case vbGreen
MsgBox "You are a hopeful person"
Case vbBlue
MsgBox "You are a brave person"
Case vbMagenta
MsgBox "You are a sad person"
Case Else
MsgBox "You are an average person"
End Select
Ton t Is & To
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 28
Ton t Is: c dng so snh <Biu thc kim tra> vi mt biu thc no .
Ton t To: Dng xc lp min gi tr ca <Biu thc kim tra>.
V d:
Select Case Tuoi
Case Is <18
MsgBox Vi thanh nien
Case 18 To 30
MsgBox Ban da truong thanh, lo lap than di
Case 31 To 60
MsgBox Ban dang o lua tuoi trung nien
Case Else
MsgBox Ban da lon tuoi, nghi huu duoc roi day!
End Select
Lu : Trong v d trn khng th vit Case Tuoi < 18.
2. Lnh lp
Cc cu trc lp cho php thi hnh mt khi lnh no nhiu ln.
2.1. Lnh For
2.1.1 For ... Next
y l cu trc bit trc s ln lp, ta dng bin m tng dn hoc gim dn xc
nh s ln lp.
For <bin m> = <gi tr u> To <gi tr cui> [Step <bc nhy>]
[khi lnh]
Next
Bin m, gi tr u, gi tr cui, bc nhy l nhng gi tr s (Integer, Single,).
Bc nhy c th l m hoc dng. Nu bc nhy l s m th gi tr u phi ln hn gi
tr cui, nu khng khi lnh s khng c thi hnh.
Khi Step khng c ch ra, VB s dng bc nhy mc nh l mt.
V d: on lnh sau y s hin th cc kiu ch hin c ca my bn.
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 29
Private Sub Form_Click( )
Dim i As Integer
For i = 0 To Screen.FontCount
MsgBox Screen.Fonts(I)
Next
End Sub
V d: Tnh N!
o Bc 1: Thit k chng trnh c giao din:
Hnh 4-1. Giao din chng trnh tnh giai tha
o Bc 2: S kin Command1_Click c x l nh sau:
Private Sub cmdTinh_Click()
Dim i As Integer, gt As Long, n As Integer
n = Val(txtSo.Text)
gt = 1
For i = 2 To n
gt = gt * CLng(i)
Next
txtgt.Text = gt
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 30
End Sub
Lu d n v chy chng trnh ta c kt qu nh hnh trn.
2.1.2 For Each ... Next
Tng t vng lp For ... Next, nhng n lp khi lnh theo s phn t ca mt tp cc
i tng hay mt mng thay v theo s ln lp xc nh. Vng lp ny tin li khi ta khng
bit chnh xc bao nhiu phn t trong tp hp.
For Each <phn t> In <nhm>
<khi lnh>
Next <phn t>
Lu :
- Phn t trong tp hp ch c th l bin Variant, bin Object, hoc mt i tng trong
Object Browser.
- Phn t trong mng ch c th l bin Variant.
- Khng dng For Each ... Next vi mng cha kiu t nh ngha v Variant khng cha
kiu t nh ngha.
2.2. Lnh Do
Do ... Loop: y l cu trc lp khng xc nh trc s ln lp, trong , s ln lp s
c quyt nh bi mt biu thc iu kin. Biu thc iu kin phi c kt qu l True hoc
False. Cu trc ny c 4 kiu:
Kiu 1:
Do While <iu kin>
<khi lnh>
Loop
Khi lnh s c thi hnh n khi no iu kin khng cn ng na. Do biu thc iu
kin c kim tra trc khi thi hnh khi lnh, do c th khi lnh s khng c thc
hin mt ln no c.
Kiu 2:
Do
<khi lnh>
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 31
Loop While <iu kin>
Khi lnh s c thc hin, sau biu thc iu kin c kim tra, nu iu kin cn
ng th, khi lnh s c thc hin tip tc. Do biu thc iu kin c kim tra sau, do
khi lnh s c thc hin t nht mt ln.
Kiu 3:
Do Until <iu kin>
<khi lnh>
Loop
Cng tng t nh cu trc Do While ... Loop nhng khc bit ch l khi lnh s
c thi hnh khi iu kin cn sai.
Kiu 4:
Do
<khi lnh>
Loop Until <iu kin>
Khi lnh c thi hnh trong khi iu kin cn sai v c t nht l mt ln lp.
V d: on lnh di y cho php kim tra mt s nguyn N c phi l s nguyn t
hay khng?
Dim i As Integer
i = 2
Do While (i <= Sqr(N)) And (N Mod i = 0)
i = i + 1
Loop
If (i > Sqr(N)) And (N <> 1) Then
MsgBox Str(N) & la so nguyen to
Else
MsgBox Str(N) & khong la so nguyen to
End If
Trong , hm Sqr: hm tnh cn bc hai ca mt s
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 32
2.3. Lnh While
Tng t vng lp Do...While, nhng ta khing th thot vng lp bng lnh Exit.
V vy, vng lp kiu ny ch thot khi biu thc iu kin sai.
While <iu kin>
<khi lnh>
Wend
3. Cc lnh v hm c bn
3.1. Lnh End
Dng kt thc chng trnh
C php: End
3.2. Lnh Exit
thot khi cu trc ta dng lnh Exit, Exit for cho php thot khi vng For, exit Do
cho php thot khi vng lp Do, exit sub cho php thot khi Sub, exit function thot khi
Function.
C php: Exit For | Do|Sub|Function.
V d: y l v d minh hc mt dng thot khi vng lp Do khng iu kin.
Do

Exit Do

Loop
3.3. Lnh Msgbox
MsgBox <Thng bo> [, <Loi thng bo> [, Tiu ]]
Trong c php s dng ny, thnh phn Thng bo chnh l chui ni dung s hin th
ca lnh.
Gi tr ca thnh phn Loi thng bo s quy nh hnh nh v nhng nt s hin th
trong thng bo.
Cc hng s lin quan n hnh nh c hin th gm:
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 33
vbQuestion
vbCritical
vbInformation
vbExclamation
Hng s quy nh cc nt s hin th gm: vbOKOnly, vbOKCancel, vbYesNoCancel,
vbYesNo, vbAbortRetryIgnore.
Tiu l chui k t s xut hin trn thanh tiu ca ca s thng bo.
V d hin th gi tr ca bin k chng ta c th dng cu lnh nh sau:
MsgBox k= & Format(k, 0.0) & vbCrLf & Khong hop le! Bien k phai khac 0,
vbOKOnly + vbCritical, Thong bao loi
3.4. Go Sub Return
Chuyn iu khin n mt nhn trong chng trnh v tr v (lnh r nhnh tr v).
C php:
GoSub Nhn

Nhn:
Cc lnh trong nhn

Return
Trong :
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 34
Nhn l mt thng trnh trong chng trnh, mt chng trnh c th c nhiu
thng trnh, mi thng trnh c mt Nhn phn bit. Nhn l mt tn c di.
Return: l lnh c bit cho bit kt thc mt nhn v thc hin quay tr v lnh ng
sau lnh GoSub
3.5. Goto
c dng cho by li.
On Error Goto ErrorHandler
Khi c li, chng trnh s nhy n nhn ErrorHandler v thi hnh lnh .
3.6. On Error Goto nhn
Lnh On Error dng trong hm hay th tc bo cho Visual basic bit cch x l khi li
xy ra.
On Error GoTo <Nhn>
Dng On error Goto 0 tt x l li
C php:
Dng 1:
On Error GoTo <Tn nhn>
<Cc cu lnh c th gy ra li>
<Tn nhn>:
<Cc cu lnh x l li>
ngha:
<Tn nhn>: l mt tn c t theo quy tc ca mt danh biu.
Nu mt lnh trong <Cc cu lnh c th gy ra li> th khi chng trnh thc thi n
cu lnh , chng trnh s t ng nhy n on chng trnh nh ngha bn di
<Tn nhn> thc thi.
Dng 2:
On Error Resume Next
<Cc cu lnh c th gy ra li>
ngha:
- Nu mt lnh trong <Cc cu lnh c th gy ra li> th khi chng trnh thc thi n
cu lnh , chng trnh s t ng b qua cu lnh b li v thc thi cu lnh k tip.
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 35
3.7. Cc hm chuyn kiu
Cbool(biu thc): tr ra gi tr Boolean bng cch chuyn i lun l biu thc.
V d: A = 6; B = 7
Check = (A = B) (Check = False)
Cbyte(biu thc): tr ra s nguyn Byte bng cch chuyn biu thc ra Byte.
V d: X = 126.234
N = Cbyte(X) (N = 126)
Cint(biu thc): tr ra s nguyn Integer bng cch chuyn biu thc ra Integer.
V d: X = 12245.323
M = Cint(X) (M = 12245)
Clng(biu thc): tr ra s nguyn Long bng cch chuyn biu thc ra Long.
V d: MyDouble = 12145.4324
X = Clng(X) (X = 12145)
Csng(biu thc): tr ra s thc Single bng cch chuyn biu thc ra Single.
V d: MyDouble = 12145.432416934
X = Csng(MyDouble) (MyDouble = 12145.43242)
Cdbl(biu thc): tr ra s thc Double bng cch chuyn biu thc ra Double.
Ccur(biu thc): tr ra s Curency bng cch chuyn biu thc ra Currency.
Cvar(biu thc): tr ra gi tr kiu Variant bng cch chuyn biu thc ra Variant.
Cstr(biu thc): tr ra Chui bng cch chuyn biu thc ra Chui.
Cvdate(biu thc): tr ra chui Date bng cch chuyn biu thc ra Date.
Chr(m k t): tr ra mt k t bng cch chuyn m k t ra k t tng ng theo bng
m Ascii. M k t: l gi tr s t 0 n 255
V d: C = Chr(65) (C = A)
Val(s): tr ra mt s cha trong chui.
V d: MyValue = Val(2457) (MyValue = 2457)
MyValue = Val(2 4 5 7) (MyValue = 2457)
MyValue = Val(24 and 57) (MyValue = 24)
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 36
3.8. Cc hm ton hc
Atn(S): tr v gi tr Arctangent ca s tnh theo n v Radians. Gi tr tr v trong
khong t -Pi/2 n Pi/2.
Cos(s): tr v gi tr Cosine ca s tnh theo n v Radians. Gi tr tr v trong khong
t -1 n 1.
Sin(S): tr v gi tr Sine ca s tnh theo n v Radians. Gi tr tr v trong khong t -
1 n 1.
Tan(S): tr v gi tr Tangent ca s tnh theo n v Radians.
Exp(S): tr v gi tr e
S
, vi hng s e = 2.718282.
Log(S): tr v gi tr Logarithm t nhin ca s vi s >0. (Logarithm ca e =
2.718282).
Sqr(S): tr v cn bc hai ca s, vi s >=0.
V d: A = Sqr(4) (A = 2)
Randomize: thc hin khi ng b to s ngu nhin.
Rnd: tr v mt s ngu nhin c gi tr <=1 v >=0.
Abs(S): tr v gi tr tuyt i ca s.
Sgn(S): tr v mt s nguyn cho bit du ca s.
Gi tr tr v = 1: s l s dng.
Gi tr tr v = 0: s = 0.
Gi tr tr v = -1: s l s m.
V d: A = 23.454; B= -34.65
N = Int(A) (N = 23)
M = Fix(A) (M = 23)
X = Int(B) (X = -35)
Y = Fix(B) (Y = -34)
3.9. Cc hm kim tra kiu d liu
IsDate(biu thc): tr v gi tr True | False cho bit biu thc c phi l Date khng.
V d:
MyDate = February 12, 1969: YourDate = #2/12/69#: NoDate = Hello.
MyCheck = IsDate(MyDate) (MyCheck = True)
MyCheck = IsDate(YourDate) (MyCheck = True)
MyCheck = IsDate(NoDate) (MyCheck = False)
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 37
IsEmpty(biu thc): tr v gi tr True | False cho bit biu thc c khi to cha.
IsNull(biu thc): tr v gi tr True | False cho bit biu thc c phi l Null khng.
IsNumeric(biu thc): tr v gi tr True | False cho bit biu thc c phi l s khng.
IsArray(tn bin): tr v gi tr True | False cho bit bin c phi l mng khng.
VarType(tn bin): tr v s nguyn cho bit kiu d liu ca bin.
Gi tr
tr v
M t kiu d liu
0 Empty (cha khi to)
1 Null
2 Integer
3 Long
4 Single
5 Double
6 Currency
7 Date
8 String
9 OLE Automation Object
10 Error (bin li)
11 Boolean
12 Mng Variant
13 None OLE Automation Object
17 Byte
8192 Mng
3.10. Cc hm thi gian
3.10.1 Lnh gn gi tr
Vi bin d c khai bo l c kiu d liu ngy thng, chng ta c th khi to gi tr
cho d bng nhng lnh sau:
Dim d As Date
'Khoi tao d bang ngay gio hien tai:
d = Now
'Khoi tao d bang ngay hien tai:
d = Date
'Khoi tao d bang gia tri ngay thang:
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 38
d = #12/24/2000#
'Khoi tao d bang 3 gia tri ngay, thang, nam:
d = DateSerial(nam, thang, ngay)
3.10.2 Lnh x l ngy thng
Ly ring gi tr ngy ca d
Hm Day(d) As Variant(Integer)
Ly ring gi tr thng ca d
Hm Month(d) As Variant(Integer)
Ly ring gi tr nm ca d
Hm Year(d) As Variant(Integer)
Tnh th trong tun ca ngy d
Hm WeekDay(d)
(1 = vbSunday, 2 = vbMonday,...)
Cng gi tr ngy d vi k(thng, ngy, tun,...)
Hm DateAdd(n v, k, d) As Date
(n v c dng c th l:
d: tng ng vi ngy
w: tng ng vi tun
m: tng ng vi thng
yyyy: tng ng vi nm
V d di y s s dng cc hm v ngy thng trong VB xc nh sinh nht ln th
n ca bn l th my trong tun.
Dim d As Date, d1 As Date, n As Integer
Dim s As String, thu As String
s = InputBox("Nhap ngay sinh cua ban", "Nhap thong tin")
n = InputBox("Nhap n", "Nhap thong tin")
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 39
d = CDate(s)
d1 = DateAdd("yyyy", n, d)
Select Case Weekday(d1)
Case 1
thu = "Chu Nhat"
Case 2
thu = "Thu Hai"
...
Case 7
thu = "Thu Bay"
End Select
MsgBox "Sinh nhat thu " & Str(n) & " cua ban la ngay " & thu
3.11. Cc hm x l chui
3.11.1 Hm Len
Hm ny dng tnh chiu di ca mt chui no . C php s dng ca hm c dng
sau:
dodai = Len(chuoi)
trong dodai phi l mt bin kiu s nguyn c khai bo. Cu lnh di y s
duyt qua tng k t ca chui s:
Dim I As Integer
For I = 1 to Len(s)
Xu ly tren tung ky tu cua chuoi s
Print Mid(s, I, 1)
Next
3.11.2 Hm InStr
Hm InStr dng xem mt chui s c cha chui con s1 hay khng. Nu tm thy, hm
s c gi tr l v tr c tm. Ngc li hm s c gi tr l 0. C php s dng ca hm c
dng sau:
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 40
Dim tim As Integer
tim = InStr([vt = 1,] chui s, chui con s1, [tu chn = vbBinaryCompare]) As Integer
Trong :
vt l mt thnh phn c th c hay khng. Gi tr ca thnh phn ny l v tr bt u thc
hin vic tm kim trong chui s. Nu chng ta khng ch ra thnh phn ny khi s dng
InStr, VB s thc hin tm t u chui (vt l 1).
Tu chn tm cng l mt thnh phn c th dng hoc khng. Khi c s dng thnh
phn ny c th s l mt trong nhng gi tr sau:
vbTextCompare: Khng phn bit ch hoa hay thng .
vbBinaryCompare: So snh c phn bit hoa thng.
vbUseCompareOption: Dng ch hin hnh c t ca h thng.
V d:
Dim s As String, s1 As String
s = Chuong trinh Visual Basic 1
s1 = Visual Basic
If InStr(s, s1, vbTextCompare) > 0 Then
MsgBox Tim thay s1 trong s
End If
3.11.3 Lnh Replace
Lnh Replace dng tm v thay th chui k t sTim c trong chui s bng chui thay
th sThayThe. C php ca lnh c dng sau:
Replace(s, sTim, sThayThe [, v tr u = 1] [, s ln thay th = 0] [, tu chn =
vbBinaryCompare]) As String
Mc nhin s ln thay th c gi tr l 0, khi y hm s thay th tt c chui sTim bng
sThayThe c trong s. Kt qu tr v l chui c thay th.
3.11.4 Cc hm trch chui
Hm Left(chui s, n) As String
Hm Right(chui s, n) As String
Hm Mid(chui s, bt u, [n]) As String
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 41
Trong c php cc hm trn, than s n chnh l s k t cn trch. Vi hm Mid, nu
tham s ny c b qua th chui kt qu tr v s c trch t v tr bt u n cui chui
s.
3.11.5 Cc lnh ct khong trng
Ct cc khong tha bn tri ca chui s:
LTrim(chui s)
Ct cc khong tha bn phi ca chui s:
RTrim(chui s)
Ct cc khong tha bn tri v bn phi ca chui s:
Trim(chui s)
3.11.6 Cc hm nh dng
i chui s thnh chui ch hoa
Hm UCase(chui s)
i chui s thnh chui ch thng:
Hm LCase(chui s)
i biu thc thnh dng chui c nh dng
Hm Format(<biu thc s>, chui nh dng)
V d: hm Format(10, 0.0) s tr v chui 10.0
3.12. Cc hm khc
3.12.1 Hm MsgBox
Trong trng hp cn hi p vi ngi s dng, chng ta c th dng hm MsgBox
theo c php:
MsgBox(Thng bo, Loi, Tiu )
V d:
Dim TraLoi As Integer
TraLoi = MsgBox(Thng bo, Loi, Tiu )
Kt qu tr v trong bin TraLoi s ch l s ca nt m ngi dng nhn. C th dng
ch s cc nt ny l cc hng s vbOK, vbYes, vbCancel.
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 42
3.12.2 Hm InputBox
Hm InputBox ny s hin th mt hp thoi ngi dng nhp gi tr cho mt bin no
ca chng trnh. y l mt trong nhng lnh nhp xut c s ca VB. C php ca hm
nh sau:
InputBox (Thng bo, Tiu ) As String
V d:
yu cu ngi s dng nhp gi tr cho mt bin n trong chng trnh chng ta c th
ra lnh
n = InputBox(Nhap gia tri so n,Nhap lieu)
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 43
Chng 5
Th tc v hm
1. Th tc
1.1. Khi nim
Th tc l mt dng chng trnh con cho php khai bo tp hp cc lnh tng ng vi
mt n v x l no m n v x l ny khng c gi tr tr v. Th tc c th c hay
khng c tham s.
1.2. Phn loi
Th tc c th c chia lm 2 loi: th tc s kin v th tc dng chung.
Th tc s kin: l cc th tc c vit cho mt s kin ca Form hoc Control. Th tc
loi ny s t thc hin khi s kin xy ra.
Th tc dng chung: l cc th tc c vit cp Module hoc phn General cp
Form. Cc th tc ny c tnh tng qut v c gi s dng t cc th tc, hm khc.
1.3. Cu trc mt th tc
[Private | Public] Sub <tn th tc> (cc tham s)
Tp hp lnh
[Exit Sub]
Tp hp lnh
End Sub
Gii thch cc t kha:
Private: Th tc ch c th c gi thc hin trong cng mn hnh giao tip (form), th
vin (module) hin hnh.
Public: Th tc c th c gi thc hin t mt mn hnh, th vin khc. Cc khai bo
th tc khng ch ra phm vi l Private hay Public s c phm vi mc nhin l Public.
Sub End Sub: l cp t kho khai bo bt u v kt thc mt th tc.
Tn th tc: Cng ging nh tn bin, tn th tc l mt chui k t lin tc khng trng
vi cc i tng khc trong cng phm vi.
Vi cc th tc x l bin c ca mt i tng no , tn ca cc th tc s do chnh
VB to ra theo quy nh tnitng_binc().
Cc tham s: Danh sch tn cc bin hnh thc (cn thng c gi l tham s hnh
thc) c s dng giao tip d liu vi n v chng trnh gi.
Khc vi cc ngn ng lp trnh khc, nhng th tc khng c tham s trong VB cng
phi c khai bo c cp ngoc ().
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 44
Exit Sub: Mc nhin th tc s chm dt khi thc hin n lnh End Sub. Tuy nhin
chng ta cng c th dng lnh Exit Sub thot khi th tc khi cn thit..
1.4. Xy dng mt th tc
1.4.1 Th tc dng chung
C 2 trng hp: cp Form v cp Module
Cp Form:
T Form ta nhn F7, xut hin khung chng trnh, chn mc General ti hp Object,
nhp vo dng [Private|Public] [Static] Sub Tn th tc [(Danh s cc tham s)], s xut hin
dng End Sub. Ta thc hin vit khi lnh bn trong.
Public Sub Vidu()
' khoi lenh duoc viet o day
End Sub
Hoc ta c th chn Menu Tools \Add Procedure, s xut hin khung i thoi sau:
Hnh 5-1. Hp thoi Add Procedure
Chn Sub, quy nh Public| Private, nh du All Local variables as Statics
ch nh (static) cho cc bin cc b l bin tnh, nhp tn th tc trong hp Name, chn Ok.
Xut hin cu trc ca th tc, ta ch vic nhp khi lnh cho th tc bn trong Sub
End Sub.
Cp Module:
thm vo Project mt Module chng trnh mi (lc ny trn khung Project s c
thm mt Module mi) chn menu Project\chn Add Module, s xut hin hp thoi sau:
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 45
Hnh 5-2. Hp thoi Add Module
Chn New thm mt Module mi, chn th Existing thm vo Project mt Module
c xy dng sn.
Thao tc thm mi vo mt th tc trong Module cng ging nh thao tc thm mi vo
mt th tc trong Form.
V d:
Private Sub PhucHoi()
txtSo1.Text = ""
txtSo2.Text = ""
txtTong.text = ""
txtSo1.SetFocus
End Sub
1.4.2 Th tc s kin
Chn i tng cn vit th tc, nhn phm F7 (chn menu View, Code), s xut hin
khung chng trnh:
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 46
Chn tn mt s kin cn lp trnh ti hp Proc: s xut hin ngn:
Private Sub
End Sub.
Vit khi lnh bn trong Private Sub End Sub.
Ghi ch: thc hin vit th tc s kin cho i tng bng cch Double Click vo i
tng.
V d: vit cho nt lnh thot
Private Sub cmdthoat_Click()
End
End Sub
1.5. Gi thc hin th tc
Khi khai bo mt th tc, chng ta c th gi thc hin th tc ny trong phm vi cho
php theo hai cch sau:
<Tn th tc> thams1, thams2,...
Call <Tn th tc> (thams1, thams2,...)
V d vi th tc PhucHoi c khai bo trn y, chng ta c th gi thc hin nh
sau:
PhucHoi
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 47
Hay: Call PhucHoi()
Tu theo cc tham s hnh thc lc khai bo, khi gi thc hin th tc chng ta phi
truyn theo cc thams
i
(tham s thc) nh trong m t c php trn. Cc tham s thc ny c
th l mt gi tr, mt bin hay mt biu thc. Vi cc gi thc hin th nht, cc thnh phn
thams
i
nu c s cch nhau bng du phn cch (,). Vi cch gi thc hin th hai, cc tham
s thc lun phi c t trong du ngoc (). Mt im cn lu l tn ca cc tham s hnh
thc trong khai bo th tc v cc tham s thc thams
i
khng nht thit phi ging nhau.
V d trong khai bo
Sub Dientich (bankinh As Single)
Th mi khi gi thc hin, th tc s c truyn vo mt tham s thc kiu Single c
i din bi mt tn chung l bankinh. Khi y ngi lp trnh c th gi thc hin vi cc
tham s thc khc nh sau:
Call Dientich (3) Tham so thuc la so 3
Call Dientich (r) Tham so thuc la bien r
Trong trng hp cn gi th tc c khai bo Public, t mt mn hnh giao tip khc
v d nh Module, chng ta cn ch ra tn ca mn hnh theo c php:
<Tn mn hnh>.<Tn th tc>...
2. Hm
2.1. nh ngha
Cng ging nh th tc, hm l mt dng chng trnh con c th nhn vo cc gi tr
qua danh sch tham s hnh thc, thc hin cc lnh c khai bo, thay i cc gi tr trong
nhng tham s thc,... Tuy nhin hm c gi tr tr v cn th tc th khng.
Khc vi c php khai bo mt th tc, khai bo hm s bt u v kt thc bng cp t
kho Function ... End Function. Ngoi ra, khi khai bo hm chng ta cn phi ch ra kiu d
liu tr v ca hm.
2.2. Cu trc mt hm
[Private|Public] [Static] Fuction Tn hm [(Danh s cc
tham s)] As Kiu
Khi lnh
.
Tn hm = gi tr|bin|biu thc
End Fuction
Gii thch cc t kha:
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 48
As Kiu: l gi tr ca hm tr ra, c th l cc kiu sau: Boolean, Byte, Integer, Long,
Single, Double, String, Date v Variant.
Tn hm = gi tr|bin|biu thc: l lnh gn c bit dng gn kt qu tnh ton
c cha trong gi tr|bin|biu thc cho hm. Nu khng c lnh ny th hm khng tr ra
kt qu no c.
End Fuction: l t kha cho bit kt thc hm.
V d:
y l mt hm tnh din tch Hnh Ch nht khi bit chiu di v chiu rng.
Public Function DienTichHinhCN(d As Single, r As
Single) As Single
Dim dt As Single
dt = d * r
DienTichHinhCN = dt
End Function
2.3. Xy dng mt hm
Hm c th c xy dng cp Module hoc cp Form:
Nu hm c b tr trong Module th c th gi s dng bt k mi th tc, hm khc
trong Form k c cc th tc, hm vit trong cc Module khc(tr trng hp hm Private l
b che).
Nu hm c b tr trong Form th n ch c gi s dng trong cc th tc, hm ca
Form m thi.
Cch xy dng mt hm tng t nh xy dng th tc dng chung.
2.4. Gi hm
Hm do ta t xy dng c s dng nh cc hm xy dng sn bi h thng. N c
hiu nh thc hin mt php ton. gi thc hin hm, chng ta thy thng thng mt
hm khi c s dng s thuc vo nhng dng sau:
Tnh gi tr v gn cho bin.
Bin = <Tn hm> (thams1, thams2,...)
Tham gia vo mt biu thc tnh ton.
Bin = Biu thc c cha hm
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 49
Trng hp cn gi thc hin hm nhng khng cn ly gi tr tr v chng ta c th s
dng c php c dng:
Call <tn hm> (thams1, thams2,...)
V d:
Public Fuction THU (DD As Date) As String
Dim N As Byte, S As String
N = WeekDay(DD)
Select Case (N)
Case 1:
S = Ch Nht
Case 2:
S = Th Hai
Case 3:
S = Th Ba
Case 4:
S = Th T
Case 5:
S = Th Nm
Case 6:
S = Th Su
Case 7:
S = Th By
End Select
THU = S
End Fuction
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 50
Hm trn l hm cng cng cho mi th tc, hm khc; Hm thc hin tnh th ca
mt Date v cho ra mt chui cho bit tham s Date l ngy th my trong tun. ta thc hin
gi hm trn nh sau:
DayofWeek = THU(#1/198#)
(DayofWeek = Th T ngy 1/1/98 l ngy th t)
3. S kin
3.1. Gii thiu
S kin l cc tnh hung xy ra trn cc i tng khi chng trnh chy. Visual Basic
cho php ta c th lp trnh x l, p ng s kin xy ra mt cch tc thi.
Cc i tng khc nhau s c nhng s kin khc nhau. Trong qu trnh lp trnh cn
quan tm n cc s kin c th xy ra v tm cch p ng chng.
3.2. Cc s kin ca i tng
S kin Active: s kin xy ra khi Form bt u tr thnh ca s hot ng.
p dng cho: Form, MDI Form.
S kin Click: s kin xy ra khi ta Click trong Form hoc trong Control.
p dng cho: CheckBox, CommandButton, ComboBox, DirListBox, FileListBox, Form,
Frame, Image, Label, ListBox, PictureBox, TextBox.
S kin DblClick: s kin xy ra khi ta Double Click trong Form hoc trong Control.
p dng cho: ComboBox, FileListBox, Form, Frame, Image, Label, ListBox, OLE,
OptionButton, PictureBox, TextBox.
S kin DeActive: s kin xy ra khi Form bin mt khi mn hnh (Form c ng li
v khng phi l n Form bi phng thc Hide).
p dng cho: Form, MDI Form.
S kin DragDrop: s kin xy ra khi thc hin thao tc r v th mt Control trn
Form.
p dng cho: CheckBox, ComboBox, CommandButton, DirListBox, DriveListBox,
FileListBox, Form, MDI Form, Frame, Hscrollbar, Vscrollbar, Image, Label, ListBox,
OptionButton, PictureBox, TextBox.
S kin DragOver: s kin xy ra khi thc hin thao tc r v th mt Control trn mt
Control khc.
p dng cho: CheckBox, ComboBox, CommandButton, DirListBox, DriveListBox,
FileListBox, Form, MDI Form, Frame, Hscrollbar, Vscrollbar, Image, Label, ListBox,
OptionButton, PictureBox, TextBox.
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 51
S kin GotFocus: s kin xy ra khi Form hoc Control c tiu im hot ng (c con
tr).
p dng cho: CheckBox, ComboBox, CommandButton, DirListBox, DriveListBox,
FileListBox, Form, Hscrollbar, Vscrollbar, ListBox, OptionButton, PictureBox, TextBox.
S kin Initialize: s kin xy ra trong khi ta to mt Form mi bng hm CreateObject.
p dng cho: Form, MDI Form.
S kin KeyDown: s kin xy ra khi ta nhn phm trn Form hoc trn Control (nu
nhn khng nh th s kin KeyDown lp li nhiu ln).
p dng cho: CheckBox, ComboBox, CommandButton, DirListBox, DriveListBox,
FileListBox, Form, Hscrollbar, Vscrollbar, ListBox, OptionButton, PictureBox, TextBox.
S kin KeyPress: s kin xy ra khi ta nhn v nh phm trn Form hoc trn Control.
p dng cho: CheckBox, ComboBox, CommandButton, DirListBox, DriveListBox,
FileListBox, Form, Hscrollbar, Vscrollbar, ListBox, OptionButton, PictureBox, TextBox.
S kin KeyUp: s kin xy ra khi nh mt phm va nhn.
p dng cho: CheckBox, ComboBox, CommandButton, DirListBox, DriveListBox,
FileListBox, Form, Hscrollbar, Vscrollbar, ListBox, OptionButton, PictureBox, TextBox.
S kin LinkClose: s kin xy ra khi qu trnh DDE (Dynamic Data Exchange) kt thc.
p dng cho: Form, MDI Form, Label, PictureBox, TextBox.
S kin LinkError: s kin xy ra khi qu trnh DDE xy ra li.
p dng cho: Form, MDI Form, Label, PictureBox, TextBox.
S kin LinkExecute: s kin xy ra khi mt lnh c gi n ng dng ch trong qu
trnh DDE.
p dng cho: Form, MDI Form.
S kin LinkOpen: s kin xy ra khi qu trnh DDE c khi ng.
p dng cho: Form, MDI Form, Label, PictureBox, TextBox.
S kin Load: s kin xy ra khi Form c np v th hin trn mn hnh.
p dng cho: Form, MDI Form.
S kin LostFocus: s kin xy ra khi Form hoc Control va mt con tr (Form, Control
khc nhn con tr).
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 52
p dng cho: CheckBox, ComboBox, CommandButton, DirListBox, DriveListBox,
FileListBox, Form, Hscrollbar, Vscrollbar, ListBox, OptionButton, PictureBox, TextBox.
S kin Unload: s kin xy ra khi Form c g b khi mn hnh. Ta c th ngt s
kin ny bng cch gn tham s Cancel = -1.
p dng cho: Form, MDI Form.
S kin Terminate: s kin xy ra khi mi tham chiu n Form c gii phng khi
vng nh. S kin ny xy ra sau s kin Unload.
p dng cho: Form, MDI Form.
S kin Resize: s kin xy ra khi Form, PictureBox hin ln u tin hoc b thay i
kch thc.
p dng cho: Form, MDI Form, PictureBox.
S kin Paint: s kin xy ra khi mt phn trn Form hoc ton b Form hoc
PictureBox b thay i ni dung.
p dng cho: Form, PictureBox.
S kin QueryUnload: s kin xy ra trc khi ng dng kt thc v ca s Form cha
ng. S kin ny xy ra trc s kin Unload. Ta c th ngt s kin ny bng cch gn
tham s Cancel mt gi tr <>0.
p dng cho: Form, MDI Form.
S kin MouseDown: s kin xy ra khi ta Click nt chut bt k trn Form hoc
Control.
p dng cho: CheckBox, CommandButton, DirListBox, FileListBox, Form, Frame,
Image, Label, ListBox, MDI Form, OptionButton, PictureBox, TextBox.
S kin MouseUp: s kin xy ra khi ta nh nt chut nhn.
p dng cho: CheckBox, CommandButton, DirListBox, FileListBox, Form, Frame,
Image, Label, ListBox, MDI Form, OptionButton, PictureBox, TextBox.
S kin MouseMove: s kin xy ra khi ta r tr chut trn Form hoc trn Control.
p dng cho: CheckBox, CommandButton, DirListBox, FileListBox, Form, Frame,
Image, Label, ListBox, MDI Form, OptionButton, PictureBox, TextBox.
S kin Change: s kin xy ra khi ta thay i d liu trn Control.
p dng cho: ComboBox, DirListBox, DriveListBox, Hscrollbar, Vscrollbar, Label,
PictureBox, TextBox.
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 53
S kin PartternChange: s kin xy ra khi thuc tnh Parttern ca FileListBox b thay
i.
p dng cho: FileListBox.
S kin PathChange: s kin xy ra khi thuc tnh Path ca FileListBox b thay i.
p dng cho: FileListBox.
S kin Scroll: s kin xy ra khi ngi s dng thay i con chy trn thanh cun.
p dng cho: Hscrollbar, Vscrollbar.
S kin Timer: s kin mt khong thi gian (theo thuc tnh Interval) tri qua.
p dng cho: Timer.
S kin Update: s kin xy ra khi d liu trong OLE b thay i.
p dng cho: OLE.
S kin LinkNotify: s kin xy ra khi chng trnh ng dng, Form, Control thc hin
thay i d liu trong qu trnh DDE nu thuc tnh LinkMode ca Control c quy nh
l 3.
p dng cho: Label, PictureBox, TextBox.
4. Truyn tham s
Mt n v chng trnh con d l hm hay th tc cng thng cn c truyn vo
nhng gi tr cn thit thc hin. Vic truyn cc gi tr cn thit khi gi thc hin mt
chng trnh con nh vy gi l truyn tham s. Ging nh cc ngn ng lp trnh khc,
truyn tham s trong VB cng c hai loi l:
Truyn tham tr
Truyn tham bin
4.1. Truyn tham tr
Trong cch truyn tham tr, ch c bn sao ca tham s thc c truyn cho tham s
hnh thc. Khi y mi thay i gi tr ca tham s hnh thc thc cht ch nh hng n bn
sao c truyn ch khng thay i gi tr ca tham s thc. truyn tham s theo dng tr
chng ta phi dng t kho ByVal trc khai bo cc tham s hnh thc tng ng. V d hm
So_nto() di y s nhn vo mt s nguyn thng qua tham s hnh thc m, kim tra xem
m c phi l s nguyn t hay khng v tr v gi tr True hay False tng ng. Tham s hnh
thc m c khai bo ByVal nn vic truyn tham s khi s dng hm So_nto() s theo dng
truyn tham tr.
Function Songuyento(ByVal m As Long) As Boolean
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 54
Dim i As Integer, n As Integer
If m < 0 Then m = -m 'Kiem tra neu m am
'Kiem tra xem m>0 co phai la so nguyen to
If m = 1 Then
Songuyento = False
Else
n = m \ 2
For i = 2 To n
If (m Mod i = 0) Then Exit For
Next
If i <= n Then
Songuyento = False
Else
Songuyento = True
End If
End Function
4.2. Truyn tham bin
truyn tham s theo dng tham bin chng ta phi dng t kho ByRef trc nhng
khao bo tham s hnh thc cn thit. Mc nhin cc tham s trong VB c truyn theo dng
tham bin, chnh v vy cc tham s hnh thc khng c khai bo vi t kho ByRef hay
ByVal s c truyn theo dng tham bin.
Khi truyn tham bin, mi thao tc trn tham s hnh thc u tc ng trc tip ln tham
s thc. C ngha l khi gi thc hin mt ctrh con c truyn tham bin th cc thay i gtr
trn tham s hnh thc s lm thay i gtr ca tham s thc. V d vi hm Songuyento() trn
y, nu c khai bo l:
Function Songuyento(ByRef m As Long) As Boolean
Dim i As Integer, n As Integer
If m < 0 Then m = -m 'Kiem tra neu m am
'Kiem tra xem m>0 co phai la so nguyen to
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 55
If m = 1 Then
Songuyento = False
Else
n = m \ 2
For i = 2 To n
If (m Mod i = 0) Then Exit For
Next
If i <= n Then
Songuyento = False
Else
Songuyento = True
End If
End Function
Khi , chng ta c th kim tra mt gi tr k c phi s nguyn t hay khng nh sau:
Dim k As Long, kt As Boolean, thongbao As String
k = -6
kt = Songuyento(k)
If kt = True Then
thongbao = str(k) & la so nguyen to
Else
thongbao = str(k) & khong la so nguyen to
End If
MsgBox thongbao
Kt qu thc hin ca cc dng lnh trn y s l 6 khong la so nguyen to thay v -6
khong la so nguyen to. Kt qu ny khng hin th ng gi tr k lc u. l v gi tr
tham s thc k b thay i trong qu trnh thc hin hm Songuyento().
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 56
4.3. Tham s tu chn
Trong th tc hay hm, chng ta c th khai bo mt tham s l tu chn hay bt buc.
Khi mt tham s l tu chn, chng ta c th truyn hay khng truyn gi tr cho n khi gi
thc hin th tc hay hm.
on chng trnh v d tnh gi tr phn s sau s minh ho vic dng tham s tu chn
trong VB:
Function Phanso(p As Integer, Optional q As Integer) As Single
If q = 0 Then
Phanso = p
Else
Phanso = p / q
End If
End Function
Tinh tong hai phan so
Dim a As Single, b As Single, tong As Single
a = Phanso(3)
b = Phanso(2, 3)
tong = a + b
MsgBox tong
Khi khng c truyn gi tr, tham s tu chn s c gi tr mc nhin ca kiu d liu
khai bo. Khi y, nhng tham s tu chn c kiu Variant s c gi tr l rng. Trong trng
hp ny, chng ta c th dng hm IsMissing() xc nh xem mt tham s tu chn kiu
Variant c c truyn gi tr hay khng.
Ngoi ra, trnh gi tr rng i vi nhng tham s tu chn, chng ta c th m t gi
tr mc nhin ca tham s tu chn nh trong hm tnh gi tr phn s c nh ngha li
di y.
Function Phanso(p As Integer, Optional q As Integer = 1) As Single
Phanso = p / q
End Function
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 57
Chng 6
Thit K BIU MU DNG CC IU KHIN
1. Phn loi iu khin
C 3 nhm iu khin trong Visual Basic:
Cc iu khin ni ti (Intrinsic control). Cc iu khin ni ti lun cha sn trong hp
cng c (nhn, khung, nt lnh, khung nh...). Ta khng th g b cc iu khin ni ti ra
khi hp cng c.
Cc iu khin ActiveX tn ti trong cc tp tin c lp c phn m rng .OCX: l
cc iu khin c th c trong mi phin bn ca VB hoc l cc iu khin ch hin din
trong n bn Professional v Enterprise. Mt khc cn c rt nhiu iu khin ActiveX do nh
cung cp th ba cung cp.
Cc i tng chn c (Insertable Object): Cc i tng ny c th l Microsoft
Equation 3.0 hoc bng tnh (Worksheet) ca Microsoft Excel... Mt vi i tng kiu ny
cho php ta lp trnh vi cc i tng sinh ra t cc ng dng khc ngay trong ng dng VB.
2. S dng cc iu khin
2.1. Listbox
2.1.1 Khi nim
iu khin ny hin th mt danh sch cc mc m ngi dng c th chn la
mt hoc nhiu mc
Biu tng (Shortcut) trn hp cng c
iu khin ny hin th mt danh sch cc mc m ngi dng c th chn la
mt hoc nhiu mc
List Box gii thiu vi ngi dng mt danh sch cc la chn. Mt cch mc nh, cc
la chn hin th theo chiu dc trn mt ct v bn c th thit lp l hin th theo nhiu ct.
Nu s lng cc la chn nhiu v khng th hin th ht trong danh sch th mt thanh trt
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 58
s t ng xut hin trn iu khin. Di y l mt v d v danh sch cc la chn n
ct.
2.1.2 Thuc tnh
Name: y l tn ca danh sch la chn, c s dng nh mt nh danh. o
MultiSelect: Thuc tnh ny cho php List Box c c php c nhiu la chn khi thc
thi hay khng?
Sort: List Box c sp xp hay khng? o Ngoi ra cn c mt s thuc tnh thng dng
khc nh: Font, Width, Height
ListIndex: V tr ca phn t c la chn trong List Box.
Select(<Index>): cho bit phn t th <Index> trong List Box c c chn hay khng?
2.1.3 Phng thc
AddItem: Thm mt phn t vo List Box. C php: <Name>.AddIem(Item As String,
[Index])
Private Sub Form_Load ()
List1.AddItem "Germany"
List1.AddItem "India"
List1.AddItem "France"
List1.AddItem "USA"
End Sub
Ngi dng cng c th thm vo mt mc mi mt cch t ng vo bt k thi
im no nhm p li tc ng t pha ngi s dng ng dng. Di y l hnh nh minh
ha cho List Box tng ng vi on m trn.
Thm mt mc mi ti v tr xc nh: thc hin cng vic ny ta ch cn ch ra v
tr cn xen mc mi vo.
V d: List1.AddItem "Japan", 0
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 59
Thm mi mc ti thi im thit k: S dng thuc tnh List ca iu khin List Box,
ta c th thm mi cc mc v dng t hp phm CTRL+ENTER bt u thm vo
mc mi trn dng khc. Khi thm xong danh sch cc mc, ta c th sp xp li cc
mc bng cch s dng thuc tnh Sorted v t gi tr ca thuc tnh ny l TRUE.
RemoveItem: Xa mt phn t ra khi List Box.
C php: <Name>.RemoveItem Index
Tham s Name v Index ging nh trng hp thm vo mt mc.
Clear: Xa tt c cc mc trong List Box. C php <Name>.Clear
Text: Nhn gi tr t List Box khi mt mc c chn. Chng hn on m sau y s
cho bit dn s ca Canada khi ngi dng chn Canada t List Box.
Private Sub List1_Click ()
If List1.Text = "Canada" Then
Text1.Text = "Canada has 24 million people."
End If
End Sub
List: truy xut ni dung phn t bt k trong List Box.
Thuc tnh ny cho php truy xut tt c cc mc ca iu khin List Box. Thuc tnh
ny cha mt mng v mi mc l mt phn t ca mng. Mi mc c hin th di
dng chui, tham chiu n mt mc trong danh sch, s dng c php sau:
<Name>.List(Index)
V d: Text1.Text = List1.List(2)
2.1.4 S kin
Click & Double Click: Xy ra khi ngi s dng nhp chut (hay nhp p) vo List
Box.
Thng thng ngi s dng s thit k mt nt lnh i km nhn v gi tr do ngi
dng chn. Khi cng vic thc hin sau khi nt lnh c chn s ph thuc vo gi tr
ngi dng chn t List Box.
Double Click ln mt mc trong danh sch cng c kt qu tng t nh vic chn
mt mc trong danh sch ri n ln nt lnh. thc hin cng vic nh trn trong s kin
Double Click ca List Box ta s gi n s kin Click ca nt lnh.
Private Sub List1_DblClick ()
Command1_Click
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 60
End Sub
Hoc ta c th thit t gi tr True cho thuc tnh Value ca nt lnh.
Private Sub List1_DblClick ()
mmand1.Value = True
End Sub
2.2. Combobox
iu khin Combo Box c th c xem l tch hp gia hai iu khin Text Box v List
Box. Ngi dng c th chn mt mc bng cch nh chui vn bn vo Combo Box
hoc chn mt mc trong danh sch.
im khc nhau c bn gia Combo Box v List Box l iu khin Combo ch gi (hay
ngh) cc la chn trong khi iu khin List th gii hn cc mc nhp vo tc l
ngi dng ch c th chn nhng mc c trong danh sch. iu khin Combo cha c
nhp liu nn ngi dng c th a vo mt mc khng c sn trong danh sch.
Biu tng (Shortcut) trn hp cng c
Cc dng ca iu khin Combo Box: C tt c 3 dng ca iu khin Combo Box. Ta c
th chn dng ca Combo ti thi im thit k bng cch dng gi tr hoc hng chui ca
VB.
Kiu
Gi tr Hng
Drop-down Combo Box 0
VbComboDropDown
Simple Combo Box 1 VbComboSimple
Drop-down List Box 2 vbComboDropDownList
- Drop-down Combo Box: y l dng mc nhin ca Combo. Ngi dng c th nhp
vo trc tip hoc chn t danh sch cc mc.
- Simple Combo Box: Ta c th hin th nhiu mc cng mt lc. hin th tt c cc
mc, bn cn thit k Combo ln. Mt thanh trt s xut hin khi cn mc cha
c hin th ht. dng ny, ngi dng vn c th nhp mt chui vo trc tip hoc chn
t danh sch cc mc.
- Drop down List Box: Dng ny rt ging nh mt List box. Mt im khc bit l
cc mc s khng hin th n khi no ngi dng Click ln mi tn pha phi ca iu
khin. im khc bit vi dng th 2 l ngi dng khng th nhp vo trc tip mt
chui khng c trong danh sch.
Cc thuc tnh cng nh cc phng thc p dng trn Combo Box ging nh trn List
Box.
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 61
2.3. Checkbox
2.3.1 Khi nim
y l iu khin hin th du nu nh c chn v du b xo nu nh khng chn.
Dng iu khin Check Box nhn thng tin t ngi dng theo dng Yes/No hoc
True/False. Ta cng c th dng nhiu iu khin trong mt nhm hin th nhiu kh nng
la chn trong khi ch c mt c chn. Khi Check Box c chn, n c gi tr 1 v ngc
li c gi tr 0.
Biu tng (Shortcut) trn hp cng c
2.3.2 Thuc tnh
Name: thuc tnh tn.
Value: Gi tr hin thi trn Check Box. C th nhn cc gi tr: vbChecked,
vbUnchecked, vbGrayed.
2.3.3 S kin
Click: Xy ra khi ngi s dng nhp chut trn Check Box.
2.4. Option Button
2.4.1 Khi nim
Cng dng ca iu khin Option button cng tng t nh iu khin Check Box. im
khc nhau ch yu gia hai loi iu khin ny l: Cc Option Button ca cng mt nhm
ti mi thi im ch c mt iu khin nht nh c chn.
Biu tng (Shortcut) trn hp cng c
Cch s dng Option button cng tng t nh ca Check Box.
To nhm Option Button
Tt c cc Option button t trc tip trn biu mu (c ngha l khng thuc vo Frame
hoc Picture Box) s c xem nh l mt nhm. Nu ngi dng mun to mt nhm cc
Option button khc th bt buc phi t chng bn trong phm vi ca mt Frame hoc
Picture box.
2.4.2 Thuc tnh
Name: thuc tnh tn ca iu khin Option Button.
Value: Gi tr hin thi trn Option Button. C th nhn cc gi tr: True & False.
2.4.3 S kin
Click: Xy ra khi ngi s dng nhp chut trn Option Button.
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 62
2.5. Timer
2.5.1 Khi nim
iu khin Timer p ng li s tri i ca thi gian. N c lp vi ngi s dng v ta
c th lp trnh thc hin mt cng vic no c sau mt khong thi gian u nhau.
Biu tng (shortcut) trn hp cng cu
Vic a mt iu khin Timer vo trong mt biu mu cng tng t nh nhng iu
khin khc. y, ta ch c th quan st c v tr ca iu khin Timer ti giai on thit
k, khi chy ng dng iu khin Timer coi nh khng c th hin trn biu mu.
2.5.2 Thuc tnh
Name: tn ca iu khin Timer.
Interval: y l thuc tnh ch r s ms gia hai s kin k tip nhau. Tr khi n b v
hiu ha, mi iu khin Timer s lun nhn c mt s kin sau mt khong thi gian
u nhau. Thuc tnh Interval nhn gi tr trong khong 0...64.767 ms c ngha l khong
thi gian di nht gia hai s kin ch c th l khong mt pht (64.8 giy).
Enabled: nu gi tr l True ngha l iu khin Timer c kch hot v ngc li.
2.5.3 S kin
Timer: xy ra mi khi n thi gian mt s kin c thc hin (xc nh trong thuc
tnh Interval).
2.5.4 S dng iu khin Timer
Khi to mt iu khin Timer: Nu lp trnh vin mun iu khin Timer hot ng
ngay ti thi im biu mu cha n c np th t thuc tnh Enable l TRUE hoc c
th dng mt s kin no t bn ngoi kch hot iu khin Timer.
Lp trnh p ng s kin tr v t iu khin Timer: Ta s a m lnh ca cng
vic cn thc hin vo trong s kin Timer ca iu khin Timer. Sau y l v d khi
to mt ng h s nh vo iu khin Timer.
Private Sub Timer1_Timer()
If Label1.Caption <> CStr(Time) Then Label1.Caption =
Time
End If
End Sub
Thuc tnh Interval c thit lp l 500 (tc 0.5 giy). iu khin Timer cn hu ch
trong vic tnh ton thi gian cho mt cng vic no , n mt thi im no th ta s
khi to mt cng vic mi hoc ngng mt cng vic khng cn cn na.
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 63
2.6. Hscroll
2.6.1 Khi nim
L iu khin c thanh trt cho php cun ngang v ngi dng c th s dng
HScrollBar nh mt thit b nhp hoc mt thit b ch nh cho s lng hoc vn tc. V d
ta thit k volume cho mt tr chi trn my tnh hoc din t c bao nhiu thi gian tri
qua trong mt khong nh thi nht nh.
Biu tng (Shortcut) trn hp cng c
Khi ngi dng s dng Scroll Bar nh mt thit b ch nh s lng th ngi dng cn
xc nh gi tr cho hai thuc tnh Max v Min a ra khong thay i thch hp.
2.6.2 Thuc tnh
Name: Tn ca thanh cun.
Min: L gi tr nh nht trn thanh cun.
Max: Gi tr ln nht ca thanh cun.
Large change: Thuc tnh ny dng xc nh khong thay i khi ngi dng n chut
ln Hscrollbar.
Small change: Thuc tnh ny dng xc nh khong thay i khi ngi dng n ln
mi tn pha cui thanh cun.
Value: Thuc tnh ny tr v gi tr ti mt thi im ca thanh cun nm trong khong
gi tr [Min, Max] m ngi dng xc nh.
2.6.3 S kin
Change: Xy ra mi khi HScrollBar thay i gi tr.
Scroll: Xy ra mi khi ta di chuyn con tr thanh cun.
Private Sub HScroll1_Change()
Text1.FontSize = HScroll1.Value
End Sub
2.7. Vscroll
Biu tng (Shortcut) trn hp cng c
Cc thuc tnh v cng dng ca VScrollBar cng tng t nh HScrollBar.
2.8. Picture Box
2.8.1 Khi nim
iu khin Picture Box cho php ngi dng hin th hnh nh ln mt biu mu.
Biu tng (Shortcut) trn hp cng c
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 64
2.8.2 Thuc tnh
Name: tn ca iu khin Picture Box.
Picture: y l thuc tnh cho php xc nh hnh nh no s c hin th bn trong
Picture box. Bao gm tn tp tin hnh nh v c ng dn nu c.
hin th hoc thay th mt hnh nh ti thi im chy chng trnh th ngi dng c
th dng phng thc LoadPicture t li gi tr ca thuc tnh Picture vi c php nh
trong v d di y:
picMain.Picture = LoadPicture("NEW.JPG")
Autosize: Khi gi tr ca thuc tnh ny l TRUE th iu khin Picture box s t ng
thay i kch thc cho ph hp vi hnh nh c hin th. Ta nn cn thn khi s dng
thuc tnh ny v khi iu khin Picture Box thay i kch thc, n khng quan tm
n v tr ca cc iu khin khc.
2.8.3 S kin
Mouse Down: Xy ra khi ngi s dng chng trnh nhn gi phm chut.
Mouse Move: Xy ra khi ngi s dng chng trnh di chuyn chut.
Mouse Up: Xy ra khi ngi s dng chng trnh th phm chut.
Lu :
iu khin Picture Box c th c dng nh mt vt cha cc iu khin khc
(tng t nh mt Frame).
Ngoi ra ngi dng cng c th s dng Picture Box nh mt khung v hoc nh
mt khung son tho v c th in c ni dung trn .
2.9. Image
2.9.1 Khi nim
iu khin Image dng hin th mt hnh nh. Cc dng c th l Bitmap, Icon,
Metafile, Jpeg, Gif. Tuy nhin khc vi iu khin Picture Box iu khin Image s dng ti
nguyn h thng t v cng np nh nhanh hn; hn na s lng thuc tnh v phng thc
p dng t hn iu khin Picture box.
Biu tng Shortcut trn hp cng c
2.9.2 Thuc tnh
Name: tn ca iu khin Image.
Picture: y l thuc tnh cho php xc nh hnh nh no s c hin th bn trong iu
khin Image. Bao gm tn tp tin hnh nh v c ng dn nu c.
Trng i hc Cng Ngh Si Gn Khoa Cng Ngh Thng Tin
Gio trnh Lp trnh cn bn dnh cho h TCCN Trang 65
hin th hoc thay th mt hnh nh ti thi im chy chng trnh th ngi dng c
th dng phng thc LoadPicture t li gi tr ca thuc tnh Picture vi c php nh
trong v d di y:
imgMain.Picture = LoadPicture("NEW.JPG")
Stretch: Khi gi tr ca thuc tnh ny l TRUE th iu khin Image s t ng thay i
kch thc cho ph hp vi hnh nh c hin th.
2.9.3 S kin
Mouse Down: Xy ra khi ngi s dng chng trnh nhn gi phm chut.
Mouse Move: Xy ra khi ngi s dng chng trnh di chuyn chut.
Mouse Up: Xy ra khi ngi s dng chng trnh th phm chut.
2.10. Shape
Biu tng Shortcut trn hp cng cu
iu khin Shape dng v cc hnh dng nh: hnh ch nht, hnh vung, oval, hnh
trn, hnh ch nht gc trn hoc hnh vung gc trn.
Thuc tnh Shape cho php ngi dng chn 1 trong 6 dng nh nu trn. Sau y l
bng gi tr ca thuc tnh ny
Hnh dng Gi tr Hng
Rectangle 0 vbShapeRectangle
Square 1 vbShapeSquare
Oval 2 vbShapeOval
Circle 3 vbShapeCircle
Rounded Rectangle 4 vbShapeRoundedRectangle
Rounded Square 5 vbShapeRoundedSquare

You might also like