T HC VISUAL BASIC 6.0 - PHN I 1
MC LC
Chng Mt - Hoan nghênh đn vi VB6 .................................................2
Chng Hai- Vit chng trình đu tiên..................................................15
Chng Ba – Form và các Controls thông thng...................................27
Chng Bn - Vit Code ..........................................................................43
Chng Nm - Các loi d kin ...............................................................55
Chng Sáu - Dùng d kin .....................................................................67
Chng By - Dùng List Controls............................................................78
T HC VISUAL BASIC 6.0 - PHN I 2
Chng Mt - Hoan nghênh đn vi VB6
Chào mng bn đn vi Visual Basic 6
Dùng VB6 là cách nhanh và tt nht đ lp trình cho Microsoft Windows.
Cho dù bn là chuyên nghip hay mi m đi vi chng trình Windows,
VB6 s cung cp cho bn mt b công c hoàn chnh đ đn gin hóa
vic trin khai lp trình ng dng cho MSWindows.
Visual Basic là gì? Phn "Visual" đ cp đn phng pháp đc s
dng đ to giao din đ ha ngi dùng (Graphical User Interface hay
vit tc là GUI) . Có sn nhng b phn hình nh, gi là controls, bn tha
h sp đt v trí và quyt đnh các đc tính ca chúng trên mt khung màn
hình, gi là form. Nu bn đã tng s dng chng trình v chng hn
nh Paint, bn đã có sn các k nng cn thit đ to mt GUI cho VB6.
Phn "Basic" đ cp đn ngôn ng BASIC (Beginners All-Purpose
Symbolic Instruction Code), mt ngôn ng lp trình đn gin, d hc,
đc ch ra cho các khoa hc gia (nhng ngi không có thì gi đ hc
lp trình đin toán) dùng.
Visual Basic đã đc ra t MSBasic, do Bill Gates vit t thi dùng cho
máy tính 8 bits 8080 hay Z80. Hin nay nó cha đn hàng trm câu lnh
(commands), hàm (functions) và t khóa (keywords). Rt nhiu
commands, functions liên h trc tip đn MSWindows GUI. Nhng
ngi mi bt đu có th vit chng trình bng cách hc ch mt vài
commands, functions và keywords. Kh nng ca ngôn ng này cho phép
nhng ngi chuyên nghip hoàn thành bt k điu gì nh s dng ngôn
ng lp trình MSWindows nào khác.
Ngi mang li phn "Visual" cho VB là ông Alan Cooper. Ông đã gói
môi trng hot đng ca Basic trong mt phm vi d hiu, d dùng,
không cn phi chú ý đn s tinh xo ca MSWindows, nhng vn dùng
các chc nng ca MSWindows mt cách hiu qu. Do đó, nhiu ngi
xem ông Alan Cooper là cha già ca Visual Basic.
Visual Basic còn có hai dng khác: Visual Basic for Application (VBA)
và VBScript. VBA là ngôn ng nm phía sau các chng trình Word,
Excel, MSAccess, MSProject, .v.v.. còn gi là Macros. Dùng VBA trong
T HC VISUAL BASIC 6.0 - PHN I 3
MSOffice, ta có th làm tng chc nng bng cách t đng hóa các
chng trình.
VBScript đc dùng cho Internet và chính Operating System.
Dù cho mc đích ca bn là to mt tin ích nh cho riêng bn, trong mt
nhóm làm vic ca bn, trong mt công ty ln, hay cn phân b chng
trình ng dng rng rãi trên th gii qua Internet, VB6 cng s có các
công c lp trình mà bn cn thit.
Các n bn Visual Basic 6
Có ba n bn VB6: Learning, Professional và Enterprise. Chúng ta hãy
gát qua n bn Learning. Bn có th dùng n bn Professional hay
Enterprise.
n bn Professional cung cp đy đ nhng gì bn cn đ hc và trin
khai mt chng trình VB6, nht là các control ActiveX, nhng b phn
lp trình tin ch và rt hu dng cho các chng trình ng dng
(application programs) ca bn trong tng lai. Ngoài đa compact chính
cho VB6, tài liu đính kèm gm có sách Visual Studio Professional
Features và hai đa CD Microsoft Developer Network (MSDN).
n bn Enterprise là n bn Professional cng thêm các công c Back
Office chng hn nh SQL Server, Microsoft Transaction Server, Internet
Information Server.
Cài đt VB6
cài đt VB6, máy tính ca bn cn phi có mt đa CD-ROM (CD
drive) . Bn cn ít nht 32 MB RAM, 2 GB hard disk và CPU Pentium II.
Khi b VB6 CD vào CD drive, nó s t khi đng đ display menu cho
bn chn nhng th gì cn Setup, hãy click Install Visual Basic 6.0 đ
cài VB6. Ngoi tr các file h điu hành (Operating System) trong th
mc (folder) \Os, các file trong đa compact đu không b nén. Vì th, bn
có th s dng chúng trc tip t đa. Ví d, có nhiu công c và thành
phn trong folder \Tools vn có th đc cài đt trc tip t CD-ROM.
Ngoài ra, bn có th chy Setup khi nào cn thit. Ví d, bn có th chy
T HC VISUAL BASIC 6.0 - PHN I 4
Setup đ cài đt li Visual Basic trong folder khác, hoc đ cài đt thêm
bt các phn ca VB6.
Nu vì lý do gì h thng không install các đa compact MSDN (bn s
khám phá ra điu ny khi thy Help không có mt lúc chy VB6), bn có
th cài đt chúng trc tip t đa s 1 ca b MSDN.
b xung và xóa các thành phn VB:
1. B đa compact vào CD drive.
2. Nu menu không t đng hin lên thì chy chng
trình Setup có sn tong folder gc trên đa compact.
3. Chn nút Custom trong hp thoi (dialog) Microsoft
Visual Basic 6.0 Setup.
4. Chn hay xóa các thành phn bng cách check hay
uncheck các hp danh sách Options ca dialog
Custom.
5. Thc hin các ch dn Setup trên màn hình.
Ghi chú: Trong lúc cài VB6, nh chn Graphics nu không bn s thiu
mt s hình nh nh icons, bitmaps v.v... áng l Microsoft cho t đng
cài đt Graphics, tc là Default (không có nói gì) thì cài đt Graphics.
Integrated Development Environment (IDE) ca VB6
Khi khi đng VB6 bn s thy m ra nhiu ca s (windows),
scrollbars, v.v.. và nm chng lên là New Project dialog. đây VB6 cho
bn chn mt trong nhiu loi công trình.
T HC VISUAL BASIC 6.0 - PHN I 5
Chn Standard EXE. Mt lát sau trên màn nh s hin ra giao din ca
môi trng phát trin tích hp (Integrated Development Environment -
IDE ) ging nh di đây:
T HC VISUAL BASIC 6.0 - PHN I 6
IDE ca VB6 bao gm các yu t sau:
Menu Bar
Cha đy đ các commands mà bn s dng đ làm vic vi VB6, k c
các menu đ truy cp các chc nng đc bit dành cho vic lp trình
chng hn nh Project, Format, hoc Debug. Trong Menu Add-Ins có
Add-Ins Manager cho phép bn gn thêm nhng menu con nhim ý đ
chy các chng trình li ích cho vic lp trình.
Trong Add-Ins Manager dialog bn chn mt Add-In ri check mt hay
nhiu hp trong khung Load behavior:
Toolbars (Debug, Edit, form Editor, Standard)
Các toolbars có hình các icons cho phép bn click đ thc hin công vic
tng đng vi dùng mt menu command, nhng nhanh và tin hn.
Bn dùng menu command View | Toolbars (click lên menu command
View cho popupmenu hin ra ri click command con Toolbars) đ làm
cho các toolbars hin ra hay bin mt đi. Bn có th thay đi v trí mt
toolbar bng cách nm vào hai gch vertical nm bên trái toolbar ri di
toolbar đi ch khác (nm đây ngha là đ pointer ca mouse lên ch
T HC VISUAL BASIC 6.0 - PHN I 7
chm đ trong hình phía di ri bm xung và gi nút bên trái ca
mouse, trong khi kéo pointer đi ni khác).
Ngoài ra bn cng có th sa đi các toolbars theo ý thích bng cách
dùng Menu command View | Toolbars | Customize...
Toolbox
ây là hp đ ngh vi các công c, gi là controls, mà bn có th đt lên
các form trong lúc thit k (design). Nu Toolbox bin mt, bn có th
display nó tr li bng cách dùng menu command View | Toolbox. Bn
T HC VISUAL BASIC 6.0 - PHN I 8
có th khin toolbox display nhiu controls hn bng cách chn
Components... t context menu (chn Toolbox ri bm nút phi ca
mouse đ display context menu) hay dùng menu command Project |
Components. Ngoài vic trình bày Toolbox mc đnh, bn có th to
cách trình bày khác bng cách chn Add Tab... t context menu và b
sung các control cho tab t kt qu.
Project Explorer
S lit kê các forms và các modules trong project hin hành ca bn. Mt
project là s tp hp các files mà bn s dng đ to mt trình ng dng.
Tc là, trong VB6, khi nói vit mt program có ngha là trin khai mt
project.
Properties window
Lit kê các đc tính ca các forms hoc controls đc chn. Mt property
là mt đc tính ca mt object chng hn nh size, caption, hoc color.
Khi bn sa đi mt property bn s thy hiu qu ngay lp tc, thí d
thay đi property Font ca mt Label s thy Label y đc display bng
Font ch mi. Khi bn chn mt Property ca control hay form trong
Properties window, phía bên phi ch value ca property có th display
ba chm (. . .) hay mt tam giác cha xung. Bm vào đó đ display mt
T HC VISUAL BASIC 6.0 - PHN I 9
dialog cho bn chn value. Thí d di đây là dialog đ chn màu cho
property ForeColor ca control Label1.
Form Layout
Bn dùng form Layout đ chnh v trí ca các forms khi form hin ra ln
đu lúc chng trình chy. Dùng context command Resolution Guides
đ thy nu dùng mt màn nh vi đ mn (resolution) t hn, thí d nh
640 X 480, thì nó s nh nh th nào.
T HC VISUAL BASIC 6.0 - PHN I 10
Form Designer
Dùng đ thit k giao din lp trình. Bn b sung các controls, các đ ha
(graphics), các hình nh và mt form đ to s ma sát mà bn mun. Mi
form trong trình ng dng ca bn có designer form riêng ca nó. Khi
bn maximise mt form designer, nó chim c khu làm vic. Mun làm
cho nó tr li c bình thng và đng thi đ thy các form designers
khác, click nút Restore Window góc bên phi, phía trên.
Immediate Window
Dùng đ g ri (debug) trình ng dng ca bn. Bn có th display d
kin trong khi chy chng trình ng dng. Khi chng trình đang tm
ngng mt break point, bn có th thay đi giá tr các variables hay
chy mt dòng chng trình.
View Code button
Click lên nút ny đ xem code ca mt form mà bn đã chn. Window
ca code ging nh di đây:
T HC VISUAL BASIC 6.0 - PHN I 11
Trong Code window bn có th chn display tt c Sub ca code cùng
mt lúc nh trong hình hay display mi ln ch mt Sub bng cách click
button có hình ba dòng nm góc bên trái phía di.
View form button
Click lên nút ny đ xem form ca mt form mà bn đã chn.
Ghi chú: Nhiu windows trong IDE nh Toolbars, Toolbox, Project
Explorer .v.v..có th trôi lình bình (floating) hay đu bn (docked). Bn
có th thay đi v trí chúng bng cách nm vào Title Bar ca window ri
di đi. D nhiên bn cng có th m rng hay làm nh mt window bng
cách di mt cnh vertical hay horizontal ca nó. Khi đ mt window lên
trên mt window khác chúng có th tìm cách dính nhau.
Trong hình di đây, Properties Window và Form Layout đã đc kéo ra
ngoài cho floating.
T HC VISUAL BASIC 6.0 - PHN I 12
Nhn tr giúp trong khi đang làm vic
Trong khi lp trình bn có th cn tìm hiu các thông tin liên quan đn
các commands, functions .v.v.. ca VB6. Bn có th khi đng Microsoft
Developer Network | MSDN Library Visual Studio 6.0 t nút Start,
hay click Help | Contents t Menu Bar ca VB6, hay chn mt keyword
(highlight keyword) ri n F1 đ đc Help.
T HC VISUAL BASIC 6.0 - PHN I 13
Ni dung Help bao gm nhiu đc đim đc thit k đ thc hin vic
tìm kim thông tin d dàng hn. Bn có th da trên Contents đ đc tài
liu nh mt quyn sách, Index đ đc nhng đon có nhc đn mt
keyword hay Search đ tìm mt tài liu nhanh hn. Ví d, vic g ri
thông tin bt ngun t nhiu đc tính khác nhau ph thuc vào loi đ án
mà bn đang làm vic. Các liên kt đc mô t trong phn ny thc hin
vic tìm kim d dàng hn.
Ngoài ra, bn cng có th click See Also di tiêu đ ca ch đim đ
xem các tiêu đ ca các ch đim mà bn có th đi đn hoc liên h đn
nhiu thông tin.
Context Sensitive Help (tr giúp trong đúng tình hung)
Nhiu phn ca VB6 là context sensitive, có ngha là lúc bi ri ch cn
n nút F1 hoc highlight keyword ri nhn F1 là đc thông tin nhng gì
liên h trc tip vi tình hung hin gi ca bn.
Bn có th nhn F1 t bt k phn context sensitive nào ca giao din
VB6 đ display thông tin Help v phn đó. Các phn context sensitive là:
• Các Windows ca VB6 nh Properties, Code .v.v..
• Các control trong Toolbox.
• Các Object trên mt form hoc Object tài liu.
• Các đc tính trong Window Properties.
• Các keywords ca VB6
• Các thông báo li (error messages)
Ngoài ra, trong Help thng có Example. Bn click lên ch Example đ
display mt thí d minh ha cách dùng mt function hay property.
Microsoft on the Web
Web site ca Microsoft cha nhiu thông tin cp nht cho nhng ngi
lp trình VB6. Trang ch Visual Basic đt ti URL
Thông tin có sn ti đa ch ny bao
gm:
T HC VISUAL BASIC 6.0 - PHN I 14
• Cp nht các đc tính mi, các phiên bn sn phm,
các sn phm liên h, các thuyt trình (seminar) và các
hot đng (event) đc bit.
• Thông tin b sung trên các đc tính VB6 cha trong
các bài vit gi là White Papers, các mách nc (tips)
và các trình tr giáo, ngun đào to.
• Sn phm mi ti xung (download) bao gm s cp
nht đn các file chng trình, các cp nht tr giúp,
các trình điu khin, và các file liên h khác ca VB6.
truy cp Web site ca Microsoft, t menu Help chn Microsoft on
the Web ri chn menu con tùy thích nh di đây.
Ghi chú: Mt s ni dung trên Web site ca Microsoft đc ti u hóa
dành cho Microsoft Internet Explorer và không th display đy đ trong
mt b trình duyt (browser) khác. Do đó bn nên ch dùng Internet
Explorer làm browser trên máy bn mà thôi.
T HC VISUAL BASIC 6.0 - PHN I 15
Chng Hai- Vit chng trình đu tiên
Bn đang làm quen vi môi trng trin khai lp trình (Integrated
Development Environment - IDE) ca MS VB6 và rt nóng rut mun
vit nhng dòng mã đu tiên đ chào mng th gii.
Ta th ôn li mt s vn đ mà có l bn đã bit ri. Mt chng trình
Visual Basic gm có phn mã lp trình và các hình nh (visual
components). Bn có th thit k phn hình nh bng cách dùng nhng đ
ngh (Controls hay Objects) t Túi đ ngh (Toolbox) nm bên trái. Nu
bn không thy cái Túi đ ngh thì dùng mnh lnh Menu View|Toolbox
đ bt nó hin ra.
Khi bn bt đu thit k mt chng trình bng cách chn Standard EXE,
môi trng trin khai lp trình (IDE) cho bn sn mt Form tên là Form1.
Bn có th đi tên (Name) nó trong cái ca s Propeties nm phía di
bên phi (trong hình di đây ta edit Name property ca Form1 thành ra
frmMainForm). Bn cng có th sa đ ta (Title) ca form ra cái gì có ý
ngha hn bng cách đi Caption ca form cng trong ca s Propeties
(trong hình di đây ta edit Caption property ca form thành ra "Chi tiet
cua ban toi").
Sp đt các vt dng lên Form
Mun đt mt Control lên Form, click hình cái Control trong Toolbox ri
Drag (bm nút trái ca con chut ri kéo cho thành hình ch nht trc
khi buông nút trái ra) con chut trên Form v thành c ca Control.
Nhng Controls bn s dùng thng nht t Toolbox là Label (nhãn),
Textbox (hp đ đánh ch vào) và CommandButton (nút bm mnh
lnh).
T HC VISUAL BASIC 6.0 - PHN I 16
Trong hình trên ta có ba Label và ba Textbox. Mun sa ch Label1 ra
"Ten" thì edit Property Caption. Còn Textbox không dùng Property
Caption mà dùng Property Text. Ta cng có th thay đi các Property
Caption và Text trong khi chy chng trình (at run-time). Trong lúc thit
k (design time) bn có th sa đi kiu ch ca nhng Controls bng
cách edit Property Font ca chúng trong ca s Properties (click bên phi
ca Property Font trong Properties Window, IDE s pop-up cái Font
dialog đ bn la chn nhng đc tính ca Font nh trong hình di
đây).
Nu bn thy bc mình ti sao cái c ch t có (default size) ca các
Control hi nh, bn có th gii quyt bng cách sa c ch ca chính
Form cho nó ln hn. Vì khi mt Control đc đt lên mt Form, nó tha
k c ch ca Form.
sp xp cho mt s Control thng hàng vi nhau bn chn c nhóm
ri dùng mnh lnh Menu Format|Align|Lefts .v.v..Nu bn cha bit
cách chn mt nhóm Control thì có hai cách. Cách th nht bn đè nút
Shift trong khi click các Control bn mun chn. Cái Control mà bn
chn sau cùng s là cái chun đ các Control khác s làm ging theo.
Cách th hai là Drag cho si dây thun (rubber band) bc chung quanh các
Control. Trong trng hp các Control ny nm trong mt container, thí
d nh mt khung (Frame) hay PictureBox, thì bn phi click Form
trc, ri đè nút Ctrl trong khi Drag rubber band bao các Control.
Cha mi th ca mt d án VB
Ti đây bn đ ý thy trong ca s bên phi, phía trên, gi là Project
Explorer, có hình ging nh mt cái cây (tree) cho thy ta có mt Form
T HC VISUAL BASIC 6.0 - PHN I 17
trong mt Project (d án). Project là mt cách tin dng đ ta sp xp
nhng gì cn thit cho mt d án. Thng thì mt d án có nhiu Form
và có th cn nhng th khác.
Mi Form s đc cha vào đa di dng "frmMainForm.frm". Bn
save mt form bng menu command File | Save formfilename.frm. Nu
trong Form1 có cha hình nh (thí d bn dùng Properties Window đ
chn mt icon hình gng mt ci làm icon cho frmMainForm) thì các
hình nh ca frmMainForm s đuc t đng cha trong h s
"frmMainForm.frx". Lu ý là không nht thit tên ca h s (file) mà bn
phi cho bit khi cha (save) phi ging nh tên ca Form mà bn dùng
trong chng trình. Tuy nhiên bn nên dùng cùng mt tên cho c hai đ
sau ny d tìm h s nu có tht lc. Theo qui c thông thng, các
Form đc đt tên bt đu bng "frm", thí d nh "frmMainForm".
Khi bn save mt Project thì có ngha là save tt c h s dùng cho d án,
k c các Form và mt h s cho chính Project, thí d nh
"MyFirstProg.vbp" ("vbp" là vit tt ch Visual Basic Project). Bn save
Vb6 project bng menu command File | Save Project. À, mun đi tên
Project, bn click lên hàng trên cùng bên phi trong ca s Project
Explorer (Project1 (Project1.vbp)), ri edit tên ca Project trong ca s
Properties phía di. Bn nên cha tt c nhng h s dùng cho cùng mt
Project trong cùng mt tp (Folder/Directory).
Bn có th dùng Notepad đ m ra xem chi, coi trong
"frmMainForm.frm" có gì. Bn s thy trong y gm có hai phn: phn
đu là din t các Control nm trong Form, phn còn li là mã lp trình
mà bn vit. Bn cng s chú ý là các properties mà bn đã sa cho các
Control đu đc ghi li trong phn đu nói trên. VB da vào phn din
t các Control đ thit lp li (reconstruct) hình nh ca Form.
T HC VISUAL BASIC 6.0 - PHN I 18
Sau ny, khi đã lão luyn VB, bn có th dùng mt chng trình t đng
ch (generate) ra nhng hàng din t các Control cho mt Form.
ó là k thut dùng trong các Wizards ca VB đ ch mt s chng
trình khi đu cho chúng ta t các bng km (Template).
Thêm mã lp trình đ x lý mt s c
Hu ht lp trình trong Visual Basic là vit mã đ x lý các s c (Event).
Thí d mun chm dt chng trình, ngi s dng s click nút "Xuat".
thc hin điu ny trong khi trin khai chng trình bn doubleClick
(click liên tip 2 ln) nút "Xuat". VB IDE s vit sn cho bn cái v ca
mt Subroutine:
T HC VISUAL BASIC 6.0 - PHN I 19
Private Sub cmdXuat_Click()
End
' Bn ch vit thêm dòng ny đ kt thúc chng trình
End Sub
ý là tên (Name) ca nút Xuat là "cmdXuat" ("cmd" là vit tt ch
CommandButton), VB gn thêm du gch di và Event Click đ làm
thành tên cmdXuat_Click ca Sub, chng trình nh s đc x lý khi
ngi s dng click nút Xuat. Chng trình nh hay Subroutine ny còn
đc gi là Event Handler cho Event Click. Hàng ch xanh lá cây là dùng
đ gii thích cho lp trình viên (gi là Comment), VB s hoàn toàn không
chú ý đn nó khi x lý Sub cmdXuat_Click.
Comment có ngha là chú thích. Trong VB chú thích bt đu bng du
single quote
'. Khi VB thy du ny là nó b qua nhng gì còn li trên
dòng mã.
Là Lp trình viên chuyên nghip bn nên tp thói quen dùng Comment
mi ni đ giúp ngi khác và chính bn hiu chng trình ca mình.
Nên nh là tin phí tn đ bo trì mt chng trình thì ít nht là tng
đng vi s tin b ra ln đu đ trin khai. Bo trì có ngha là thm
ving li chng trình đ sa li (fix bug) và thêm các đc đim cho hay
hn (enhancement).
Nói chung h bn làm điu gì bí him hay cc c thì làm n gii thích rõ
ràng.
Nu mun ct mt dòng mã VB ra làm hai dòng thì chm dt dòng th
nht bng du gch di _.
Tip theo, bn doubleClick nút "Viet vao dia" và vit nhng hàng mã sau:
Private Sub cmdViet_Click()
Open "myFriends.txt" For Output As #2
' M mt h s đ vit ra và gi là cng s 2
' Vit vào cng s 2: Tên, a ch và Tui, ngn cách nhau bng du chm phy
Print #2, txtTen & ";" & txtDiachi & ";" & txtTuoi
Close #2
' óng cng s 2
End Sub
Trong Sub cmdViet_Click, trc ht ta m mt h s tên là
"myFriends.txt" và gi nó là cng s 2. Sau khi m h s đ vit ra ta
ráp Tên, a ch và Tui li, ngn cách bng du chm phy (;) đ đánh
du nh sau ny ta mun g riêng ba th ra tr li. Du "&" là operator
đ ráp (concatenate) hai dòng ch (text string) li vi nhau.
T HC VISUAL BASIC 6.0 - PHN I 20
Print #2 có ngha là vit ra cng s 2, tc là h s "myFriends.txt".
Th chúng ta vit ra cng 2 là Tên, a ch và Tui (txtTen & ";" &
txtDiachi & ";" & txtTuoi).
Nhng rc ri ca vic m mt h s
Cái cng s 2 trên là ta t chn (arbitrary). Tht ra mun gi cng s
my cng đc, min là cha có phn nào khác trong cùng chng trình
ny đang dùng cng s y. ây là mt cách VB làm vic cho tin thay vì
gi nguyên mt cái tên h s dài.
Nu mun chc chn không trùng s cng vi ch nào khác, ta có th làm
nh sau:
fileNo = freefile
Ri thay th s 2 bng ch fileNo trong Sub cmdViet_Click. freeFile là
mt Function (chng trình nh dùng đ tính ra mt th gì) nh VB cp
phát cho mt con s đi din h s cha ai dùng.
Ch Output trong câu ( Open "myFriends.txt" For Output As #2
) dùng
đây đ nói t CPU (Central Processing Unit) ta mun "vit ra" mt h s.
Khi m mt h s đ vit ra kiu ny thì nu h s cha có nó s đc
dng nên (created). Nu h s đã có ri thì nó s b xoá b (delete) và
đng thi mt h s trng và mi s đc dng nên. ng t chuyên
môn là "vit chng lên" (overwrite).
Nu ta m mt h s đ "đc vào" thì dùng ch "Input" thay vì
"Output". Còn nu "vit thêm" vào mt h s có sn (ch không
overwrite h s y) thì dùng ch "Append" thay vì "Output". Trong
trng hp y bn phi kim xem h s "myFriends.txt" đã có sn cha.
Bn có th vit nh sau:
If Dir("myFriends.txt") <> "" then
' Nu h s "myFriends.txt" hin hu
Open "myFriends.txt" For Append As #2 ' M mt h s đ vit thêm và gi là
cng s 2
T HC VISUAL BASIC 6.0 - PHN I 21
Else
Open "myFriends.txt" For Output As #2 ' M mt h s đ vit ra và gi là cng
s 2
End If
Function Dir("myFriends.txt") dùng trên s cho ta tên ca h s nu h
s hin hu, ngc li nó s cho mt dòng ch trng (empty string), biu
hiu là "". Ti đây, nu lanh ý bn s hi h s "myFriends.txt" nm
folder nào. Câu tr li là không bit chc. Nu bn cha cha (save)
chng trình vào da (vì mi vit) thì nó nm folder ca VB6.EXE. Còn
nh đã cha chng trình ri thì có l nó nm folder ca chng trình
bn. Mun h s "myFriends.txt" luôn luôn đi cùng vi chng trình, bn
có th làm nh sau:
MyLocalFolder = App.path
' Ly folder ca chng trình x lý ca bn
If Right(MyLocalFolder,1) <> "\" then ' Nu ch cui cùng không phi là backslash
MyLocalFolder = MyLocalFolder & "\" ' thì gn thêm mt backslash cui
End If
' M mt h s vi tên có folder (full pathname) đ vit ra và gi là cng s 2
Open MyLocalFolder & "myFriends.txt" For Output As #2
Cui cùng ta đóng h s li bng câu Close #2.. T rày VB có th cp s
2 đ làm cng cho ch khác trong chng trình.
Default Property ca mt Control
"txtTen" đc dùng đây là vit tt cho "txtTen.text", vì Default
Property ca mt TextBox là text ca nó. Default Property ca mt
Control là Property đc VB dùng khi bn ch cho tên ca Control mà
thôi.
Trong khi đó Default Property ca Label là Caption.
Vì txtTen đc dùng nh txtTen.txt đ nói đn mt dòng ch, nên trong
chng trình ta nhc đn nó y nh mt variable (mã s) dùng cho mt
string. Do đó vi qui c dùng ba ch đu "txt" cho tên ca mt Textbox
giúp ta nhn din ngay nó không phi là mt string variable bình thng.
Hãy lu ý s khác bit khi gi mt Sub trong hai trng hp sau:
Call CheckmyTextbox (txtDiachi)
' txtDiachi đc xem là Textbox trn vn
CheckmyTextbox txtDiachi ' txtDiachi đc xem là txtDiachi.text, mt dòng ch
T HC VISUAL BASIC 6.0 - PHN I 22
Th t các Control trên mt Form
Trong chng trình ny ta mun ngi x dng cho vào d kin theo th
t "Tên, a ch, Tui". Khi mi vào, ta mun cái du chp tt (cursor )
nm trong txtTen ngay đ ngi x dng khi mt công click vào
Textbox y khi mun mang cursor tr li đó. Ta nói là txtTen có cái
Focus.
Sau khi ngi x dng đã cho tên vào ri, cô s đánh nút Tab đ di
chuyn cursor qua Control tip theo, mà ta mun là txtDiachi. sp th
t các Control cho s di chuyn ca cursor khi ngi x dng đánh nút
Tab ta edit Property TabIndex ca các Control. TabIndex bt đu bng s
0. Nhiu khi ngi x dng thích dùng nút Enter thay vì Tab đ di
chuyn Cursor qua Control tip theo, bn có th làm nh sau cho Textbox
txtTen:
Private Sub txtTen_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
' Nu nút bm là Enter
SendKeys "{TAB}" ' gi mo gi nút Tab
KeyAscii = 0 ' Nut trng nút Enter đ Windows không còn lo cho nó
End If
End Sub
Cho các Textbox khác nh txtDiachi, txtTuoi bn cng làm tng t nh
vy. Khi bn doubleClick txtTen ln đu đ vit mã, VB cho bn Private
Sub txtTen_Change(). Bn phi click cái Combobox bên phi, phía trên
ca Code Window, cho nó m ra và chn Event KeyPress.
Nu bn mun chng trình mình còn chuyên nghip hn, bn cho phép
ngi x dng bm nút Alt+o (bm nút Alt xung trong khi bm nút o)
đ mang Cursor v txtTuoi hay Alt+d đ mang Cursor v txtDiachi.
Mun th bn phi thêm vào du "&" phía trc các ch T, D và o
trong Caption ca các label lblTen, lblDiachi và lblTuoi.
K đó bn phi cho giá tr TabIndex ca lblTen, txtTen, lblDiachi,
txtDiachi, lblTuoi, txtTuoi liên tip là 0,1,2,3,4,5. Khi ngi x dng
đánh Alt+o, VB s mang Cursor v nhãn lblTuoi, nhng vì không có ch
cho nó đáp trong label nên nó phi đáp vào Control k đó, tc là txtTuoi.
Khi ta đã cho TabIndex ca các Control nhng giá tr k trên thì khi Form
hin ra Cursor s nm trong TextBox txtTen vì mc du lblTen có
T HC VISUAL BASIC 6.0 - PHN I 23
TabIndex nh nht(0), nó không phi là ch Cursor đáp lên đc, nên
Cursor phi đáp lên textbox có TabIndex value k đó, tc là 1.
Nu bn không mun Cursor ngng li mt TextBox nào thì edit
Property TabStop ca TextBox đó cho bng False. Trong trng hp y
ngi s dng vn có th click vào TextBox và sa dòng ch đó đc
nh thng. Nu bn tht s không mun cho phép ngi s dng sa gì
TextBox thì edit Property Enabled bng False hay Property Locked
bng True. Khi Enabled ca mt TextBox bng False thì TextBox tr nên
m đi.
Nhân tin ta edit thêm du "&" phía trc các ch X và V trong
Caption các CommandButton "Xuat" và "Viet vao dia". Sau ny ngi s
dng có th bm Alt-X coi nh tng đng vi click nút "Xuat".
Nu nh trong Form bn có nhiu Textbox quá, đi nút Enter ra nút Tab
cho tng Textbox mt thì mt công quá. Bn có th làm mt cái chung
cho c Form. Tc là nói rng bn không cn bit nút Enter va mi đc
đánh TextBox nào, bn c nhm mt đi nó ra nút Tab.
Trc ht bn phi chn (select) Form ri edit Property KeyPreview ca
nó thành True. Bn làm vic ny đ dn Form git cái nút ngi s dng
đánh (keystroke) trc khi TextBox thy. Form s tráo nút Enter thành
Tab ri lng lng trao cho TextBox. Bn có th thay th tt c các
KeyPress event handler ca các TextBox bng đon mã nh sau:
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
' Nu nút bm là Enter
SendKeys "{TAB}" ' gi mo gi nút Tab
KeyAscii = 0 ' Nut trng nút Enter đ Windows không còn lo cho nó
End If
End Sub
Khi bn doubleClick lên bt c ch nào trên Form không có Control nm,
ln đu đ vit mã, VB cho bn Private Sub Form_Load(). Bn phi click
cái Combobox bên phi, phía trên ca Code Window, cho nó m ra và
chn Event KeyPress.
em ra trình làng
T HC VISUAL BASIC 6.0 - PHN I 24
làm thành mt h s áp dng EXE, bn dùng mnh lnh Menu
File|Make MyFirstProg.exe. Cho thêm chút hng v ca cuc đi tôi
click Form ri edit Property Icon, chn cho nó t folder:
D:\Program Files\Microsoft Visual Studio\Common\Graphics\Icons\Misc
mt icon hình gng mt ci. Ri bm mnh lnh Menu File|Save
Project.
Khi dùng Explorer đ xem các h s ca MyFirstProg.vbp bn s thy
nh di đây:
áng l tôi dùng mt folder khác thay vì VB98 đ cha d án
MyFirstProg.vbp. H s MyFirstProg.vbw là Workspace (ch làm vic)
dành cho VB, ta không nên đng ti.
Bn có th làm mt Shortcut cho MyFirstProg.exe vi cái icon hình
gng mt ci đt lên Desktop đ chy bên ngoài IDE ca VB.
Có l bn mun Download h s:
MyFirstProg.zip, nén chung tt c các
h s nói trên trong d án MyFirstProg.vbp.
Bây gi ngay trong VB IDE bn có th chy chng trình bng cách
dùng mnh lnh Menu Run|Start hay bm F5.
Bn cng có th Click lên du tam giác ch v bên phi (nút Play ca
cassette) nm trong toolbar ngay phía di VB menu.
T HC VISUAL BASIC 6.0 - PHN I 25
Cách nén các files trong mt folder thành mt zip file duy
nht
gi nhiu files bng cách đính kèm (attach) mt Email trên Internet ta
cn phi nén các files y thành mt file duy nht, gi là Zip file. Trc
ht, trong Window Explorer bn chn nhng files bn mun Zip chung
li. Bn chn nhiu files bng cách đè nút Ctrl trong khi click lên tên
tng file mt. Nu bn đè lên nút Shift, thay vì nút Ctrl, thì c mi lúc
bn click, Window Explorer s select c mt dc tên các files nm gia
tên hai files bn click mi nht. Ngoài ra bn cng có th dùng Menu
Command Edit | Select All, hay Ctrl+A đ select tt c các files trong
mt folder. ây là trng hp bn s dùng khi Zip tt cc các files trong
mt VB6 project đ gi qua Thy/Cô.
Sau khi đã select các file ri, bn right click lên các file y đ context
menu pop-up. Chn Add to Zip.
Nu bn không thy pop-up command Add to Zip thì là bn cha install
chng trình Winzip. Trong trng hp y, download Winzip t Internet
và install.