Giao Trinh Visual Basic

Embed Size (px)

Citation preview

TRNG CAO NG K THUT CAO THNG KHOA IN T TIN HC

GIO TRNH

LP TRNH

VISUAL BASIC

Trang 1/286

Gio trnh Visual Basic

LI M UK thut lp trnh l mn hc c s cho sinh vin chuyn cng ngh thng tin v cng l kin thc m sinh vin khi khng chuyn tin hc cn phi bit, t bit l cc chuyn ngnh k thut: in, in t, t ng ha, c kh Kin thc k thut lp trnh hin ang c ging dy cho tt c sinh vin cao ng, trung cp cc khi khng chuyn cng ngh thng tin ti nhiu trng Cao ng i Hc Trong qu trnh hc mn hc ny, sinh vin ngoi vic hc v k thut lp trnh cn phi hc cch s dng mt ngn ng lp trnh c th, v y l Visual Basic. Qua nhiu bi thc hnh hng dn chi tit, gio trnh hng dn cch s dng ngn ng lp trnh Microsoft Visual Basic, mt ngn ng lp trnh trc quan, mnh m, ang c s dng rt nhiu ti nc ta. Microsoft Visual Basic hin l ngn ng gip ch rt nhiu cho cc nhn vin vn phng s dng nhng phn mm ca Microsoft Office nh WinWord, MS Excel, MS Access. Trong qu trnh ging dy v bin son gio trnh ny, chng ti nhn c nhiu ng gp qu bu ca cc ng nghip B mn Tin hc - khoa in t Tin hc. Chng ti xin cm n v hy vng rng gio trnh ny s gip cho vic ging dy v hc tp ca tp th gio vin v hc sinh ngy mt tt hn. Chng ti hy vng nhn c nhiu kin ng gp gio trnh ngy cng hon thin. TP H Ch Minh, ngy 09 thng 12 nm 2007 Nguyn Vn Hng (ch bin) v cc gio vin dy mn K thut lp trnh.

Trang 2/286

Gio trnh Visual Basic

MC LCCHNG 1: GII THIU VISUAL BASIC .............................11 1. 2. 3. 4. Lp Trnh Trn Windows ........................................................11 Cc Control Chun Ca Windows ..........................................12 Gii Thiu Visual Basic ............................................................13 Mn Hnh Lm Vic Ca Visual Basic ...................................14 Toolbox ...........................................................................................15 Project Explorer ..............................................................................15 Properties Windows ........................................................................16 Ca s Form....................................................................................17 Ca s Code Edittor........................................................................20 Ca s Form Layout .......................................................................22 thit k giao din nhanh chng..................................................22 Cu trc chng trnh Visual Basic........................................23 Cc Thao Tc C Bn Vi Project ..........................................24 Cc control c bn ca Visual Basic .......................................25 To v thc thi chng trnh u tin ....................................25 Bi tp ........................................................................................27

5. 6. 7. 8. 9.

CHNG 2: CC CONTROL C BN .................................29 1. i Tng ..................................................................................29 c im ca i tng ..................................................................29

Trang 3/286

Gio trnh Visual Basic

2. 3. 4. 5. 6. 7. 8.

i Tng Form........................................................................30 i Tng Label .......................................................................32 i Tng Textbox ...................................................................34 i Tng Commandbutton....................................................36 Vit Lnh Cho i Tng ........................................................36 Mt S Lnh C Bn ................................................................38 Bi tp thc hnh 1...................................................................39 Thit k Form..................................................................................40 Vit lnh cho chng trnh .............................................................40 Bi tp thc hnh 2...................................................................43 Frame .....................................................................................44 Image ......................................................................................45 Line.........................................................................................46 Shape ......................................................................................47 Bi Tp ...................................................................................48

9. 10. 11. 12. 13. 14.

CHNG 3: BIN HNG CU TRC LNH...................53 1. 2. 3. Cc Kiu D Liu Trong Vb....................................................53 Bin (Variable) ..........................................................................54 Hng ...........................................................................................58

Trang 4/286

Gio trnh Visual Basic

4. 5.

Cc Php Ton ..........................................................................58 Cc Hm C Bn Ca Vb ........................................................60 Cc hm ton hc............................................................................60 Hm to s ngu nhin (random)....................................................61 Hm x l chui.............................................................................61 Hm kim tra gi tr ........................................................................62 Hm k t........................................................................................62 Hm mu sc...................................................................................63 Hm nhp d liu inputbox.............................................................63 Hm to hp thng bo msgbox .....................................................64 Cc Cu Trc Lnh ..................................................................68 A. Cu trc r nhnh If Select case..............................................68 Bi tp thc hnh If ..................................................................75 Thit k giao din............................................................................75 Vit code cho chng trnh.............................................................75 B. Cu Trc Lp For While Do While......................................78 Check Box ..................................................................................89 Option Button............................................................................90 ListBox ...................................................................................93 Combo Box ............................................................................98 Bi Tp .................................................................................104

6.

7.

8. 9. 10. 11. 12.

CHNG 4: TH TC .........................................................111 1. Hm Format ............................................................................111

Trang 5/286

Gio trnh Visual Basic

2. 3.

Th Tc Hm .......................................................................112 Mng.........................................................................................119 Mng tnh 1 chiu .........................................................................119 Mng nhiu chiu tnh...................................................................123 Mng ng ....................................................................................125 Cc Thut Ton C Bn.........................................................128 Cng dn .......................................................................................128 Cng dn theo iu kin ...............................................................129 Tm kim tun t...........................................................................130 Tm phn t nh nht ln nht...................................................131 Sp xp mng ................................................................................132 S Dng Mt S Hm X L Chui .....................................133 G Ri Chng Trnh ............................................................138 In n.........................................................................................139 Mng i Tng .....................................................................140 i Tng Timer ....................................................................142 Bi tp ..................................................................................145

4.

5. 6. 7. 8. 9. 10.

CHNG 5: CHNG TRNH NHIU FORM .....................157 1. Chng Trnh Nhiu Form....................................................157 Thm Form vo project.................................................................157 Qun l Project........................................................................159 3. Vn s dng bin, th tc v i tng c trong cc Form 159 4. Quy nh Form thc hin trc.................................................161 Trang 6/286 Gio trnh Visual Basic

2.

5. Hin Form ln mn hnh ...........................................................161 3. 4. 5. 6. 7. 8. FORM MDI (Multi Document Interface)............................166 Splash Screen...........................................................................168 To Menu Cho Mt Form ......................................................171 End Sub....................................................................................174 Cc Hm V D Liu Ngy Gi ............................................177 Bi tp ......................................................................................178

CHNG 6: S KIN PHM ...............................................183 1. 2. 3. 4. 5. Cc S Kin Phm ...................................................................183 S Kin Mouse ........................................................................186 X L Li Run Time Error....................................................190 Common Dialog.......................................................................192 Bi tp ......................................................................................198 PHN NNG CAO.......................................199

CHNG 7: 1. 2. 3. 4.

Windows Common Control ...................................................199 ImageList .................................................................................199 Toolbar.....................................................................................202 Updown control .......................................................................207

Trang 7/286

Gio trnh Visual Basic

5. 6.

Slider ........................................................................................208 Lm vic vi tp tin (file) .......................................................208

CHNG 8: TY BIN MI TRNG IDE CA VISUAL BASIC....................................................................................211 1. 2. 3. 4. Danh sch cc Prefix c ngh nn s dng..................211 ng Nhng Ca S Ph .......................................................211 S dng Toolbar Standard.....................................................213 S Dng Short Cut (Phm Tt) Ca Vb Hin Th Cc Ca S 214 Th Ni Cc Ca S................................................................214 S Dng Edit Toolbar.............................................................215 Thay i Cc Xc Lp Ca Mi Trng VB.......................216 S Dng Shortcuts (Phm Tt) Khi Son Tho Code..........219 Tch Ca S Son Tho .........................................................221 Ko V Th ..........................................................................222 To Nhiu i Tng Nhanh.............................................222 S Dng Form Editor Toolbar ..........................................222 iu Chnh i Tng Bng phm....................................223 S Dng Colot Palette chn mu..................................224

5. 6. 7. 8. 9. 10. 11. 12. 13. 14.

Trang 8/286

Gio trnh Visual Basic

15. 16. 17. 18.

S Dng Shortcuts Thc Thi Mt Project ..................224 S Dng Object Brower .....................................................225 S dng t kha With ........................................................228 S Dng gip (Help)......................................................228

PH LC 1: CI T VISUAL BASIC .................................229 PH LC 2: BI TP LUYN TP ......................................237 1. 2. Bi tp tng hp ......................................................................237 thi trc nghim...................................................................245

TI LIU THAM KHO .........................................................286

Trang 9/286

Gio trnh Visual Basic

Trang 10/286

Gio trnh Visual Basic

CHNG 1: GII THIU VISUAL BASIC

NI DUNG GII THIU V NGN NG VISUAL BASIC MI TRNG IDE CA VISUAL BASIC VIT CHNG TRNH U TIN

1.

Lp Trnh Trn Windows

Khi vit chng trnh trn Windows ngha l chng ta to ra mt ng dng c thc thi trong h iu hnh Microsoft Windows. Trong Microsoft Windows, mt ng dng thng c hin th dng ca s (Window) m t gc nhn ca ngi lp trnh Viual Basic, ngi ta gi l FORM.

Trn ca s ca ng dng c cc iu khin (control) giao tip vi ngi s dng. Cc tc ng ca ngi s dng ln ca s hay cc iu khin tng ng s c mt on chng trnh c thc hin p tr li s kin . V d: Giao din mt chng trnh lm ton n gin

Trang 11/286

Gio trnh Visual Basic

2.

Cc Control Chun Ca Windows

Command button

Check box Option button Label v Text box

List box v Combo box

Frame

Thanh cun ngang dc (Hscrollbar, Vscrollbar) Image - Picturebox

Ngai ra cn nhiu control khc s dng trn mi trng Windows m chng ta s ln lt kho st sau ny.

Trang 12/286

Gio trnh Visual Basic

3.

Gii Thiu Visual Basic

Visual Basic (vit tt VB) l mt ngn ng lp trnh hng s kin (event-driven) trn mi trng pht trin tch hp (IDE) c pht trin bi hng phn mm Microsoft. Visual Basic c nng cp qua nhiu phin bn v hin nay l Visual Basic.NET. Visual Basic bt ngun phn ln t ngn ng BASIC v gip lp trnh vin pht trin cc giao din ha (GUI) theo m hnh pht trin ng dng nhanh (Rapid Application Development, RAD); truy cp cc c s d liu dng DAO (Data Access Objects), RDO (Remote Data Objects), hay ADO (ActiveX Data Objects); v lp cc iu khin v i tng ActiveX. IDE ca VB l ni tp trung cc menu, thanh cng c v ca s to ra chng trnh. Thanh menu cho php bn tc ng cng nh qun l trc tip trn ton b ng dng. Thanh cng c cho php truy cp cc chc nng ca thanh menu qua cc nt trn thanh cng c. Mt lp trnh vin c th pht trin ng dng dng cc thnh phn (component) c sn trong Visual Basic. Cc chng trnh bng Visual Basic cng c th gi v s dng Windows API. Mt lp trnh vin c th pht trin ng dng dng cc component c sn trong Visual Basic. VB cung cp cho ta nhng iu khin (control) cn thit to giao din chng trnh nhanh chng. Visual Basic c s dng rt nhiu trong lnh vc lp trnh thng mi. Trong gio trnh ny s dng phin bn Visual Basic 6.0 Profressional. Hng dn cch ci t Visual Basic t b Visual Studio 98 c ti phn ph lc ca gio trnh ny.

Trang 13/286

Gio trnh Visual Basic

4.

Mn Hnh Lm Vic Ca Visual Basic

Giao din u tin ca chng trnh cho php chng ta chn lai ng dng. Vi yu cu ca mn hc ny, chng ta chn lai Standard Exe.

Sau khi khi ng Starndard ExE ca VB, giao din chnh ca chng trnh nh sau (giao din trn my ca bn s thay i ty thuc cc thit lp ca IDE).

Trang 14/286

Gio trnh Visual Basic

ToolboxCha cc i tng c th t ln Form. Chng ta click chut chn iu khin, sau to ra trn Form. Hoc c th bm double click, control s t ng a ln Form. bt tt toolbox, chng ta dng nt lnh trn thanh cng c.

Project ExplorerCha thng tin v chng trnh: cc Form, Module, class trong project. T ca s ny chng ta di chuyn n cc thnh phn trong chng trnh bng cch double click chut vo Form hoc module

Trang 15/286

Gio trnh Visual Basic

bt hay tt ca s Project Explorer, s dng phm tt: Ctrl+R hoc dng nt trn thanh toolbar.

Properties WindowsDng hin th v thit lp cc thuc tnh (property) ca Form hoc ca cc control c trn Form lc thit k. Thuc tnh ca mt i tng l cc tnh cht, c im m t i tng ny. Cc control mi to ra u c gi tr thuc tnh c ly mc nh (default) hoc k tha t control cha n.

Trn ca s properties gm hai ct: Danh sch thuc tnh Gi tr ca thuc tnh

thit lp thuc tnh cho mt i tng: Chn i tng trn Form bng cch click chut Click chut vo ct gi tr ca thuc tnh cn t trn ca s thuc tnh, sau chn hoc nhp gi tr cho thuc tnh.

Mt s thuc tnh thng dng nn nh: Trang 16/286 Gio trnh Visual Basic

Backcolor: mu nn ca i tng Caption: tiu , y l ni dung hin th ln trn i tng. Enabled: cho php hay cm i tng hat ng. Font: thit lp v font ch ca i tng Forecolor: mu ca cc k hiu xut hin trn i tng Height: chiu cao ca i tng Left: khong cch tnh t cnh tri ca Form (hay control cha i tng ) Name: tn ca i tng (khc vi caption). Top: khong cch tnh t cnh pha trn ca Form hay control cha i tng Visible: cho php i tng hin th hay khng thi im run-time Width: chiu di ca i tng

Ca s Form

y l ni thit k giao din ca chng trnh. Chng ta thit k giao din bng cch a i tng ln Form. m ca s Form Desiner, chng ta thc hin bng nhiu cch: Trang 17/286 Gio trnh Visual Basic

T ca s Project Explorer, bm Double Click vo Form thit k T ca s code, bm phm Shift+F7 Bm vo nt View Code trn ca s Project Explrer

chn mt i tng trn Form: Dng chut r v chn nhm i tng Gi phm Ctrol v click chut nht v chn cc i tng di chuyn i tng trn Form Dng chut r cc i tng n v tr cn thit. Chn i tng v di chuyn bng cc phm mi tn: xa i tng trn Form Chn i tng hay nhm i tng v bm phm delete. iu chnh kch thc i tng a chut vo cc nt vung bao xung quanh i tng v r chut thay i kch thc. thay i kch thc, v tr ca nhm i tng, chng ta c th s dng menu Align ging hng v iu chnh kch thc.

Trang 18/286

Gio trnh Visual Basic

Chn menu Formmat -> Align thc hin ging hng i tng: theo left, center, right, top.

Chn menu Formmat -> Make Same Size nh dng cc i tng c cng kch c theo: chiu di (width), chiu cao (Height) hay c 2 (Both)

Trang 19/286

Gio trnh Visual Basic

Chn menu Formmat -> Horizontal Spacing (hoc Vertical Spacing) khi mun nh dng khang cch gia cc i tng.

Ca s Code EdittorCa s ny dng vit lnh (code) cho chng trnh.

m ca s Code Edittor, chng ta thc hin bng nhiu cch: T ca s Form, bm Double Click vo i tng cn vit code Trang 20/286 Gio trnh Visual Basic

T ca s Form, bm phm F7 Bm vo nt View Code trn ca s Project Explrer

Trong ca s code, chng ta thy c 2 hp chn: i tng (Control) S kin (Event) xy ra trn i tng

Trang 21/286

Gio trnh Visual Basic

Ca s Form LayoutDng xc nh v tr cc ca s khi thc thi chng trnh. t bit khi chng trnh c nhiu ca s (Form), vic xc nh v tr trc quan ca ca s l rt quan trng. Chng ta ch vic ko th cc Form (Form1, Form2) xc nh v tr ca chng trn mn hnh.

thit k giao din nhanh chngNu trn Form c nhiu i tng cng loi v c thuc tnh ging nhau th chng ta to mt i tng v nh dng trc cc thuc tnh, sau sao chp ra thnh nhiu i tng khc bng phm tt Ctrl+C (copy) v Ctrl+V (Paste). Ngay khi copy paste, chng trnh s hi:

Chn No khng to mng i tng. Ch khi no cc bn hc mng i tng mi chn yes

Trang 22/286

Gio trnh Visual Basic

Nu c nhiu i tng mun nh dng ging nhau trn mt thuc tnh no th chn cc i ny cng lc ri tin hnh nh dng. S dng cc chc nng canh l, nh kch thc do VB cung cp, khi nhng thuc tnh ny ca nhiu i tng c lin quan vi nhau. Nn thit lp thuc tnh cho Form (hay i tng cha) nh mu ch, font ch trc, sau mi t control ln trn. Lm nh vy control k tha cc thit lp ca cc thuc tnh ny, v chng ta khng mt th gi chn cho tng control. 5. Cu trc chng trnh Visual Basic

Hai bc chnh khi xy dng mt chng trnh trn VB l: Thit k giao din: Thit k Form v b tr cc i tng c trn Form Vit lnh: Vit cc on m iu khin Form v cc control ng vi mi s kin xy ra. Khi thc hin hai bc ny gi l lp mt d n (project). Mi project khi lu ln da c th c nhiu tp tin. File *.vbp : file project ca chng trnh. Chng ta m chng trnh t file ny File *.frm: file Form cha giao din ca chng trnh File *.bas: cha module cua chng trnh File *.cls: cha class ca chng trnh V ngai ra cn nhiu lai file khc na (file resource, file temp) Trang 23/286 Gio trnh Visual Basic

Do trc khi lp mt project ta nn to mt folder trn da lu project. Khi chp chng trnh, chng ta chp ton b folder ny. Ch : Mi bi tp c lu trong mt folder

6.

Cc Thao Tc C Bn Vi Project

M mt project mi: File > New project > standard EXE > OK M mt project c: File Open project Xc nh ni lu tr project sau chn tn project mun m > OK Chy chng trnh: Bm phm F5 hoc Dng chng trnh Dng nt lnh ng mt project ang m: File remove project Lu project: File Save project

Trang 24/286

Gio trnh Visual Basic

7. Cc control c bn ca Visual Basic Visual Basic cha nhiu control, nhng trong ni dung ca mn hc ny chng ta ch tp trung vo cc control c bn.

8. To v thc thi chng trnh u tin

To project mi vi giao din nh sau: (Xem hnh) t tn (thuc tnh Name) cho cc nt lnh ln lt l Cmd1, Cmd2Cmd9, Cmd0, Cmdcong, Cmftru, cmdnhn, CmdChia, CmdBang. thay i name ca cc control, chng ta m ca s Properties, sau chn tng control mt, v i Name.

Nhp thuc tnh Caption ca cc button l cc gi tr tng ng. t tn cho textbox Trang 25/286 Gio trnh Visual Basic

l txtketqua. Nhp thuc tnh text ca textbox l rng Bm F5 thc thi chng trnh. Dng chng trnh Double click vo nt lnh CmdBang hin th ca s code. Nhp lnh nh hnh di. Bm F5 thc thi chng trnh. Bm vo nt = (CmdBang) v xem xt hp thoi hin th trn mn hnh.

Trang 26/286

Gio trnh Visual Basic

9.

Bi tp

1. Thc hin cc yu cu sau: To Project. EXE. Tt / m cc thnh phn ca VB: ToolBox, Form, Project Explorer, Code Windows, Properties Window. Lu Project vi tn BaiTap1 trong th mc BaiTap1 M Project v thc thi chng trnh 2. Thit k giao din cho chng trnh nh sau: Lu : Mi bi tp nn to trn da mt folder lu nhng tp tin project, Form.. ca bi tp . Hy to mt Form c dng sau: (trong bi tp ny ta cha cn quan tm n tn ca cc i tng, v vy c ly tn mc nhin.) Sau khi thit k xong hy lu ln da vi tn tp tin project l bt1_chuong1 ri cho thc hin chng trnh th.

3. Hy to cc Form c dng sau: Trang 27/286 Gio trnh Visual Basic

Trong bi tp ny ta cha cn quan tm n tn ca cc i tng, v vy c ly tn mc nhin. Sau khi thit k xong hy lu ln da vi tn tp tin project l Bai3_chuong1 ri cho thc hin chng trnh th. Bi tp ny nhm rn luyn cc thao tc sao chp, di chuyn, k nng s dng cc cng c nh dng i tng: Align Make same size Horizontal spacing Vertical spacing Lock controls

Trang 28/286

Gio trnh Visual Basic

CHNG 2: CC CONTROL C BNNI DUNG I TNG V CCH S DNG CC CONTROL C BN: FORM LABEL TEXTBOX COMMAND BUTTON FRAME - SHAPE LINE IMAGE MT S LNH C BN LP TRNH TNG TC VI CC CONTROL

1.

i Tng

VB l mt ngn ng lp trnh hng i tng nn lm vic trn VB chnh l lm vic trn cc i tng. Mi chng trnh trn VB c nhiu i tng, mi i tng dng th hin mt yu t no trong chng trnh.

c im ca i tngMi i tng c mt tn (Name) phn bit v trong chng trnh dng tn ny truy xut n i tng. C th dng ch ci, ch s, _ t tn cho i tng v phi bt u bng mt ch ci. Tn di ti a 40 k t. Khng cha khong trng v cc du chm cu. Khng trng tn vi t kha. Tn i tng khng phn bit ch hoa hay ch thng.

Tuy nhin cho d qun l v thun li khi vit chng trnh, ngi ta xut cch t tn nh sau: Lun lun bt u bng 3 ch Trang 29/286 Gio trnh Visual Basic

ci thng cho bit loi i tng (gi l prefix.) v d nh cmd, lbl, frm, txt. Danh sch Prefix c m t cc phn sau.

Mi i tng c nhiu thuc tnh. Cc thuc tnh c th thay i trn ca s properties lc thit k (design time) hoc bng chng trnh lc thc thi (run time). Mi i tng u c cc hot ng c gi l phng thc (method). Khi mt chng trnh c thc hin mi i tng nhn c cc s kin (Event) tc ng ln n (chng hn nh click, doudvle click, right click..). Chng ta vit lnh trong cc event ny x l trc cc s kin nhn vo. Trong cc on m lnh ca chng trnh truy xut n cc thuc tnh, cc phng thc ca i tng ngi ta dng tn ca i tng km theo tn ca thuc tnh hoc phng thc theo c php: . o V d: txt_hoten.text=DurianGroup 2. i Tng Form

Form l mt i tng c s ca chng trnh. Hu nh mi chng trnh u bt u t mt Form. i tng ny c nhiu property v method. Chng ta s tm hiu tc dng ca mt gi tr trn cc thuc tnh c bn: Caption: t tiu cho Form. Name: tn ca Form, t 3 k t u l Frm Borderstyle: Quy nh kiu khung cho Form Trang 30/286 Gio trnh Visual Basic

o 0-none: Khng c khung, km theo khng c control menubox, Maximize box, minimize box, khng hin tiu v khng th thay i kch thc khi chng trnh thc hin. o 1-Fix single: Khung n, c control menu box, khng thay i kch thc c. o 2-Sizable: C y cc yu t Control menu box, maximize, minimize box, tiu , khung kp v c th thay i kch thc c. o 3-Fixed dialog: Ca s dng hp thoi, c tiu , control menu box, khng thay i kch thc o 4-FixtoolWindow: Ging Fixed single nhng tiu v control menu box c kch thc nh. o 5-Sizable ToolWindow: Ging FixTollWindow nhng kch thc c th thay i c. ConttrolBox: Nu t l True th Form s c menu control box, d nhin n cn ph thuc vo loi border chn. Nu t l false th khng c menu control box, Maximize, Minimize button. Maxbutton: Nu t l True th Form s c nt maximize, d nhin n cn ph thuc vo gi tr ca controlbox chn. Nu t l false th khng c nt Maximize Minbutton: Nu t l True th Form s c nt minimize, d nhin n cn ph thuc vo gi tr ca controlbox chn. Nu t l false th khng c nt minimize

Trang 31/286

Gio trnh Visual Basic

Icon: Quy nh biu tung i din cho Form khi Form trng thi minimize. Thuc tnh ny cng ph thuc vo gi tr ca thuc tnh controlbox Picture: t mt hnh ln nn ca Form, c th l nhng loi :BMP, DIB, GIF, JPG, ICO,CUR Mun xa hnh t trn Form ch cn xa ni dung ang c trn dng ny (bm phm Delete ti hng Picture trong ca s Properties). ShowInTaskbar: Nu t l true th tn ca ca s c hin ln taskbar, ngc li th khng WindowState: Quy nh trng thi ca ca s khi Form va c m (chng trnh thc hin), thuc tnh ny c gi tr s: o 0: Ca s c kch thc ging nh lc thit k. o 1: Hin ca s ch cc tiu o 2: Hin ca s ch cc i 3. i Tng Label

i tng ny dng hin mt cu vn bn trn Form, ni dung cu vn bn ny khng th thay i bi ngi s dng trong qu trnh chng trnh thc hin. Nu mun hin th thng tin m khng cho php ngi s dng nhp, th chng ta s dng Label.

Cc thuc tnh c bn ca Label Name: tn ca Label, t 3 k t u l Lbl Caption: Ni dung hin trn i tng ny Trang 32/286 Gio trnh Visual Basic

Font: Quy nh font ch cho ni dung hin trnllabel Aligment: Canh l cho ni dung hin trn label Backcolor: Mu nn ca i tng BorderStyle: Khung vin Forecolor: Mu ca ch Backstyle: Quy nh cch th hin nn ca label o 0-Transparent: Nn trong sut, khng b nh hng bi backcolor o 1-Opaque: Nn c th hin bi gi quy nh trong backcolor Autosize: Nu t bng true th kch thc label t ng co gin va vi ni dung. Ngc li t bng false th phi iu chnh bng tay Wordwrap: Nu t bng true th t ng xung dng di khi ng l phi ca label. Ngc li t bng false th ni dung c th b che khut di hn chiu di ca label. Appearance: c 2 gi tr (3D Flat): cho php hin th dng phng hay 3D Left: v tr tnh t bn tri control cha n Top: v tr tnh t nh control cha n Height: chiu cao Width: chiu di Visible: (True/False) cho php i tng c c hin th hay khng thi im run-time S kin (Event) c bn hay s dng ca Label Trang 33/286 Gio trnh Visual Basic

Label_Click: xy ra khi ngi s dng click chut trn Label

4.

i Tng Textbox

ny cho php nhp v th hin i tng Textbox mt ni dung no dng chui. Khi chng trnh mun nhn d liu c nhp bi ngi s dng, chng ta c th s dng Textbox.

Cc thuc tnh c bn ca Textbox: Name: tn textbox, t 3 k t u l Txt Text: Ni dung cha trong teXtbox Maxlength: Chiu di ti a ca ni dung th hin trong textbox Enable: cho php textbox c nhn s kin, chnh sa ni dung. Font: cc thit lp v font Trang 34/286 Gio trnh Visual Basic

Aligment: ging Label Backcolor: ging Label Forecolor: ging Label Appearance: ging Label BorderStyle: ging Label Left: v tr tnh t bn tri control cha n Top: v tr tnh t nh control cha n Height: chiu cao Width: chiu di Visible: (True/False) cho php i tng c c hin th hay khng lc run-time S kin (Event) c bn ca Textbox Text_Change: xy ra khi ni dung ca textbox b thay i Text_Click: xy ra khi ngi s dng click chut trn textbox Text_DblClick: xy ra khi ngi s dng double click chut trn textbox

Trang 35/286

Gio trnh Visual Basic

5.

i Tng Commandbutton

L nt lnh khi mun chung trnh thc hin mt x l no da trn xc nhn ca ngui s dng. Ngi s dng click chut, v nt lnh c tc ng.

Ngoi cc thuc tnh tng t nh Label, Textbox m t trn, thuc tnh c bn ca command button quan trng c s dng nhiu nht l: Caption: ni dung s th hin trn nt lnh. Name: tn command button, t 3 k t u l Cmd Visible: (True/False) cho php i tng c c hin th hay khng lc run-time Enabled: Cho php button c hat ng (sng/m) hay khng S kin c bn hay s dng ca command button Click: xy ra khi ngi s dng Click chut trn command button

6.

Vit Lnh Cho i Tng

Khi ta t mt i tng ln Form th i tng ny vn cha hot ng, bi ta cha quy nh cho n phi lm g thng qua cc lnh. Trang 36/286 Gio trnh Visual Basic

Chng ta c th quy nh cc phn ng cho i tng ty thuc vo s kin xy ra trn bn thn i tng , v vy truc khi vit lnh cn ch hai vic: Xc nh s kin no trn i tng no s gy ra cc x l Vit nhng lnh g thc hin x l Cc bc vit lnh cho i tng: Trn mn hnh thit k, double click vo i tng mun vit lnh, khi ca s vit lnh s xut hin.

Chn s kin m ta mun vit lnh. Khi hai dng (tn hm s kin v dng kt thc ca th tc) tng ng ca s kin xut hin. Vit cc lnh vo gia hai dng va xut hin. Mi lnh vit trn mt dng. Nu lnh qu di mun ngt dng th mt khong trng v du _ cui dng trn. VB c ch h tr cho ngi lp trnh lc nhp m lnh: V d: Khi cn truy xut n mt thuc tnh hay phng thc no ca mt i tng ta g tn i tng ri g Trang 37/286 Gio trnh Visual Basic

ri du chm, lc ny mt danh sch cc thuc tnh v phng thc ca i tng ny hin ln ta bm tip cc k t u ca thuc tnh/s kin m ta cn ri bm phm Tab hay CtrlEnter hay Double click. Trong trng hp danh sch ny khng hin ln th phi xem li c th ta vit tn i tng sai. Nu thuc tnh m ta cn khng c trong danh sch th c ngha l thuc tnh ny khng th thay i c bng chng trnh Lu 1: Khi vit lnh cho cc i tng th k t lc ta khng nn thay i gi tr thuc tnh name ca i tng, v khi cc lnh s dng tn c ca i tng s khng hiu c i tng ny. Do , nn t tn cho cc i tng trc, ri sau mi bt u vit Code. Lu 2: Khng sa i trn hai dng tiu v dng kt thc. 7. Mt S Lnh C Bn Lnh End: Dng chm dt mt chng trnh VB ang thc hin.

Trang 38/286

Gio trnh Visual Basic

Lnh gn: K hiu =, lnh ny c cng dng gn gi tr vo bin hoc gn gi tr mi vo mt thuc tnh ca i tng. Lnh Val: chuyn t chui sang s. Chi tit v kiu d liu s c cp cc bi sau. 8. Bi tp thc hnh 1

Thit mt Form v vit chng trnh cho from hot ng nh sau:

Trn Form c mt textbox c t tn txt_mess, ni dung ban u l rng. Font ch ting Vit, kch thc 14pt 3 i tng cn li l 3 commandbutton c tn tun t nh sau: cmd_mess, cmd_del, cmd_end. Khi s kin vo cmd_mess th cu cho Chc mng bn n vi VB xut hin trn textbox txt_mess. Khi click vo cmd_del ni dung trn textbox b xa. Khi click vo trn cmd_end th chng trnh kt thc. Khi double click vo textbox txt_mess th hin th website ca bn

Trang 39/286

Gio trnh Visual Basic

Trnh t thc hin:

Thit k Form

To mt folder mi trn da Open mt project mi. t tn cho Form l frm_main, caption l chng trnh u tin a mt textbox ln Form, t tn l txt_mess, thuc tnh text=, font ch VNI_DUFF, c ch 14, Aligment: center a mt command button ln Form, chnh kch thc, chn font ch VNI-APTIMA, c ch 10. t caption=In li cho, Name=cmd_mess Chn nt lnh th hai, t name=cmd_del, caption=Xo ni dung trong textbox Chn nt lnh th ba, t name=cmd_end, caption=kt thc

Vit lnh cho chng trnh

Nhp kp vo nt lnh cmd_mess: Nhp thm hng quy nh cch khai bo bin: Option Explicit Trang 40/286 Gio trnh Visual Basic

ngay u (xem hnh). T nay v sau, trong tt c cc bi tp, bn phi khai bo hng ny vo u tt c cc Form. V chi tit cho khai bo ny s c cp chi tit cc chng sau. Nhp dng lnh sau:txt_mess.text=Chc mng bn n vi VB vo gia dng tiu v dng kt thc

Chn i tng cmd_del trn combo box object, chn s kin click. g vo lnh sau: txt_mess= (Xa ni dung ca textbox)

Chn i tng cmd_end trn hp chn pha trn bn tri, chn s kin click trn combobox even. G vo lnh sau: end

Trang 41/286

Gio trnh Visual Basic

M ca s Form, bm double click trn txt_mess m ca s code. Trong khi con tr chut ang nm gia vng Private Sub txtmess_Change() . End Sub th chn hp danh sch (cha s kin) bn gc trn phi, chn vo s kin DblClick

Vit code x l cho s kin double click trn textbox

Trang 42/286

Gio trnh Visual Basic

9.

Bi tp thc hnh 2

Vit chng trnh thay i v tr v ni dung ca Label s dng cc command button (xem hnh). Khi ngi s dng bm vo nt tng ng - v d: top left) th Label s nm v tr trn pha tri vi ni dung l Top Left. Sau khi thit k giao din v t tn cc i tng ln lt l Lbl1, cmdTopLeft, CmdTopRight, CmdButtomLeft, CmdButtomRight, double click chut vo ln lt tng command button v vit lnh nh sau: Trang 43/286 Gio trnh Visual Basic

10.

Frame

L mt control dng vt cha (container), dng cha cc control khc. Khi a ln Form n hin th dng khung hnh ch nht c tiu . Trang 44/286 Gio trnh Visual Basic

Sau khi t mt frame trn Form nu ta t cc control khc vo trong frame ny th frame tr thnh vt cha ca control .

Frame cn c dng nhm cc i tng hot ng theo nhm nh Option button. Thuc tnh chnh ca Frame l : Name: tn ca Frame, t 3 k t u (prefix) l Fla Caption: ni dung hin th trn tiu ca Frame Backcolor: mu nn Forecolor: mu ch ca cc i tng trn Frame 11. Image

i tng ny dng hin th hnh nh. Cc thuc tnh chnh: Name: tn ca i tng, vi 3 k t u (prefix) l Img Picture: hnh nh cn hin th Stretch (true/false): cho php co dn hnh hay hin th theo kch thc tht ca nh Visile: cho php hin th hay khng Trang 45/286 Gio trnh Visual Basic

Height: chiu cao nh Width: chiu di nh

a hnh nh ln Image c 2 cch: Quy nh ti thi im thit k (Design-time): thng qua thuc tnh picture. Chn hnh cn hin th Ti thi im thc thi chng trnh (run-time): bng cch gn thuc tinh picture bng kt qu ca hm loadpicture(). V d Img.Picture = LoadPicture("c:\DurianGroup.jpg") 12. Line

i tng ny n gin ch trnh v mt ng thng trn Form dng cho vic trang tr giao din.

Cc thuc tnh ca Line: Name: tn ca line vi 3 k t u l Lin Bordercolor: mu vin ng line BorderWidth: kch thc ng line BorderStyle: kiu v ng line X1,x2,y1,y2: ta (x,y) ca 2 im u v cui ca line

Trang 46/286

Gio trnh Visual Basic

13.

Shape

Ging nh Line i tng shape dng trang tr vi kh nng biu din cc hnh c bn: vung, trn, Ellipse.. Thuc tnh shape l: chnh ca

Name: tn ca shape vi 3 k t u l Shp Shape: o o o o o o 0: Trnh by hnh ch nht 1: Trnh by hnh vung 2: Trnh by hnh ellipse 3: Trnh by hnh trn 4: Trnh by hnh ch nht gc trn 5: Trnh by hnh vung gc trn.

FillStyle: kiu t mu bn trong Shape. Bn ch nhn thy mu bn trong khi FillStyle khc 0 (Transparent: trong sut).

FillCorlor: mu t bn trong

Trang 47/286

Gio trnh Visual Basic

14.

Bi Tp

Lu : Mi bi tp nn to trn da mt folder lu nhng tp tin project, Form ca bi tp . 1.Hy thit k mt Form nh sau: t tn cho 3 textbox ln lt l : txthoten, txtho, txtten t tn cho 3 nt lnh ln lt l btnHoLot, btnTen, btnHovaten Hy vit lnh cho cc i tng Form c th hot ng nh sau: Ngi s dng s g h v ch lt vo txtholot, v tn vo txtten Nu nt lnh cmd_holot c click th ni dung ca txthoten =txtholot.text Nu nt lnh cmd_ten c click th ni dung ca txthoten=txt_ten.text Nu nt lnh cmd_hoten c click th ni dung ca txthoten =txt_holot.text & & txtten.text Nu double click (s kin dlbclick) trn txthoten th ni dung ca txthoten b xa. Trang 48/286 Gio trnh Visual Basic

2.Thm vo bi tp trn vi yu cu sau: Ni dung ca txtholot v txtten c th hin ngay trn txtHoTen khi ngi s dng nhp d liu vo txt_holot hay txtten (gi : vit lnh cho s kin change ca txtholot v txtten

3.Hy thit k mt Form nh sau: t tn i tng nh hnh m t.

Hy vit lnh cho cc i tng Form c th hot ng nh sau: Ngi s dng s nhp cc gi tr vo txt1, txt2 (l nhng gi tr s) Nu nt lnh cmd1 c click th ni dung ca Lbl_mess=val(txt1.text)+ val(txt2.text) Nu nt lnh cmd2 c click th ni dung ca Lbl_mess=val(txt1.text) - val(txt2.text) Trang 49/286 Gio trnh Visual Basic

Nu nt lnh cmd3 c click th ni dung ca lbl_mess=val(txt1.text) * val(txt2.text) Nu nt lnh cmd4 c click th ni dung ca lbl_mess=val(txt1.text) * val(txt1.text) Nu nt lnh cmd5 c click th ni dung ca lbl_mess=val(txt1.text)* val(txt1.text)* val(txt1.text) Nu nt lnh cmd5 c click th ni dung ca lbl_mess=sqr(val(txt1.text)) Nu nt lnh cmd_exit c click th kt thc chng trnh Nu double click (s kin dblclick) trn lbl_mess, hoc txt1 hoc txt2 th xa ni dung ang c ca hai textbox txt1, txt2 v label lbl_mess.

4. Hy to mt Form nh sau: Khung mu trng l mt picture box vi appearrance = flat Hnh trn l mt shape c v bn trong Picture box Khi chng trnh chy mi ln ngi s dng click vo cc nt mi tn th hnh trn s dch chuyn mt khong (ty

Trang 50/286

Gio trnh Visual Basic

) theo hng mi tn click (s dng thuc tnh left, top ca shape)

5. Vit chng trnh chn hnh dng v mu ca mt shape nh sau:

t tn Shape l Shp, thit lp thuc tnh fillStyle ca Shp l 0-Solid Vit code chn hnh dng (Shape) v mu t (FillColor) nh sau: Sub CmdVuong_Click() Shp.Shape=1 End sub Trang 51/286 Gio trnh Visual Basic

Sub CmdMauDo_Click() Shp.FillColor=VBRed End sub

Cho bit tp cc hng s mu c bn ca VB nh hnh.

Trang 52/286

Gio trnh Visual Basic

CHNG 3: BIN HNG CU TRC LNH

NI DUNG: KIU D LIU - BIN HNG - CC TON T CC HM C BN CC CU TRC LNH OPTION BUTTON CHECK BOX LIST BOX COMBO BOX

1.

Cc Kiu D Liu Trong Vb

Trong VB6 c rt nhiu kiu d liu. Tuy vy, vi phm vi gio trnh ny, ch mt s kiu d liu quan trng v hay s dng nht c cp. Cc kiu cn li sinh vin c th tham kho thm ti phn gip (Help) ca b Visual Studio. Kiu d liu Byte Boolean Integer Long (long integer) Double Date Phm vi 0. . 255 True / False -32,768 32,767 C (+-) 2 t C (+-)-10308 1/1/100 31/12/9999

Trang 53/286

Gio trnh Visual Basic

String Variant

2 t k t

Trong : Byte, Integer, Long l cc kiu s nguyn Double l cc kiu s thc. Date lu gi tr ngy gi (th t ngy thng nm ph thuc vo quy nh ca h thng trong Control Panel ca Windows). Mt bin kiu date c th cha gi tr ngy thng nm, gi hoc ch cha gi tr ngy thng nm Object: tham chiu n mt i tng no trong chng trnh. String: cha mt chui k t. Variant: L loi bin c th cha bt k mt loi d liu s hoc chui. Kiu d liu ca n ch xc nh khi c gn gi tr. Ty theo gi tr thc t, chng ta s chn lai d liu ph hp. 2. Bin (Variable)

Khi nim: Dng lu cc gi tr tnh ton c trong qu trnh chng trnh ang thc hin. Gi tr lu trong bin c th thay i trong qu trnh s dng. Mi bin c mt tn phn bit v thuc mt loi d liu no . Qui tc t tn bin:

Trang 54/286

Gio trnh Visual Basic

Di ti a 255 k t, c th dng ch ci, ch s, du _ t tn Bt u bng mt ch ci Khng cha khong trng v cc k t: +-*/ ! @ # $ % ^ & * ( ) cc du chm cu Khng trng tn vi t kha Trnh t tn bin trng nhau Tn bin nn r rng, ni ln phn no mc ch s dng ca n Nn bt u bng ba k t vit tt ca kiu d lliu Khai bo bin: Dim As

V d: Dim X As integer Dim a As Double Dim b As Long, D as Long, E as Long Ch : khai bo nhiu bin, chng ta phi a kiu d liu ln lt vo, khng th vit gom i vi VB6 V d: o Dim 1a as Integer: khai bo ny sai v tn bin bt u bng s o Dim a- as Integer: khai bo ny sai v tn bin cha k t t bit -

Trang 55/286

Gio trnh Visual Basic

o Dim a,b,c as Integer: khai bo ny khng hp l (a,b : khng phi kiu Integer) o Dim a as Integer, b as Integer, c as Integer: khai bo ny ng

Qun l bin: Trong VB c th khng cn phi khai bo bin trc khi s dng, v khi bt gp mt tn bin cha khai bo th VB t ng to ra bin ny. Tuy nhin iu ny d pht sinh cc li trong chng trnh m rt kh pht hin. V d nh trong on lnh sau:

o Dim x As Integer o Dim result As Integer o X=10 o Resul=X*2 Dng lnh ny ta mun gn gi tr x*2 vo bin result khai bo nhng li vit thiu k t t, lc ny VB s to ra bin mi Resul. trnh tnh trng ny ta c yu cu VB khng t ng to ra bin nu nh n cha c khai bo bng cch t dng lnh Option Explicit trong phn General ca ca s code.

V Tr Khai Bo V Phm Vi S Dng Ca Bin

Trang 56/286

Gio trnh Visual Basic

Cc bin khai bo trong mt hm (SUB): phm vi s dng ca cc bin ny ch tn ti trong SUB khai bo n. Nhng bin ny xut hin trong b nh khi SUB c gi thc hin v xa khi b nh khi SUB ny thc hin xong. Bin loi ny gi l bin cc b.

Cc bin khai bo khai bo trong phn General ca mt Form th n c tc dng vi bt k mt on lnh no c trong Form ny. Nhng bin ny xut hin trong b nh khi Form c m v ch xa khi b nh khi Form c b ng.

Trang 57/286

Gio trnh Visual Basic

Mt bin mun c phm vi s dng trong ton b project, th phi khai bo bng t kha public (c th khai bo trong Form hoc module). Nhng bin ny tn ti trong b nh t u cho n khi kt thc chng trnh.

Lu : Cc bin kiu s khi c khi to trong b nh c gi tr =0 3. Hng

Ta c th t tn cho cc gi tr khng i v c dng nhiu trong chng trnh theo c php: Const as datatype = value V d: Cont Pi as Double=3.1416 4. Cc Php Ton

Cc php ton trn s:

Trang 58/286

Gio trnh Visual Basic

K hiu ^ * / + \ Mod V d: Dim A as Integer A=3^2 -> A=9 -> A=2

Php ton Ly tha (vd: x=3^8) o du (vd: x= - y) Nhn (vd: x= Y * 3) Chia (vd: x= Y / 3) Cng (vd: x= Y + 3) Tr (vd: x= Y - 3) Chia Nguyn (vd: x= 34 \ 3) Ly d trong php chia nguyn

A=12\5

A = 8 mod 3 -> A=2

Php ton trn chui (string) : php ni : & : Dng ni 2 chui Cc php ton quan h K hiu = < >=

Ln hn Ln hn hoc Bng

Cc php ton lun l: K hiu NOT AND OR 5. Ph nh V Hoc Quan h

Cc Hm C Bn Ca Vb

Cc hm ton hcHm ABS(x) FIX(x) INT(x) EXP(x) LOG(x) SQR(x) SIN(x) COS(x) TAN(X) ATN(x) M t Tr v tr tuyt i ca x Tr v gi tr l phn nguyn ca x Tr v gi tr l s nguyn ln nht nh hn hay bng x Hm m ex Hm loge x (c s e) Cn bc 2 ca x Hm lng gic Sin(x) Hm lng gic Cos(x) Hm lng gic Tan(x) Hm lng gic Arctg ca x Trang 60/286 Gio trnh Visual Basic

Hm to s ngu nhin (random)Hm RANDOMIZE RND( ) M t khi ng b to s ngu nhin Tr v 1 s ngu nhin t 0 n 1

Hm x l chui

Hm LEN(chui) VAL(chui) LEFT(chui,n) RIGHT(chui,n)

M t Tr v gi tr l di ca chui i chui l k t s thnh s Ly ra 1 chui l n k t bn tri ca chui nhp vo Ly ra 1 chui l n k t bn phi ca chui nhp vo Ly ra 1 chui l n k t - bt u t v tr nhp - ca chui nhp vo i tt c k t ch thng thnh ch HOA i tt c k t ch HOA thnh ch thng B tt c k t trng bn tri chui Trang 61/286 Gio trnh Visual Basic

MID(chui,v tr, n)

UCASE(chui) LCASE(chui) LTRIM(chui)

RTRIM(chui) TRIM(chui)

B tt c k t trng bn phi chui B tt c k t trng bn tri v bn phi chui + Kiu = 1: i tt c k t ch thng thnh ch HOA

STRCONV(chui,kiu)

+ Kiu = 2: i tt c k t ch HOA thnh ch thng + Kiu = 3: i tt c k t u t thnh thnh ch Hoa. Tr v v tr u tin ca chui 1 bn trong chui ( 0 nu khng c). Dng tm kim 1 chui bn trong 1 chui khc. i gi tr ca biu thc s thnh chui s, In gi tr biu thc s theo chui nh dng.

INSTR(chui, chui 1)

STR(s) FORMAT(biu thc chui nh dng)

Hm kim tra gi trIsnumeric(chuoi) IsDate(chuoi) Tr v true/false xc nh chui phi l dng s hay khng Tr v true/false xc nh chui phi l dng DateTime hay khng

Hm k tASC(k t): Tr v gi tr l m ASCII ca k t Trang 62/286 Gio trnh Visual Basic

CHR(ASCII Code): SPACE(n):

Tr v k t c m ASCII l ASCII Code Tr v n k t trng

Hm mu scRGB(Red,Green,Blue): Vi Red,Green,Blue c gi tr t 0 n 255 Vi Color c gi tr t 0 n 15 0: Black, 1: Blue, 2: Green, 3: Cyan, 4: Red, 5: Magenta, 6: Yellow, 7: White, 8: Gray, 9:Light Blue, 10: Light Green, 11: Light Cyan, 12: Light Red, 13: Light Magenta, 14: Light Yellow, 15: Light White

QBCOLOR(color):

Hm nhp d liu inputboxMc ch: Hin hp nhp d liu khi c nhu cu C php: Bin = InputBox ( Prompt, Title, Default) Prompt: Cu nhc (dng chui) yu cu thc hin vic nhp Title: Ta ca hp nhp d liu Default: Gi tr mc nhin khi hin hp nhp d liu ln Kt qu ca vic nhp liu c gn vo bin Trang 63/286 Gio trnh Visual Basic

V d: n=Inputbox(Nhap vo mt s:,Nhp liu)

Nu ngi s dng Click vo nt Cancel th kt qu ca hm l mt chui rng. V d: Vit chng trnh nhp mt tn bng Inputbox v hin th li tn nhp

Hm to hp thng bo msgboxMc ch: Hin hp thng bo khi c yu cu trong cc tnh hung khc nhau. C php: Trang 64/286 Gio trnh Visual Basic

Dng 1: Khng nhn v g tr sau khi hp thoi xut hin. Thng dng khi thng bo mt thng ip no . MsgBox C Li

hin th chui thng bo xung hng, chng ta c th ghp thm hng s VBCrlf hay VBNewline hay Chr(13) & Chr(10) ngt thng bo thnh nhiu hng MsgBox "Cho bn & vbCrLf & "DurianGroup MsgBox "Cho bn & VbNewLine & "DurianGroup MsgBox "Cho bn & Chr(13) & Chr(10) & "DurianGroup

Dng 2: Bin= MsgBox ( Prompt, Style, Title )

Prompt: Cu nhc (dng chui) yu cu thc hin vic nhp Title: Ta ca hp nhp d liu Style: Kiu th hin ca hp hi thoi Gi tr s 0 1 2 3 Gi tr do VB nh ngha VbOKOnly VbOKCancel VbAbortRetryIgnore VbYesNoCancel Mc ch Nt lnh OK Nt lnh OK + CanCel Nt lnh Abort + Retry + Ignore Nt lnh Yes + No + CanCel Trang 65/286 Gio trnh Visual Basic

4 5 16 32 48 64

VbYesNo VbRetryCancel VbCritical VbQuestion VbExclamation VbInFormation

Nt lnh Yes + No Nt lnh Retry + Cancel Biu tng Stop Biu tng Question Biu tng Exclamation Biu tng InFormation

Cc gi tr tr v cho bin ca MsgBox:

GI TR S 1 2

GI TR NGHA VbOK VbCancel

DO VB NH

HIN TNG

Nt lnh c chn l: OK Nt lnh c chn l: CanCel Nt lnh c chn l: Abort Nt lnh c chn l: Retry Nt lnh c chn l: Ignore Nt lnh c chn l: Yes Trang 66/286 Gio trnh Visual Basic

3 4 5 6

VbAbort

VbRetry VbIgnore VbYes

7

VbNo

Nt lnh c chn l: No

Gi s mun to hp thoi sau: ta s dng lnh: traloi=MsgBox(Bn c mun khng,VbYesNo+VbQuestion,Stop) Hoc traloi= MsgBox(Bn c mun tip tc khng,36,Stop) Tuy 2 cch to trn l tng ng, nhng chng ta nn s dng cch th nht v n r rng, d c, v VB gip chng ta thc hin iu ny m khng cn phi nh s. tip tc

Trang 67/286

Gio trnh Visual Basic

6.

Cc Cu Trc Lnh

A. Cu trc r nhnh If Select case1. Cu trc r nhnh khng y IFTHEN

Trang 68/286

Gio trnh Visual Basic

Dng 1: Ch lm 1 lnh duy nht nu tha iu kin

V d: Vit code cho nt lnh Thot ca chng trnh. Trc khi thot, chng trnh hin th hp thoi xc nhn vic thot chng trnh. Nu ngi s dng ng (chn Yes) th chng trnh kt thc.

Dng 2: Lm nhiu lnh nu tha iu kin

Trang 69/286

Gio trnh Visual Basic

V d: Vit li nt lnh thot cho v d trn. Nu ngui s dng chn Yes (ng thot), chng trnh hin th li cho tm bit, sau thot chng trnh.

Trang 70/286

Gio trnh Visual Basic

2. Cu trc r nhnh y IFTHENELSE Dng 1: Thc thi cc lnh a1,a2..aN nu tha iu kin, ngc li thc hin nhm lnh b1,b2,..bN

V d: Vit chng trnh nhp vo 1 s nguyn. Kim tra s va nhp l s chn hay s l. Giao din c cho nh hnh di. Tn cc i tng l txtso, cmdKiemTra Trang 71/286 Gio trnh Visual Basic

Dng 2: Lm nhiu trng hp vi nhiu iu kin khc nhau

Trang 72/286

Gio trnh Visual Basic

V d: vit chng trnh nhp 1 s nguyn ca th (2, 3, 4.8). Chng trnh s thc hin c sang Th tng ng (THU HAI, THU BA, THU TU..)

Trang 73/286

Gio trnh Visual Basic

Trang 74/286

Gio trnh Visual Basic

7.

Bi tp thc hnh If

Thit k mt chng trnh ng nhp (Log In) cho php ngi s dng nh tn v mt m (Password) vo sau kim tra xem password c ng vi chui c quy nh trc hay khng?

Thit k giao dinTo cc control (label, textbox, command button) nh hnh t tn ln lt cmdOK,CmdCancel l TxtUser, TxtPassword,

Thit lp thuc tnh PasswordChar cho txtPassword l * (che k t nhp vo)

Vit code cho chng trnh

Trang 75/286

Gio trnh Visual Basic

V d: Vit chng trnh gii phng trnh bc nht Ax+B=0 Option Explicit Private Sub Form_Load()Lu : s dng s kin load ci t cc yu t ban u lbl_tua.Caption = "CHNG TRNH" & Chr(13) & " GII PHNG TRNH BC I Ax+B=0" S dng k t chr(13) xung dng txt_A.Text = "" txt_b.Text = "" txt_kq.Text = "" End Sub

Private Sub cmd_giai_Click() If txt_A.Text = "" Or txt_b.Text = "" Then MsgBox "Bn cha nhp d liu " ElseIf Val(txt_A.Text) 0 Then txt_kq.Text = "Nghim ca PT l: " & Val(txt_b.Text) / Val(txt_A.Text) ElseIf Val(txt_b.Text) = 0 Then txt_kq.Text = "Phng trnh v s nghim" Else txt_kq.Text = "Phng trnh v nghim" End If Trang 76/286 Gio trnh Visual Basic

End Sub

Private Sub cmd_moi_Click() txt_A.Text = "" txt_b.Text = "" txt_kq.Text = "" txt_A.SetFocus Chuyn focus v textbox txt_a tin li cho ngi s dng nhp liu End Sub Private Sub cmd_kt_Click() End End Sub

3. Cu trc la chn SELECT CASE END SELECT

V d: thc hin li v d ni trn, xut ra mn hnh chui pht m ca th nhp vo

Trang 77/286

Gio trnh Visual Basic

B. Cu Trc Lp For While Do While1. Cu trc lp FORNEXT

Ch : C th s dng lnh Exit For thot sm khi vng lp FOR V d: Vit chng trnh nhp vo 1 s (n) v tnh tng: S=1+2+3+n Trang 78/286 Gio trnh Visual Basic

(doi kp txt thanh dang chuoi)

V d: Vit chng trnh nhp vo 1 s (n) v xut chui cc s 1 2 3 n ln mn hnh

Trang 79/286

Gio trnh Visual Basic

2. Cu trc lp WHILE LOOP

DO

Ch : Trong vng lp phi c lnh tc ng ln iu kin vng lp khng lp v tn Trang 80/286 Gio trnh Visual Basic

Ch : Vng lp Do While thc hin kim tra u kin trc. Nu tha iu kin th mi thc thi.

V d: V d: Vit chng trnh nhp vo 1 s (n) v xut chui cc s 1 2 3 n ln mn hnh

Trang 81/286

Gio trnh Visual Basic

3. Cu trc lp DO. .. LOOP UNTIL: Ch : Vng lp Do Loop Until khng thc hin kim tra u kin trc, m thc hin lnh trc, sau mi kim tra iu kin quyt nh c thc hin tip hay khng. Do , n thc hin t nht 1 ln.

Trang 82/286

Gio trnh Visual Basic

V d: vit chng trnh nhp s bng hp thoi Inputbox. Khi ngi s dng nhp 1 s, chng trnh hin th vo label lblKetqua. Nu ngi s dng nhp khc s, chng trnh kt thc vic nhp.

Trang 83/286

Gio trnh Visual Basic

V d: Chng trnh xc nh s nguyn t:

Option Explicit Private Sub cmd_giai_Click() Dim i As Integer, n As Integer, so As Integer If txt_nhap.Text "" Then so = Val(txt_nhap.Text) n = Int(Sqr(so)) i=2 Do While i n Then txt_kq = so & " l s nguyn t" Else txt_kq = so & " khng l s nguyn t" End If Else MsgBox "Bn cha nhp s" txt_nhap.SetFocus End If End Sub Private Sub Cmd_kt_Click() End End Sub

V d : Chng trnh quay s may mn

Qui lut chi nh sau: Khi bt u chi s tin c trong sn my l 10 ng v s tin thng l 0. Mi ln quay s th ngi chi phi b vo 30 ng (s tin c trong my tng 30) Nu kt qu quay s =0 --> ngi chi nhn c cng 10 ng vo tin thng

Trang 85/286

Gio trnh Visual Basic

Nu kt qu quay s =9 --> ngi chi c cng 30 ng vo tin thng Nu kt qu quay s =7 -> ngi chi c cng 100 v 50 % s tin ang c trong my vo tin thng (--> s tin trong my gim 50%). Khi nt Game mi c n th s tin thng phi c gi tr=0

Khi c thng th chng trnh phi hin dng thng bo cho bit s tin thng hin ti l bao nhiu. M lnh ca chng trnh nh sau: Option Explicit Dim thuong As Long, sotien As Long Khai bo bin ton cc

Private Sub Form_Load() sotien = 10 thuong = 0 txt_sotien.Text = sotien Trang 86/286 Gio trnh Visual Basic

End Sub

Private Sub CMD_QUAYSO_Click() Dim i as Long, j as Long, t As Long Randomize If txt_kq.Visible = True Then txt_kq.Visible = False txt_kq.Refresh Cp nht nhng thay i trn textbox Form1.Refresh Cp nht nhng thay i trn Form End If sotien = sotien + 30 txt_sotien = sotien txt_sotien.Refresh For i = 1 To 60 Step 1 J= Timer Do while Timer thuong Then txt_kq.Visible = True thuong = t txt_kq.Text = "Xin chc mng bn. " & Chr(13) & Chr(10) & "S tin bn c thng l: " & thuong txt_kq.Refresh End If End Sub Private Sub Cmd_newgame_click() thuong = 0 txt_sotien.Text = sotien End Sub Private Sub Cmd_kt_Click() End End Sub

Trang 88/286

Gio trnh Visual Basic

8.

Check Box

L i tng c t cho php ngi s dng chn gi tr bng cch nh du chn (check). Hai trng thi ca check box c s dng nhiu nhtr l: c chn hoc khng c chn.

Cc thuc tnh ca check box: Name: tn ca checkbox vi prefix l Chk Aligment: Quy nh v tr ca nt chn: o o 0: Left justify 1: Right justify

Caption: Tiu (dng vn bn hin k nt chn) Value: Gi tr ca thuc tnh ny quy nh trng thi ca check box o o o 0: Unchecked (khng chn) 1: Check (ang chn) 2: Grayed (khng c php thay i trng thi ca check box.

S kin (event) ca checkbox Click: xy ra khi ngi s dng click trn checkbox Trang 89/286 Gio trnh Visual Basic

bit c Checkbox c chn hay khng, ngi ta kim tra thuc tnh Value V d: Vit chng trnh vi mt checkbox dng cho php mt hnh trn Form c hin th hay khng

9.

Option Button

C cng dng ging nh Chexk box, tuy nhin khi mt nhm cc check box t chung vi nhau th ta c th chn nhiu trng hp trong nhm ny hoc khng chn g c, cn trong mt nhm option button Trang 90/286 Gio trnh Visual Basic

chng ta ch chn c mt trong cc trng hp ny m thi. Cc Option Button i thnh tng nhm. Mi nhm c a vo mt Frame (hay i tng cha khc). V d Trong hp thoi trn c hai nhm Option button, Aligment v Leader th trong mi nhm ta ch chn c mt trng hp.

Cc thuc tnh Option button:

ca

Name: tn ca Option Button vi prefix l Opts Aligment: Quy nh v tr ca nt chn: o o 0: Left justify 1: Right justify

Caption: Tiu (dng vn bn hin k nt chn) Value: Gi tr ca thuc tnh ny quy nh trng thi ca option buton o o True: ang chn False: Khng chn.

Ch : Khi mt option trong nhm c gi tr true th tt c cc option cn li s c gi tr false Trong mt nhm cc option button, bit option button no ang c chn, chng ta kim tra thuc tnh Value ca cc option button

Trang 91/286

Gio trnh Visual Basic

hoc dng ngay s ken click v khi option button va nhn s kin click, th khi gi tr Value=True. V d.To mt chng trnh vi giao din nh sau:

Trn Form c Mt i tng Shape Mt mng Option button t vo trong Frame Shape (To Frame Shape trc, sau mi t cc option button vo frame ny) Mt mng Option button t vo trong Frame Color (To Frame color trc, sau mi t cc option button vo frame ny) Mt Command button vi caption Exit. (Nt ny c thuc tnh Cancel bng True ) dng kt thc chng trnh. Khi mt option trong nhm shape c chn th dng hnh ca i Trang 92/286 Gio trnh Visual Basic

tng Shape s thay i tng ng (s dng thuc tnh shape) Khi mt option trong nhm Color c chn th mu ca i tng Shape s thay i tng ng (s dng thuc tnh Fillcolor v hm Qbcolor) 10. ListBox

i tng ny dng lit k mt danh sch v cho php ngi s dng chn lc cc mc trong danh sch ny.

Cc thuc tnh ca Listbox: ListCount: Cho bit s mc hin c trong ListBox. Thuc tnh ny khng th thay i ic. List: L thuc tnh chnh ca listbox. N lu g cc mc ca listbox. Cc mc ca listbox c th nhp vo ti giai on thit k hoc trong chng trnh. Truy xut cc mc trong listBox thng qua thuc tnh list: Tn_listBox.list(index) Multiselect: o 0: Ch cho php chn mi lc mt mc duy nht o 1: Cho php chn mi lc nhiu mc bng chut Trang 93/286 Gio trnh Visual Basic

o 2: Cho php chn mi lc nhiu mc bng chut v phm shift hoc Control ListIndex: C gi tr l mt con s cho bit mc th my ca listBox ang c chn. Trong trng hp list box c php chn nhiu mc cng lc th thuc tnh ny cho bit th t ca mc u tin c chn. Selected: Cho bit trng thi ca mt mc trong danh sch hin c c chn hay khng. Hoc t trng thi chn cho mt mc no . C php: mc Selected(index) Kim tra trng thi ca mt

o Select(index)=True/False t trng chn hoc khng chn cho mt mc trong danh sch. Text: Ni dung ca mc ang chn trong listbox Sorted: Quy nh cc mc trong ListBox c sp xp theo th t hay khng

Cc phng thc (method) ca Listbox: AddItem: Thm mt mc mi vo danh sch. o C php: Tn_ListBox.AddItem item[,Index] RemoveItem: Xa mt mc trong ListBox o C php: Tn_ListBox.RemoveItem index o Index: s th t ca mc cn xa. Clear: Xa ton b cc mc trong danh sch. Sau khi xa gi tr Listcount=0 C php: Tn_ListBox.Clear Trang 94/286 Gio trnh Visual Basic

V d: Vit chng trnh nhp danh sch sinh vin theo yu cu sau:

Cc ListBox c php chn nhiu mc (kt hp gia phm Shift, Control v chut) Cc nt Cmd1 v Cmd3 Khi c Click s sao chp tt c cc mc ang chn sang ListBox bn kia, sau xa cc mc ang chn Nt lnh Xa cho php xa cc mc ang chn trong Lst1 (ListBox bn tri)

Trang 95/286

Gio trnh Visual Basic

Option Explicit Private Sub Cmd_exit_Click() End End Sub Private Sub Cmd1_Click() If Lst1.ListIndex -1 Then Lst2.AddItem Lst1.List(Lst1.ListIndex) Lst1.RemoveItem Lst1.ListIndex End If End Sub Private Sub Cmd2_Click() Dim i As Integer For i = 0 To Lst1.ListCount - 1 Lst2.AddItem Lst1.List(i) Trang 96/286 Gio trnh Visual Basic

Next Lst1.Clear End Sub Private Sub Cmd3_Click() If Lst2.ListIndex -1 Then Lst1.AddItem Lst2.List(Lst2.ListIndex) Lst2.RemoveItem Lst2.ListIndex End If End Sub Private Sub Cmd4_Click() Dim i As Integer For i = 0 To Lst2.ListCount - 1 Lst1.AddItem Lst2.List(i) Next Lst2.Clear End Sub Private Sub Command2_Click() Dim Traloi As Byte Traloi = MsgBox("Bn c chn cha ", 32 + 4, "VB msgbox") If Traloi = 6 Then Lst1.Clear End Sub Private Sub Command5_Click() Lst1.AddItem txt1.Text Trang 97/286 Gio trnh Visual Basic

txt1.Text = "" txt1.SetFocus End Sub Private Sub Lst1_DblClick() If Lst1.ListIndex -1 Then Lst2.AddItem Lst1.List(Lst1.ListIndex) Lst1.RemoveItem Lst1.ListIndex End If End Sub Private Sub Lst2_DblClick() If Lst2.ListIndex -1 Then Lst1.AddItem Lst2.List(Lst2.ListIndex) Lst2.RemoveItem Lst2.ListIndex End If End Sub 11. Combo Box

Combo Box l mt control kt hp gia Textbox v Listbox, nn n c cac c tnh ca c hai i tng ny. Combo Box cho php trnh by, chn cc mc c trong danh sch v c th nhp thm cc mc mi.

Ngoi cc thuc tnh ging nh ListBox, Combo Box cn c thuc tnh c trng l: Trang 98/286 Gio trnh Visual Basic

Style: Dng quy nh kiu ca ComboBox o 0 : Kiu ComboBox chun, ch trnh by listbox khi kch chut vo mi tn bn phi o 1 : Kiu ny lun th hin listbox ca n bn di TextBox o 2 : Cch s dng ging nh mt listbox (Khng th nhp trn textbox) ch khc cch trnh by. Text: Ni dung ang c trong phn Textbox. V d: Vit chng trnh c s dng CheckBox v OptionButton theo yu cu sau: Thm trn Form hai Image c tn Img5 v Img6, mt ListBox c tn Lst1 (nm trong frame peripherals), mt ComBoBox c tn Cmb1(nm trong frame Payment method).

Cc mc ca Lst1 v Cmp1 l: Lst1: Extra hard disk Printer Cmb1: US. Dollars Trang 99/286 Gio trnh Visual Basic

L 1

Check English Pound Cc mc ny c a vo Lst1 v Cmb1 khi Formload (s dng s kin Formload) Khi mc Extra hard disk ca Lst1 c chn th picture trong Img5 l: c:\program files\Microsoft visual studio\ common\ graphics\ metafile\ business \Harddisk.wmf Khi mc Printer ca Lst1 c chn th picture trong Img5 l: Printer.wmf (cng folder vi file hnh trn) Khi mc US.dollars ca Cmb1 c chn th picture trong Img6 l: dollar.wmf Khi mc Check ca Cmb1 c chn th picture trong Img6 l: check.wmf Khi mc English Pound ca Cmb1 c chn th picture trong Img6 l: poundbag.wmf

Trang 100/286

Gio trnh Visual Basic

Option Explicit Private Sub chk1_Click() If chk1.Value = 1 Then img1.Visible = True Else img1.Visible = False End If End Sub

Trang 101/286

Gio trnh Visual Basic

Private Sub Chk2_Click() If Chk2.Value = 1 Then img2.Visible = True Else img2.Visible = False End If End Sub Private Sub Chk3_Click() If Chk3.Value = 1 Then img3.Visible = True Else img3.Visible = False End If End Sub Private Sub Cmb1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then cmb1.AddItem cmb1.Text cmb1.Text = "" End If End Sub Private Sub opt1_Click(Index As Integer) Dim i As Byte Select Case Index Trang 102/286 Gio trnh Visual Basic

Case 0 Image2.Picture = LoadPicture("c:\program files\Microsoft visual studio\common\graphics\metafile\business\pcomputr.wmf") Case 1 Image2.Picture = LoadPicture("computer.wmf") ng dn nh trn Case 2 Image2.Picture = LoadPicture("laptop2.wmf") End Select End Sub

Trang 103/286

Gio trnh Visual Basic

12.

Bi Tp

Lu : Mi bi tp nn to trn da mt folder lu nhng tp tin project, Form.. ca bi tp . 1. Vit chng trnh gii phng trnh bc 2 : ax2 + bx + c = 0 2. Vit chng trnh gii phng trnh trng phng: ax4 + bx2 + c = 0 3. Vit chng trnh i nm dng lch qua nm m lch Cho Bit:

Nm MOD 10 = 09: ==> Canh - Tn Nhm Qu Gip At Bnh inh Mu - K Nm MOD 12 = 011: ==> Thn Du Tut Hi T Su Dn Mo Thn T Ng Mi 4. Vit chng trnh tnh tng N s nguyn dng u tin: 1+ 2+ 3+. .N (N l s nguyn nhp t bn phm) 5. Vit chng trnh tnh tng N s nguyn dng chn u tin: 2 + 4 + 6 +... 6. Vit chng trnh nhp vo 2 s nguyn a, b. Xut ra BSCNN v USCLN ca a v b. 7. Vit li chng trnh quay s may mn theo mu sau:

Trang 104/286

Gio trnh Visual Basic

Khi chng trnh bt u chy th s tin c trong my l 100 ng. Mi ln quay s ngi chi phi b vo my 30 ng (s tin trong my tng 30 ng mi ln quay s) Cc hp cha ch s t tri qua phi c tn nh sau: txt1, txt2, txt3. Gi tri trong hp s c to bi cng thc: txt1.Text = Int(Rnd() * 7) txt2.Text = Int(Rnd() * 8) txt3.Text = Int(Rnd() * 10) Nu kt qu ca txt1 = 7 th s tin c thng l 100 +50% s tin ang c trong my (s tin trong my gim 50%) Nu kt qu ca txt2 = 7 th s tin c thng l 30 +10% s tin ang c trong my (s tin trong my gim 10%) Nu kt qu ca txt1 = 7 th s tin c thng l 10. Khi trng thng th s tin thng c cng dn v s hin ln mn hnh cho ngi chi bit s tin thng m h ang c.

Trang 105/286

Gio trnh Visual Basic

Khi nt Game mi c click (bt u cho mt ngi chi khc) th s thng quay v 0

8. Vit chng trnh to mt Form nh sau:

Nt cp nht c thuc tnh Default=true Nt Kt thc c thuc tnh Cancel=true Khi ngi s dng nhp mt s vo textbox ri Enter hoc nhp vo nt cp nht th s ny c thm vo listbox, ng thi ni dung trong textbox b xa v focus c chuyn v textbox Tnh tng cc phn t ca List (hin th kt qu trn msgbox) Xa phn t u v cui Xa phn t ang chn Trang 106/286 Gio trnh Visual Basic

Tng mi phn t ln 2 n v Thay th mi phn t bng bnh phng ca chnh n Chn phn t chn Chn phn t l 9. Vit chng trnh i mu ca Form nh sau: khi chn vo Option no, th mu ca Form s thay i tng ng vi mu ca Option .

10. Vit chng trnh thay i font ch ca textbox Yu cu: Khi chn vo thanh cun, Option, hay CheckBox no, th thuc tnh tng ng ca TextBox s thay i tng ng vi cc mc chn la.

Trang 107/286

Gio trnh Visual Basic

11. Vit chng trnh thay i hnh dng kiu t nn ca hnh (Shape) Cc Option button dng thay i hnh dng hay kiu t nn ca hnh v.

12. Yu cu: Khi chn cc Options ng vi cc quc gia khc nhau, th s hin th c tng ng vi quc gia . (Cc icon hnh nh trong th mc: Graphics\icons\flags)

Trang 108/286

Gio trnh Visual Basic

13. Vit chng trnh theo yu cu: Chn tn ngi bn c sn t combobox Chng trnh t tm s in thoi v a ch.

Trang 109/286

Gio trnh Visual Basic

Trang 110/286

Gio trnh Visual Basic

CHNG 4: TH TCNI DUNG: HM FORMAT TH TC HM - MNG CHUI MNG I TNG TIMER DEBUG V IN N CHNG TRNH 1. Hm Format

Cng dng ca hm l nh dng mt gi tr theo mt mu no . Kt qu ca hm l chui gi tr nh dng. C php ca hm: Format(Value, Format). Value: Gi tr mun nh dng Format: Mu nh dng, s cha nhng k t nh dng nh: 0 - Ti v tr ny l mt ch s. Nu con s m chng ta cn nh dng khng c gi tr ti v tr ny th ch s 0 s c in vo. o V d: Format$(123,0000)=0123 # - Quy nh ti v tr l mt con s bt k. . - Du ngn cch phn thp phn vi phn nguyn , - Du cch ngn % - Nu c k hiu ny trong chui nh dng th con s s c nhn ln 100 v thm k hiu % pha sau

Trang 111/286

Gio trnh Visual Basic

Ngoi cc k t trn nu trong chui nh nh dng cha bt k mt k t no khc th k t s c chn vo trong chui kt qu.

Cc v d: Format$(8315.4,######.##)=8315.4 Format$(8315.4,###,###.00)=8,315.40 Format$(8315.4,$######.00)=$8,315.40 Format$(0.5 ,000%)=050% 2. Th Tc Hm

Ngoi cc th tc s kin gn lin vi cc i tng i khi ngi lp trnh cn phi xy dng thm cc th tc ca ring mnh d dng trong vic lp chng trnh, chng hn nh gim bt m lnh, trnh vit lp i lp li mt on lnh no . 1. Th tc (Sub): Ta c th vit mt th tc trong ca s Code vi c php khai bo nh sau: Private Sub [(danh sch tham s)] Lnh ca th tc End sub Th tc c khai bo vi t kha private th ch c th dng c trong phm vi Form cha n m thi. Nu mun th tc c th s dng trong ton b chng trnh (cc Form khc u s dng c) th phi khai bo vi t kha Public Public Sub [(danh sch tham s)] Trang 112/286 Gio trnh Visual Basic

Lnh ca th tc End sub V d: Private Sub Hienthi(x As Integer) Print x*x*x Sub Li gi th tc: Ta c th dng lnh call gi thc hin mt th tc theo c php: call

Tham s ca th tc: Tham s ca th tc c khai bo trong ngoc sau tn th tc. Nu l tham s dng tham tr th c thm t kha byval trc tn tham s. Gi tr khng th thay i sau khi ra khi hm. Nu l tham s dng tham bin th c thm t kha byref trc tn tham s. Gi tr c thay i sau khi ra khi hm. Nu khng ch r l tham tr hay tham bin th xem nh tham bin. Trang 113/286 Gio trnh Visual Basic

V d: Chng trnh gi hm vi tham bin (byref) v tham tr (byval) Trong hm sub1(A as Integer,Byval B as Integer) th A l tham bin, B l tham tr. Do , ch c kt qu ca txt3 khc gi tr txt1 (gp 10 ln) cn gi tr ca txt4 v txt2 l bng nhau.

Trang 114/286

Gio trnh Visual Basic

V d: vit chng trnh m s ln Click trn mt Form. Khi ngi s dng Click chut trn Form, chng trnh s tng bin m s click, v reset v 0 khi s ln click qu 4. o Chng trnh s dng hm CheckNumberofClick vi 1 tham bin l Numclick. y khng cn khai bo byref do mc nh l byref.

1. Hm (Function): Vic vit mt hm cng ging nh th tc ch khc phn khai bo v trong ni dung ca hm s c mt cu lnh tr gi tr v cho hm. Ta c th vit mt hm trong ca s Code vi c php khai bo nh sau: [Private/Public] Function [(danh sch tham s)] As

Trang 115/286

Gio trnh Visual Basic

Lnh ca hm Tn hm=Gi tr tr v End Funtion

V d: Vit chng trnh tnh cnh huyn tam gic s dng function

Trang 116/286

Gio trnh Visual Basic

V d: vit hm tnh giai tha n!=1*2*3*.n v vn dng hm ny vit chng trnh sau y.

Option Explicit Private Function Giaithua(ByVal K As Integer) As Double Dim I As Integer Dim Kq As Double Kq = 1 For I = 1 To K Kq = Kq * I Next Giaithua = Kq End Function

Private Sub Cmd_exit_Click() End End Sub Private Sub Cmd_N_Click() Txt_ketqua = Txt_nhaplieu.Text & "!= Format(Giaithua(Val(Txt_nhaplieu.Text)), "#") Txt_nhaplieu.Setfocus End Sub " &

Private Sub Cmd_n1_Click() Trang 117/286 Gio trnh Visual Basic

Dim N As Integer N = Val(Txt_nhaplieu.Text) Txt_ketqua = N & "! /" & N + 1 & "! =" & Format(Giaithua(N) / Giaithua(N + 1), "0.###") Txt_nhaplieu.Setfocus End Sub Ch l, nt lnh th hai, nu th chng ta thy rng kt qu khng cn tnh di dng nh vy m ch l 1/(n+1). Tuy nhin, chng trnh ny c m t cch s dng l nhiu ln khi vit mt hm. V d: cho bit kt qu xut ra sau khi thc hin chng trnh sau y l g

Trang 118/286

Gio trnh Visual Basic

3.

Mng

Mng tnh 1 chiuKhai bo: Dim ArrayName(LowerIndex To UperIndex) As V d: Dim strTen(0 to 25) As String: strTen(0), strTen(1), strTen(25) Dim SoThuc(1 to 100) As Double: SoThuc(1), SoThuc(2) SoThuc(100) Dim Volume(-10 to 10) As Long: Volume(-10), Volume(-9), Volume(10) V d: Mng numbers cha cc s nguyn c nh s t 0..5

Lu : Khi truy xut mng phi truy xut ng vi cn trn v cn di khai bo. V d: nu khai bo Dim a(10 to 20) Th khng c phn t a(1),a(2)..a(9).

xc nh cn di ca mng dng Lbound(TnMng) :

Hm

Xc nh cn trn ca mng: Hm Ubound(TnMng) : Text1.Text=Ubound(StrTen)

Trang 119/286

Gio trnh Visual Basic

Khi khi to, cc gi tr trong mng c khi to mc nh bng 0 (i vi kiu s) hay bng chui rng (i vi kiu chui). Truy xut mng truy xut mt phn t trong mng ta truy xut theo c php TenMang(ch s) duyt ht mng, s dng vng lp For..Next vi 1 bin chy V d: Vit chng trnh x l mng nh sau

Nhp xut mng: Option Explicit Dim a(1 To 10) As Integer Sub Cmd_nhap_Click() Dim i As Integer Txt_xuat.Visible = False For i = 1 To 10 Step 1 a(i) = Val(InputBox("a(" & Str(i) & ")= ", "Nhap mang")) Next End Sub

Sub Cmd_xuat_Click() Dim i As Integer Txt_xuat.Visible = True

Trang 120/286

Gio trnh Visual Basic

For i = 1 To 10 Txt_xuat.Text = Txt_xuat.Text & Str(a(i)) & " " Next End Sub

Private Sub Form_Load() Txt_xuat.Visible = False End Sub

V d: Nhp v xut mng ra ListBox Khi chng trnh va thc hin:

Khi nt nhp mng c bm: Trang 121/286 Gio trnh Visual Basic

Khi nhp xong:

Trang 122/286

Gio trnh Visual Basic

Khi bt Xut mng c n:

Mng nhiu chiu tnhC th l mng 2 chiu, 3 chiu. Mng 2 chiu c th c coi nh ma trn.

Khai bo: Tng t mng 1 chiu: o Dim a(1 to 2,1 to 3) As Integer o A(1,1), A(1,2), A(1,3) ; A(2,1), A(2,2), A(2,3) Xc nh cn di ca mng: Hm Lbound(TnMng,chiu) : Text1.Text=Lbound(A,1) Xc nh cn trn ca mng: Hm Ubound(TnMng, chiu) : Text1.Text=Ubound(A,2) Khi duyt mng nhiu chiu s dng cc vng lp lng vo nhau. Trang 123/286 Gio trnh Visual Basic

V d: duyt na trn ma trn 2 chiu, khng tnh ng cho chnh

V d: duyt na trn ma trn 2 chiu, tnh c ng cho chnh

Trang 124/286

Gio trnh Visual Basic

Mng ngMng tnh l mng c s phn t khng i sau khi khai bo mng Mng ng l mng c s phn t c th thay i c sau khi khai bo mng, trong qu trnh thc thi chng trnh. Khai bo mng ng: o Dim A() as Integer Thay i s phn t trong mng: tng t khai bo mng o ReDim A(5 To 10) o ReDim A(1 to 10) Do , sau khi khai bo mng ng : Dim A() as Integer, cha th dng ngay m phi khai bo s phn t mng ng lc u tin: ReDim A(10). n lc no cn thay i kch thc v tr mng th ReDim li. Xc nh cn di Lbound(TnMng,chiu) ca mng: Hm

Xc nh cn trn ca mng: Hm Ubound(TnMng, chiu)

Private Command1_Click() ReDim b(3) For i = 0 To 3 b(i) = i

Sub

Private Sub Command4_Click() ReDim b(5) For i = 0 To 5 b(i) = i Next

Trang 125/286

Gio trnh Visual Basic

Next End Sub

End Sub

V d:

Chng trnh nhp mng ng bng InputBox

Khi nt Nhp mng c chn:

M lnh:

Option Explicit Dim a() As Integer Dim n As Integer Private Sub Cmd_ketthuc_Click() End Trang 126/286 Gio trnh Visual Basic

End Sub Private Sub Cmd_nhap_Click() Dim i As Integer n = Val(InputBox("nhap mang bao nhieu phan tu")) ReDim a(n) Txt_xuat.Visible = False For i = 1 To n a(i) = Val(InputBox("a(" & Str(i) & ")= ", "Nhap mang")) Next End Sub Private Sub Cmd_xuat_Click() Dim i As Integer Txt_xuat.Visible = True Txt_xuat.Text = "" For i = 1 To n Txt_xuat.Text = Txt_xuat.Text & Str(a(i)) & " " Next End Sub Private Sub Form_Load() Txt_xuat.Visible = False End Sub

Trang 127/286

Gio trnh Visual Basic

4.

Cc Thut Ton C Bn

Cng dnLp ln lt mt thao tc, trong cc gi tr c dn vo mt bin. Trc khi thc hin cng dn, gn gi tr bin dn bng gi tr khi to. (Nu tnh tng th khi to thng l bng 0, nu tnh tch th khi to thng l bng 1. Gi tr khi to ph thuc vo thut ton).

V d: thut ton cng dn cho chui cc s Tnh tng Sum = 1 + 2+ 3 +n

V d: s dng thut ton cng dn cho kiu string Chng ta xut mt mng cc s nguyn vo textbox

Trang 128/286

Gio trnh Visual Basic

V d: cng dn cho mng mt chiu Tng t cho vic tnh cng dn trn chui cc s

Cng dn theo iu kinLp ln lt mt thao tc, trong cc gi tr c dn vo mt bin nu tha iu kin no . Trc khi thc hin cng dn, gn gi tr bin dn bng gi tr khi to. Chng trnh s c lnh r nhnh (Ifthen, Select case) lng trong vng lp. V d: Cng dn trn mng 1 chiu

Trang 129/286

Gio trnh Visual Basic

V d: Cng dn trn mng 2 chiu: cn 2 vng lp

Tm kim tun tThc hin lp li vic duyt ln lt tng phn t trong danh sch. Nu tha mn iu kin th lu li v tr cn tm (v c thc hip lp tip hay khng ty thut ton. C th thot sm vng lp ngay sau khi tm thy).

V d: tm kim phn t trong mng

Trang 130/286

Gio trnh Visual Basic

Tm phn t nh nht ln nht

V d: tm gi tr ln nht trong mng

Trang 131/286

Gio trnh Visual Basic

Sp xp mng

Sp xp (Sort) mt danh sch l vic thng xuyn ca mt ngi vit chng trnh. C nhiu k thut sp xp khc nhau. Tuy nhin, trong ni dung mn hc ny yu cu bn ch cn nm r mt thut ton dng cho vit sp xp trn mng. Vic sp xp tng hay gim do cch so snh gia cc phn t trong mng. V d: sp xp mng 1 chiu tng dn Cho mng mt chiu Arr vi khi to nh sau

Thc hin sp xp mng Arr tng dn. Lu cc gi tr u v cui ca i v j.

Trang 132/286

Gio trnh Visual Basic

5.

S Dng Mt S Hm X L Chui

Khai bo chui: Dim Bin as string th y l bin chui c chiu di thay i v n c th cha khong hn 2 t k t. Hm Len, Left, Right, Mid: C php: Len(S): Cho bit chiu di thc ca chui S Left(S,N): Ly N StringExpression k t bn tri ca chui

Right(S,N): Ly N k t bn phi ca S Mid(S,M,N): Ly N k t ca S bt u t v tr th M

V d: Vit chng trnh x l chui nh sau Khi chng trnh bt u thc hin: Trang 133/286 Gio trnh Visual Basic

Khi nt Nhp d liu vo danh sch c chn:

Khi d liu c nhp vo textbox v Enter (tng ng nt cp nht c chn): Khi nt chn d liu theo mu c chn:

Trang 134/286

Gio trnh Visual Basic

M lnh: Option Explicit Private Sub Cmd_boChon_Click() Lbl_nhap.Caption = "Mu d liu: " txt_nhap.Text = "" cmd_capnhat.Caption = "&B chn" txt_nhap.Visible = True Lbl_nhap.Visible = True txt_nhap.SetFocus End Sub Private Sub Cmd_cMau_Click() Lbl_nhap.Caption = "Mu d liu: " txt_nhap.Text = "" Trang 135/286 Gio trnh Visual Basic

cmd_capnhat.Caption = "&Chn" txt_nhap.Visible = True Lbl_nhap.Visible = True txt_nhap.SetFocus End Sub Private Sub Cmd_cTat_Click() For i = 0 To Lst_dulieu.ListCount - 1 Lst_dulieu.Selected(i) = True Next End Sub Private Sub Cmd_ketthuc_Click() End End Sub Private Sub Cmd_nhap_Click() Lbl_nhap.Visible = True Lbl_nhap.Caption = "Nhp d liu: " cmd_capnhat.Visible = True cmd_capnhat.Caption = "&Cp nht" txt_nhap.Visible = True txt_nhap.Text = "" txt_nhap.SetFocus End Sub Private Sub Cmd_capnhat_Click() Trang 136/286 Gio trnh Visual Basic

Dim i As Integer If cmd_capnhat.Caption = "&Cp nht" Then Lst_dulieu.AddItem txt_nhap.Text txt_nhap.Text = "" txt_nhap.SetFocus End If If cmd_capnhat.Caption = "&Chn" Then For i = 0 To Lst_dulieu.ListCount - 1 If UCase(Left(Lst_dulieu.List(i), UCase(txt_nhap.Text) Then Lst_dulieu.Selected(i) = True End If Next End If If cmd_capnhat.Caption = "&B chn" Then For i = 0 To Lst_dulieu.ListCount - 1 If UCase(Left(Lst_dulieu.List(i), UCase(txt_nhap.Text) Then Lst_dulieu.Selected(i) = False End If Next End If End Sub Private Sub Form_Load() Trang 137/286 Gio trnh Visual Basic Len(txt_nhap.Text))) = Len(txt_nhap.Text))) =

Lbl_nhap.Visible = False txt_nhap.Visible = False cmd_capnhat.Visible = False Lst_dulieu.Clear Cmd_nhap.TabIndex = 0 End Sub

6.

G Ri Chng Trnh

Khi ta chy th chng trnh bng cch bm F5 , nu chng trnh c li th chng trnh s dng li v hin ra hp thoi cho bit chng trnh b li g:

Lc ny nu ta bm End th chng trnh kt thc, Nu bm Debug th mn hnh s quay v ca s lnh v dng lnh pht sinh li s c mu khc. i khi dng ny khng c li, nhng do li cu lnh no pha trn lm cho cu lnh ny khng thc hin c. Khi tm dng (Debug) th ca s Immediate hin ra. Ca s ny cho php ta thc hin tng cu lnh pht hin ra li. Mun xem gi tr Trang 138/286 Gio trnh Visual Basic

ca mt bin hoc mt thuc tnh th ta g tn bin hoc thuc tnh cn xem sau du ?. Da vo cc gi tr ny ta c th ln ra c li.

7.

In n

Khi cn in ni dng ca mt chng trnh ta chn lnh:

File Print th hp thoi in xut hin: nhga cc mc trong hp thoi: Range: Selection:In phn ang chn Current module: In m lnh ca module ang chn Project Curent: In ni dung ca Project hin hnh Print What: In m lnh ca chng trnh Form as text: In thng tin v Form v cc i tng trn Form. Print Quality: Cht lng in Print to file: In kt qu ra mt tp tin

Trang 139/286

Gio trnh Visual Basic

8.

Mng i Tng

Khi t mt control mi ln Form nu ta t tn cho n trng vi mt i tng c, hoc khi ta to mt i tng mi bng cch sao chp t mt i tng c th VB s hi chng ta c mun to cc i tng ny thnh mt mng hay khng?

Nu chng ta chn Yes th cc i tng ny s c cng tn v khi chng s c phn bit thng qua tn v ch s (index). V d: nu chng ta c mt option button tn opt sau ta sao chp thnh mng 3 option button na th cc nt s c phn bit nh sau: opt(0), opt(1), opt(2), opt(3). phn bit mt i tng c hat ng ch mng i tng hay khng, chng ta xem xt thuc tnh Index ca n. Nu Index l rng, th i tng l dng mng. Trang 140/286 Gio trnh Visual Basic

Khi mun to mt mng cc i tng ta cng c th lm bng cch to ra cc i tng ny sau t tn ca chng ging nhau Lu : Trong cc th tc s kin ca mt mng i tng lun c mt tham s index cho bit s kin xy ra trn thnh vin th my ca mng. Cn c trn gi tr Index ny, chng ta bit c i tng no trong mng control kch hat s kin .

V d: Vit chng trnh i mu cho control shape Shp t mng cc option button

y chng ta gi s cc Option button c t vo mng i tng c tn l Opt2 c ch s l Opt(0) Opt(3). Khi , c 3 button ny u c chung hm s kin l Private Sub Opt2_Click(Index As Integer) Private Sub Opt2_Click(Index As Integer) Select Case Index Case 0: Trang 141/286 Gio trnh Visual Basic

Shp1.FillColor = QBColor(12) Case 1: Shp1.FillColor = QBColor(1) Case 2: Shp1.FillColor = QBColor(5) Case 3: Shp1.FillColor = QBColor(14) End Select End Sub Phn lnh chn lai hnh (shape) ca shape Shp sinh vin t thc hin bng mng. 9. i Tng Timer

L b m thi gian. Sau mt khang thi gian nht nh do ngi lp trnh ch nh, timer s t ng thc thi hm s kin Timer_Timer. Sau mt khong thi gian nht nh (do ngi lp trnh ci t ti thuc tnh Interval) n s pht ra mt s kin gi l s kin thi gian - Timer_Timer, v ngi lp trnh s vit lnh thc hin cc x l mi khi s kin ny xy ra. Khi ta t i tng ny ln Form n s khng hin ln mn hnh. Cc thuc tnh ca timer: Enabled: Cho php hoc khng cho php Timer pht s kin thi gian

Trang 142/286

Gio trnh Visual Basic

Interval: thi gian nhy ca timer. n v l Milisecond (1/1000 giy) Ch : timer hat ng th: Thuc tnh Enabled=True Thuc tnh Interval>0 V d: Vit chng trnh cho 1 lablel t ng di chuyn t tri sang phi ca Form Sub Timer1_Timer() Lbl1.Left=Lbl1.Left + 50 End Sub V d: Vit chng trnh vi ct n giao thng t ng chuyn n theo th t Xanh Vng -

Option Explicit Private Sub Form_DblClick() Timer1.Enabled = False End Sub Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Shift = 0 Then Image1.Move X, Y Else Timer1.Enabled = True End If Trang 143/286 Gio trnh Visual Basic

End Sub Private Sub Timer1_Timer() Static count As Integer DoEvents If count = 0 Then Image1.Picture = LoadPicture("c:\program files\microsoft visual _ studio\common\graphics\icons\traffic\trffc10a.ico") count = count + 1 ElseIf count = 1 Then Image1.Picture = LoadPicture("\trffc10b.ico") count = count + 1 Else Image1.Picture = LoadPicture("\trffc10c.ico") count = 0 End If End Sub

Trang 144/286

Gio trnh Visual Basic

10.

Bi tp

1. Chng trnh tm c s ca mt s nhp vo

Khi chng trnh bt u thc hin th textbox nhp s c Setfocus (Gi : Dng s kin FormLoad v thc hin lnh TextBox_name.TabIndex=0. Lu trong s kin ny khng th s dng Phng thc SetFocus) Sau khi nhp s nu n Enter hoc Click vo nt thc hin th hin kt qu ln TextBox kt qu, v TextBox nhp vn c Focus Nu n Esc hoc click vo nut1 kt thc th dng chng trnh

Trang 145/286

Gio trnh Visual Basic

2. Vit chng trnh lm ton c bn theo yu cu sau:

Lu : Xy dng cc hm tnh 1+2+..+N, 1*2+2*3+..+N*(N+1)

Tnh

3. Vit chng trnh s dng mng vi cc chc nng c trnh by trn Form nh sau: Vic nhp gi tr cho cc phn t ca mng thc hin bi inputbox Lm li bi trn vi mng ng v gi tr ca mng c to ngu nhin.

Trang 146/286

Gio trnh Visual Basic

4. Vit chng trnh c giao din v thc hin cc yu cu sau:

Giao din: Trang 147/286 Gio trnh Visual Basic

Khi Form c load ln mn hnh th ch c nt Nhp d liu, nt Kt thc l s dng c, v nt Nhp d liu c Focus. Gi : S dng s kin Formload, cho gi tr Enabled ca cc i tng mun m bng false, Gn thuc tnh Tabindex ca nt nhp d liu =0 Khi nt Nhp d liu c n th cc nt lnh c sng ln, xa ni dung ca Textbox nho liu v Setfocus cho textbox ny (s dng phng thc setfocus). V d hnh bn di l khi nt Nhp d liu c n. (hnh 1) Khi mt trong cc nt (ngoi tr nt Nhp d liu v nt Kt thc) c chn th kt qu s hin ln textbox v cc nt lnh s b m ngay c nt va n. V d hnh bn di l kt qu khi nt inch hoa c n. (hnh 2)

(Hnh 1)

Trang 148/286

Gio trnh Visual Basic

(Hnh 2) Trong cc th tc mun ly mt k t ra x l ta dng hm mid vi s k t cn ly l 1.

5. Da vo chng trnh cc v d trn chui ( hc trn lp) hy to mt chng trnh c trnh by v thc hin thao nhng yu cu sau:

Trang 149/286

Gio trnh Visual Basic

ListBox cha d liu c thuc tnh Sorted=True Khi khi ng th thuc tnh Enabled ca nt phc hi = false Chc nng nhp d liu vo danh sch ging nh v d trn lp Chc nng chn d liu theo mu c thm phn: Nu ni dung ca mu chn =* th chn tt c cc mc ang c trong ListBox d liu Chc nng b chn d liu theo mu c thm phn: Nu ni dung ca mu chn =* th b chn tt c cc mc ang c trong ListBox d liu Chc nng xa cc mc ang chn s xa cc mc ang chn trong ListBox d liu. (xem li thut gii xa cc mc trong listbox cc v d trc). Tuy nhin c th

Trang 150/286

Gio trnh Visual Basic

phc hi cc mc xa th trc khi xa mt mc ta phi lu ni dung ca mc ny vo mt mng. Sau khi xa th s bt thuc tnh Enabled ca nt phc hi =True Gi : Khai bo mt mng ng kiu chui (di khong 25 k t) v mt bin SPT kiu Integer. Cc bin ny l nhng bin ton cc. Trc khi xa mt mc th a ni dung ca vo mt phn t ca mng ny ri tng bin SPT ln 1. Chc nng phc hi s s dng phng thc AddItem a cc mc ang c trong mng ton cc vo LixtBox d liu. Sau khi a ht cc phn t ca mng vo ListBox th Redim mng ton cc v 0 v cho gi tr ca bin SPT v 0, ng thi cho thuc tnh Enabled ca nt phc hi = false

6. Vit chng trnh nhp N s t nhin u tin: t 1N vo ListBox. Khi ngi s dng chn 1 s, th cc c s t nhin ca s c chn c hin th trong ListBox th 2.

Trang 151/286

Gio trnh Visual Basic

7. Vit chng trnh nhp N s t nhin u tin: t 1N vo ListBox. Khi ngi s dng chn 1 s trong Listbox th nht, th s c chn c phn tch thnh tha s nguyn t v c hin th trong ListBox th 2

Trang 152/286

Gio trnh Visual Basic

8. Vit hm tnh n! ( n!=1.2.3..n ) S dng hm trn tnh chui: S = 1 + 1/2! + 1/3! + 1/4! + +1/n! 9. Vit hm kim tra 1 s c phi l s nguyn t hay khng? (Function KiemTraSNT(n): tra v 0 nu n khng phi l s nguyn t, 1 nu n l s nguyn t.) 10.S dng hm s trn tm M s nguyn t u tin(M>0: s nhp vo) 11. Vit hm tnh tng cc c s ca 1 s nguyn dng n nhp vo (TongUoc(6)=6) 12. Vit hm gii phng trnh bc 1. (GiaiPTB1(a,b,x1) as Integer). Hm ny tr v 0 nu VN, 1 nu 1 nghim, v 2 nu VSN. 13. Bt ch t ng i mu (nhp nhy) t xanh -> . Tc nhy do ngi s dng chnh trn thanh cun, (Cc icon bt ch trong th mc: Graphics\icons\writings)

Trang 153/286

Gio trnh Visual Basic

14. Vit chng trnh lm mt trng xoay trn. Tc nhy do ngi s dng chnh trn thanh cun, (Cc icon trong th mc: Graphics\icons\elements)

15. Vit chng trnh: qu bng di ln xung khng ngng trong mt Form.

16.Vit hm tm phn t l s nguyn t trong tt c cc phn t ca mng.

Trang 154/286

Gio trnh Visual Basic

17. Vit chng trnh nhp vo mt dy n s thc a[0], a[1],, a[n-1], sp xp dy s theo th t t ln n nh. In dy s sau khi sp xp. 18. Vit mt hm o ngc th t cc phn t ca mt mng s thc: 19. Tm phn t ln nht/nh nht trong mng. 20. Vit chng trnh to ra ma trn vung n x n, vi n c nhp vo (3 Option

Trang 216/286

Gio trnh Visual Basic

Ti th Advanced cho php chng ta chn mc SDI Development Environment dng chuyn mi trng lm vic ca Visual Basic t SDI (Single Document Interface) sang MDI (Multi Document Interface) hay ngc li

Trang 217/286

Gio trnh Visual Basic

Th Editor cho php chng ta ty chn: Auto Syntax Check: t ng kim tra li c php Require Variable Declaraion: yu cu bin phi khai bo. Tng t ch Option Explicit Tab Width: iu chnh kch thc nhy Tab (s khang trng) khi vit code

Th General Show Grid: Hin th li trn Form khi chng ta ang thit k giao din. Li gip chng ta d dng ging hng i tung. Gird Width, Grid Height: kch thc li. Kch thc cng nh, chnh cnh chnh xc, tuy nhin giao din s b ri. Trang 218/286 Gio trnh Visual Basic

8.

S Dng Shortcuts (Phm Tt) Khi Son Tho Code Chc nng Xa dng lnh ti v tr hin thi Xa t pha bn tri Xa t pha bn phi T ng tm v in vo t kha, hay bin Nhy n u Module lnh hin hnh Nhy n cui Module lnh hin hnh Tht dng (Indent) 1 on m lnh Canh dng ra tri (Outdent) 1 on m lnh Nhy n 1 Procedure t tn Procedure (ch s dng cho hm t vit) s dng kim tra li hm t vit Ctrl + Y Ctrl + Back Space Ctrl + Delete Ctrl + Spacebar Ctrl + Home Ctrl + End Chn khi ln, v phm TAB (hay Edit Toolbar) Chn khi ln, v phm Shift+TAB (hay Edit Toolbar) Shift+F2 Phm tt

Trang 219/286

Gio trnh Visual Basic

Quay v v tr ang gi hm (khi ang trong on m nh ngha hm) sau khi s dng Shift+F2

Ctrl+Shift+F2

V mt s phm tt khc khi san tho code Chc nng Xem ca s Code Xem ca s Object Browser Tm kim Thay th Tm tip Tm ngc Chuyn n th tc k tip Chuyn n th tc trc Xem nh ngha Cun xung 1 mn hnh Cun ln mt mn hnh Nhy v v tr trc Chc nng Di con tr sang phi 1 t Di con tr sang tri 1 t F7 F2 CTRL + F CTRL + H SHIFT + F4 SHIFT + F3 CTRL + DOWN ARROW CTRL + UP ARROW SHIFT + F2 CTRL + PAGE DOWN CTRL + PAGE UP CTRL + SHIFT + F2 Phm tt CTRL + RIGHT ARROW CTRL + LEFT ARROW Phm tt

Trang 220/286

Gio trnh Visual Basic

Di con tr v cui dng Di con tr v u dng Ly li hnh ng trc Canh tri Xo tt c cc im dng (break-points) Xem menu cm ng cnh

END HOME CTRL + Z TAB SHIFT + SHIFT + F9

SHIFT + F10

9.

Tch Ca S Son Tho Dng xem mt lc 2 Code Procedure cng 1 lc trong 2 ca s c lp nhau. Thch hp cho chng trnh c nhiu Procedure. S dng Menu: [Winow][Split] hay Split Bar. hy b ch Split Window, Chn Menu: [Winow][Split] hay ko Split Bar ln trn. Trang 221/286 Gio trnh Visual Basic

10.

Ko V Th

S dng kh nng Ko v Th ca chut di chuyn khi lnh: Chn khi lnh v ko n v tr mi. S dng kh nng Ko v Th ca chut Copy khi lnh: Chn khi lnh v ko n v tr cn dn, trong khi ko th gi phm Ctrl. 11. To Nhiu i Tng Nhanh

Khi cn to nhiu i tng cng loi, bnh thng mi ln v phi chn li (bng cch Click chut) i tng t Toolbox. to nhiu i tng cng loi mt cch nhanh chng cc i tng ny ly tn khc nhau, khng phi to mng i tng, khi chn ToolBox cho i tng u tin, gi phm Ctrl khi Click. Vic to cc i tng th 2,3 c tin hnh trong khi vn gi phm Ctrl. to nhiu i tng cng loi mt cch nhanh chng cc i tng trong 1 mng i tng, s dng kh nng Copy v Dn cc i tng. 12. S Dng Form Editor Toolbar

S dng toolbar ny nhanh chng thi k v canh chnh i tng m Form Edittor Toolbar: T Menu: [View] [ToolBar]-[Form Editor] Vi cc nt lnh t tri qua phi: Trang 222/286 Gio trnh Visual Basic

Send to Front: a i tng ln trn i tng khc Send to Back: a i tng xung di i tng khc Align Objects: ging hng. Center Object In Form: cho i tng nm gia Form Make Same Size: iu chnh kch thc nhm i tng Lock Controls On Form: Kha i tng trn Form. Khng cho php di chuyn.

13.

iu Chnh i Tng Bng phm

iu chnh v tr i tng bng bn phm (keyboard) Chn i tng cn iu chnh Gi phm Ctrl, v chn phm di chuyn (ln, xung, qua tri, sang phi) di chuyn i tng theo hng c chn. (Mi ln di chuyn s qua ng li k tip) iu chnh kch thc i tng bng bn phm (keyboard) Trang 223/286 Gio trnh Visual Basic

Chn i tng cn iu chnh Gi phm Shift, v chn phm di chuyn (ln, xung, qua tri, sang phi) thay i kch thc i tng theo hng c chn. 14. S Dng Colot Palette chn mu

Visual Basic cung cp cho chng ta cng c Color Palette chn mu (nn, font ch) khi thit k giao din. hin th Color Palette, chn menu View-> Color Palette. Chng ta chn lai (font ch hay mu nn) sau ch vic chn mu sc cho cc i tng trn Form.

15.

S Dng Shortcuts Thc Thi Mt Project

Trang 224/286

Gio trnh Visual Basic

Chc nng Thc thi Project hin hnh (From Design Time) Tip tc Thc thi Project (From Break Time) Khi ng li Project (From Break Time) Dng Project ang thi hnh Bt u thc thi Project thng qua tng dng lnh n (Dng cho vic kim tra v Debug) F5 F5

Phm tt

Shift + F5 Ctrl + Break F8

16.

S Dng Object Brower Object Brower ca VB c xem nh mt ngun thng tin quan trng xem xt Objects, properties, methods, Events hay cc hng s c nh ngha sn ca cc i tng VB, cc i tng ca cc ng dng khc VB, cc Active X controls. Object Brower cn l mt bng tng hp v Project hin hnh, vi cc Objects, Properties, Procedures c nh ngha trong Project hin hnh. Thng qua Object Brower nhy n cc phn on Code trong chng trnh m Object Browser: bm phm F2 hoc chn menu View-Object Browser

Trang 225/286

Gio trnh Visual Basic

V d: Tm bng cc hng s mu c nh ngha bi VB M Object Browser Nhp vo t kha mu bt k m chng ta nh (v d: Vbred) Nhn nt tm (hay bm Enter) Object Browser hin th ton b cc hng s v mu trong danh sch

Trang 226/286

Gio trnh Visual Basic

T tm hiu v cc i tng:Chon oi tng can tm hieu trong bang Classes. Object Brower cua VB hien th cac properties, methods, Events cua oi tng tng ng. Method Icon

Event Icon Property Icon

Chng ta c th s dng Object Brower nhy n mt v tr Code no trong chng trnhChon Project trong danh sach Project / Library. Trong ca so Classes se hien th cac Module va Form cua Project. Chon Form can tm. List Box phai se hien th cac ham s kien, ham t nh ngha cua Form tng ng. e nhay en Procedure hay Sub nao, Double Click tren ham tng ng.

Project / Library Box

Trang 227/286

Gio trnh Visual Basic

17.

S dng t kha With

S dng With khi c an lnh lp li nhiu ln vi mt i tng no . With End With gip chng trnh d c, vit nhanh hn, r ngha hn. Khng s dng With Text1.Text = "Test" Text1.FontBold = True Text1.ForeColor = QBColor(13) S dng WithEnd With With Text1 . Text = "Test" . FontBold = True . ForeColor = QBColor(4) End With 18. S Dng gip (Help)

Visual Basic i km vi b gip rt mnh v phong ph, y , v chi tit. ci b Help, chng ta phi ci b a MSDN Library sau khi ci xong Visual Studio. hin gip , chng ta bm phm F1 ngay ti cc control, an lnh hin tr gip ng cnh tng ng

Trang 228/286

Gio trnh Visual Basic

PH LC 1: CI T VISUAL BASIC ci t Visual Baisc 6.0, chng ta s dng a Visual Studio 6.0 hay cn gi l Visual Studio 98 (1 CDROM). Nu mun ci t thm bn gip (help) cho Visual Basic 6.0, chng ta cn c b a MSDN 98 (2 CDROM).

Sau y s trnh by cc bc c bn ci t Visual Basic 6.0 Bc 1: B a CDROM Visual