Bài giảng LTQL_2012

download Bài giảng LTQL_2012

of 189

Transcript of Bài giảng LTQL_2012

  • 8/13/2019 Bi ging LTQL_2012

    1/189

    Bi ging Lp trnh qun l 2012

    1

    MC LCChng 1: LM QUEN VI VISUAL BASIC.NET.................. 5

    1.1. Mi trng pht trin Visual Studio.net..................................................................... 51.1.1. Khi ng visual studio.NET............................................................................... 51.1.2. M mt d n ca visual basic ............................................................................ 5

    1.1.3. D n (Project) v gii php (Solutions)............................................................ 61.1.4. Cc cng c ca VS.NET..................................................................................... 61.1.5. B thit k Windows Forms Designer.................................................................. 7

    1.2. Chy mt chng trnh Visual Basic .......................................................................... 81.3. Thot khi VISUAL STUDIO.NET ........................................................................... 81.4. Vit mt chng trnh Visual Basic.NET u tay...................................................... 8

    1.4.1. Tm hiu chng trnh......................................................................................... 81.4.2. Xy dng giao dinv thuc tnh........................................................................ 91.4.3. Vit m cho chng trnh.................................................................................... 91.4.4. Thc thi chng trnh ........................................................................................ 13Chng 2: LM VIC VI CC IU KHIN TRN

    TOOLBOX .................................................................................... 152.1. Xy dng chng trnh HELLOWORLD................................................................ 15

    2.1.1. Tm hiu chng trnh....................................................................................... 152.1.2. Thit k chng trnh ......................................................................................... 15

    2.2. S dng iu khin DATETIMEPICKER ................................................................ 172.2.1. Chng trnh Birthday....................................................................................... 172.2.2. Lm quen vi cc thuc tnh khc ca DateTimePicker................................... 19

    2.3. Lm vic vi cc iu khin nhp liu..................................................................... 192.3.1. Tm hiu CheckBox ............................................................................................ 192.3.2. Mt s iu khin khc...................................................................................... 212.4. S dng iu khin LINKLABEL ............................................................................ 272.4.1. S dng.............................................................................................................. 272.4.2. Chng trnh WebLink...................................................................................... 27

    2.5. Ci t iu khin ACTIVEX ................................................................................... 29Chng 3: LM VIC VI MENU V HP THOI............ 32

    3.1. S dng iu khin MainMenu................................................................................. 323.2. Chng trnh MyMenu ............................................................................................. 323.2. S dng thnh phn iu khin hp thoi chun...................................................... 34

    3.2.1. Thm vo hp thoi chun ................................................................................. 353.2.2. Thm mc File vo menu chng trnh............................................................. 363.2.3. Vit m chng trnh ......................................................................................... 363.2.4. Gn phm tt cho MENU................................................................................... 383.2.5. Chy chng trnh hon thin ........................................................................... 39

    Chng 4: BIN V TON T TRONG VISUAL BASIC.NET......................................................................................................... 40

    4.1. S dng bin trong chng trnh .............................................................................. 404.1.1. Cch khai bo bin ............................................................................................ 404.1.2. S dng bin trong chng trnh ....................................................................... 40

    4.2. Cc kiu d liu c bn............................................................................................. 434.2.1. Cc kiu d liu c bn ..................................................................................... 434.2.2. Kiu d liu t nh ngha ................................................................................. 47

    4.3. Hng s ..................................................................................................................... 48

  • 8/13/2019 Bi ging LTQL_2012

    2/189

    Bi ging Lp trnh qun l 2012

    2

    4.4. Lm vic vi ton t trong VISUAL BASIC.NET.................................................. 484.4.1. Cc ton t c s: +, -, *, /................................................................................ 484.4.2. S dng cc ton t: , Mod, ^, & ...................................................................... 494.4.3. Th t u tin ca ton t................................................................................. 51

    4.5. Lm vic vi cc phng thc trong th vin .NET................................................ 51Chng 5: CC CU TRC IU KHIN............................. 54

    5.1. S dng cc cu trc ra quyt nh ........................................................................... 545.1.1. Cu trc r nhnh IfThen ............................................................................... 545.1.2. Cu trc la chn Select Case ........................................................................... 56

    5.2. S dng cc cu trc lp ........................................................................................... 585.2.1. Vng lp ForNext........................................................................................... 585.2.2. Vng lp DO LOOP........................................................................................... 59

    5.3. S dng b nh thi TIMER................................................................................... 60Chng 6: G LI V BY LI TRONG VB.NET............... 63

    6.1. Tm kim v hiu chnh li ....................................................................................... 636.1.1. Cc loi li ......................................................................................................... 636.1.2. D li tng dng lnh s dng ch ngt (BREAK MODE)....................... 636.1.3. Theo di cc bin bng ca s WATCH............................................................ 666.1.4. S dng ca s COMMAND.............................................................................. 67

    6.2. By li ....................................................................................................................... 676.2.1. X l li bng c php TryCatch................................................................... 676.2.2. Ci t TryCatch phc tp hn ...................................................................... 706.2.3. So snh c ch x l li vi cc k thut phng v li...................................... 756.2.4. S dng pht biu thot Exit Try ....................................................................... 75

    Chng 7: S DNG MODULE, TH TC V HM........... 777.1. MODULE v bin Public trong chng trnh.......................................................... 77

    7.1.1 To mt MODULE chun ................................................................................... 777.1.2. Lm vic vi cc bin Public ............................................................................. 79

    7.2. Th tc v Hm ......................................................................................................... 817.2.1. Hm (FUNCTION) ............................................................................................ 817.2.2. Th tc SUB ....................................................................................................... 847.2.3. Truyn i s theo tham tr v tham bin.......................................................... 85

    Chng 8: MNG V TP HP............................................... 878.1. Mng ......................................................................................................................... 87

    8.1.1. Khai bo mng c nh ...................................................................................... 878.1.2. Lm vic vi cc phn t trong mng............................................................... 878.1.3. V d ................................................................................................................... 888.1.4. Mng ng......................................................................................................... 89

    8.2. Lm vic vi tp hp i tng Collection.............................................................. 908.2.1. Tham chiu n i tng trong tp hp.......................................................... 908.2.2. S dng vng lp For EachNext.................................................................... 908.2.3. T to tp hp ca ngi dng......................................................................... 93

    Chng 9: X L FILE TEXT V CHUI............................. 969.1. X l file Text ........................................................................................................... 96

    9.1.1. Cc hm x l file Text...................................................................................... 969.1.2. M file Text c ni dung............................................................................. 969.1.3. To mt file text mi .......................................................................................... 99

    9.2. X l chui ............................................................................................................. 101

  • 8/13/2019 Bi ging LTQL_2012

    3/189

    Bi ging Lp trnh qun l 2012

    3

    9.2.1. Cc hm x l chui........................................................................................ 1019.2.2. Cc hm x l k t ASCII............................................................................... 1029.2.3. Chng trnh v d ........................................................................................... 102

    Chng 10: IU KHIN NG DNG MICROSOFT V

    QUN L IN N........................................................................ 116

    10.1. Lp trnh iu khin cc ng dng....................................................................... 11610.1.1. Cng c Visual Studio Object Browser......................................................... 11610.1.2. T ng ha bng Atomation EXCEL........................................................... 11810.1.3. Dng Process khi ng v dng mt chng trnh Windows................. 122

    10.2. Qun l my in ...................................................................................................... 12310.2.1. S dng lp Printdocument........................................................................... 12310.2.2. In vn bn t i tng TextBox................................................................... 12610.2.3. In file vn bn nhiu trang............................................................................. 12910.2.4. S dng hp thoi PrintPreviewDialog v PageSetupDialog....................... 137Chng 11: PHN PHI V NG GI NG DNG

    VISUAL BASIC.NET ................................................................. 14211.1. Cc cch ng gi v trin khai ng dng ............................................................ 14211.2. To d n Deployment.......................................................................................... 14311.3. Ty bin cc la chn ng gi ............................................................................ 146

    11.3.1. Cu hnh cc thit lp .................................................................................... 14611.3.2. To shortcut cho ng dng ci t................................................................ 14811.3.3. Thit lp tn cng ty v phin bn chng trnh........................................... 14811.3.4. t cc thuc tnh cho gi ng dng............................................................. 150

    11.4. Bin dch v ng gi d n kim tra vic ci t ............................................. 15011.4.1. Chy chng trnh ci t Setup................................................................... 15111.4.2. Chy chng trnh LuckySeven sau khi ci t............................................. 15311.5. Tm hiu cc file Setup v g chng trnh .......................................................... 15411.5.1. Kim tra file ci t....................................................................................... 15411.5.2. Tho g chng trnh .................................................................................... 154

    Chng 12: QUN L WINDOWS FORM............................ 15612.1. Lm vic vi cc d n c nhiu form.................................................................. 15612.2. nh v form trn mn hnh Desktop .................................................................... 159

    12.2.1. S dng thuc tnh StartPosition ................................................................... 15912.2.2. S dng thuc tnh DestopBounds................................................................. 15912.2.3. Phng to, thu nh v khi phc li ca s chng trnh............................... 160

    12.3. Thm vo cc iu khin lc form ang chy...................................................... 16012.4. Sp xp cc iu khin trn form .......................................................................... 16212.5. Ch nh i tng khi ng chng trnh......................................................... 16412.5.1. Thay i form khi ng ................................................................................... 164

    12.5.2. Thc thi chng trnh t th tc Sub Main................................................... 165Chng 13: LP TRNH CSDL VI ADO.NET.................... 166

    13.1. Lp trnh vi ADO.NET ....................................................................................... 16613.1.1. Thit lp kt ni n CSDL ............................................................................ 16613.1.2. To b iuphi d liu Data Adapter......................................................... 16913.1.3. Lm vic vi DataSet..................................................................................... 173

    13.2. S dng cc iu khin rng buc d liu ............................................................ 17513.3. Duyt xem d liu ................................................................................................. 178

    Chng 14: TRNH DIN D LIU BNG DATAGRID.... 182

  • 8/13/2019 Bi ging LTQL_2012

    4/189

    Bi ging Lp trnh qun l 2012

    4

    14.1. S dng DataGrid hin th d liu trong bng................................................. 18214.2. nh dng cc li trong DataGrid.................................................................... 18814.3. Cp nht c s d liu.......................................................................................... 188

  • 8/13/2019 Bi ging LTQL_2012

    5/189

    Bi ging Lp trnh qun l 2012

    5

    Chng1: LM QUEN VI VISUAL BASIC.NET

    1.1. Mi trng pht trin Visual Studio.net

    VS.NET l b cng c gip pht trin cc ng dng t ng dng desktop n

    ng dng mng. N l mi trng pht trin tt c cc ngn ng nh VB.NET,

    Visual C++, Visual C#.Net ht sc mnh m v thun li.

    1.1.1. Khi ng visual studio.NET

    Ln u khi ng, vs.NET s yu cu xem bn chy n vi u tin ng

    dng v ngn ng no. Bn chn Visual Basic v start vs.net , mn hnh bt u

    nh sau:

    Nu trang start page khng hin, bn c th lm n xut hin bng cch chn

    menu View | Other Windows | Start Page.

    1.1.2. M mt d n ca visual basic

    Ti trang start page, bn c th click vo projectca phn Open v duyt

    mt d n sn c.

    V d:- Click chut voprojectca phn Openti trang Start Page.

  • 8/13/2019 Bi ging LTQL_2012

    6/189

    Bi ging Lp trnh qun l 2012

    6

    - Duyt n th mc cha d n ca chng 1

    - M fileMusicTrivia.sln. Khi ny trang Start Pages tm n i, mt ca s

    mi xut hin:

    1.1.3. D n (Project) v gii php (Solutions)

    Khi m d n trn chc hn bn nhn thy hai file l MusicTrivia.sln v

    MusicTrivia.vbproj. file .sln l file gii php v file .vbproj l file d n.

    Vy phn bit chng th no?

    Trong VS, cc chng trnh ang trin khai v pht trin c gi l d n

    (Projects) hoc gii php (Solution) bi chng cha rt nhiu file v do nhiu thnh

    phn,i tngring l hp li. Mt chng trnh vs.NET bao gm mt file gii

    php v mt file d n hp li. File d n cha thng tin c bit lin quan n mt

    tc v lp trnh n l. File gii php li cha thng tin v mt hay nhiu d n.

    Nh vy v tng lai th file .sln s c a chung hn.

    1.1.4. Cc cng c ca VS.NET

    Cng c trong vs.NET rt phong ph, sau y l m phng mn hnh lm vic

    ca b vs.NET:

    Menu Bar

    Windows Form Designer

    Standard ToolbarSolution Explorer

  • 8/13/2019 Bi ging LTQL_2012

    7/189

    Bi ging Lp trnh qun l 2012

    7

    - Ca s Windows Form Designer: b thit k Form trc quan.- Ca s thuc tnh Properties: Cho php thay i thng s ca i tng thit

    k form.- Ca s Solution Explorer: cha ton b cc phn t c s dng trong d n.- Tt c cc ca s ca b cng c vs.NET u c th di chuyn cng nh thay

    i c kch thc.

    1.1.5. B thit k Windows Forms Designer

    VS.NET c mt b thit k form trc quan, cch hin th b thit k Formnh

    sau:

    - Gc phi mn hnh l ca s Solution Explorercha ton b cc phn tc s dng trong d n, hin th n bng cch chn View | Solution

    Explorer.

    - Double Click vo MusicTrivia.vb trong ca s Solution Explorer bn sthy tt c cc file cha form.

    - Nhp chut vo biu tng View Designer trong solution hin thform thit k dng trc quan.

  • 8/13/2019 Bi ging LTQL_2012

    8/189

    Bi ging Lp trnh qun l 2012

    8

    1.2. Chy mt chng trnh Visual Basic

    Nhp chut vo ntstartmu xanh trnstandard bar chy chng trnh

    hoc cng c th n phim F5.

    1.3. Thot khi VISUAL STUDIO.NET

    - Lu li nhng g chng ta lm bng cch chnFile | Save all.

    - ChnFile | Exit thot khi vs.NET.

    1.4. Vit mt chng trnh Visual Basic.NET u tay

    1.4.1. Tm hiu chng trnh

    Vit chng trnh Luckyseven c giao din nh sau:

    Form chnh gm c hai nt (quay s v kt thc), bn nhn (1, 2, 3 cha bas ngu nhin, 4 cha tn chng trnh v hin dng Bn chin thng nu c 3

    nhn 1, 2, 3 u l s 7).

    Khi bn click vo nt Quay sth chng trnh pht sinh ngu nhin ba s

    ba nhn. Nu mt trong ba s l ch s 7 th hin nh tr tin i tng

    picturebox1.

    Cc bc thc hin:

    - To giao din cho chng trnh- Thit lp thuc tnh cho cc i tng trong giao din

  • 8/13/2019 Bi ging LTQL_2012

    9/189

    Bi ging Lp trnh qun l 2012

    9

    - Vit m chng trnh- Lu v chy chng trnh- Bin dch file thc thi .exe

    1.4.2. Xy dng giao din v thuc tnh

    - To nt button1trn form1: bn to button1theo nhiu cch khc nhau. l

    ko t toolbox vo form; double click vo i tng button; click vo i tng

    buttonv v hnh ch nht trn giao din chnh ca form1.

    Sau khi to xong button1trn form1 bn t thuc tnh nh sau: R-click vo

    button1trn form1 chnproperties. Trong ca sproperties windowsthit lp cc

    thuc tnh ty thch (cn thn vi thuc tnh namet tn khng khong trng),

    bn chn thuc tnh textthnh Quay s.

    - Tng t vi button2bn chn thuc tnh textlKt thc. C hai nt thuc

    tnh Text AlignulMiddle Center.

    - To nhn label1: Bn to nhn bng nhiu cch nh vi nt nhng chn i

    tngLabel t toolsbox. Bn t con tr vo cc cnh ca nhn chnh

    size cho n. Nu khng chnh c th bn nhn thuc tnh Auto Sizeca nhn ny

    trn ca sProperties, chnh n thnhFalse l xong.

    Sau khi to xong lable1trn form1, bn t thuc tnh cho n nh sau: Text

    trng; TextAlignMiddle center; Cc thuc tnh khc ty thch.- Tng t vi cc nhn lable2, lable3, lable4. Ring lable4bn t thuc tnh

    textl Chng trnh s 7 may mn.

    - ToPicturebox1i tng cho php cha nh: To picturebox1tng t

    nh to cc i tng khc vi cch click vo i tng trn Tools

    box.

    Thit lp thuc tnh choPicturebox1: SizeModeStretchImage (cho php nh

    co gin ng theo kch c caPicturebox); VisibleFalse (nh khng hin tr khi

    m chong trnh cho php); Imagebn chn nh no ty thch.

    Bn c th ko v tr cc i tng trn form1 sao cho ph hp.

    1.4.3. Vit m chochng trnh

    S kinForm1_Load

    M l phn quan trng v mnh m nht dng ty bin v xy dng chng

    trnh. xem m ca form1 ta R-click vo phn Form1 v chn ViewCode. Kt

    qu:

    PublicClassForm1

  • 8/13/2019 Bi ging LTQL_2012

    10/189

    Bi ging Lp trnh qun l 2012

    10

    EndClass

    y l cu trc c trng ca vb. Ta tip tc bn v th tc form_load.Loadl s

    kin triu gi mt form khi thc thi. to bn chn form1eventst danh sch x

    xung nh sau:

    Tip l chn s kin loadt danh sch x xung k bn phn chn s kin:

    V vs.net t to mt th tc cho bn nh sau:

    PrivateSubForm1_Load(ByValsender AsObject, _

    ByVale AsSystem.EventArgs) HandlesMe.Load

    EndSub

  • 8/13/2019 Bi ging LTQL_2012

    11/189

    Bi ging Lp trnh qun l 2012

    11

    V y l chng trnh sinh s ngu nhin nn bn cn gi n hm rnd() hm

    sinh ngu nhin. Cng theo , ta khai bo trong s kin form1_load hm

    Randomize():

    PrivateSubForm1_Load(ByValsender AsObject, _

    ByVale AsSystem.EventArgs) HandlesMe.Load

    Randomize()

    EndSub

    Vit m cho nt nhn quay s - button1

    Ta mun chng trnh thc hin quay s ngu nhin khi click vo nt quay sth

    phi vit m hay chnh xc hn l to th tc c tn Button1_Clickx l s

    kin.Vic to th tc ny nh sau: bn tin hnh mt trong cc cch. Th nht,

    double click vo nt quay s trn giao din thit k form. Cch th hai chnitng button1t danh sch x xung:

    Tip theo chn s kin clickbn danh sach x xung bn cnh:

    V nhp chnh xc on m sau vo phn th tc tng ng xut hin:

    PrivateSubButton1_Click(ByValsender AsObject, _

    ByVale AsSystem.EventArgs) HandlesButton1.Click

    PictureBox1.Visible = False

  • 8/13/2019 Bi ging LTQL_2012

    12/189

    Bi ging Lp trnh qun l 2012

    12

    Label1.Text = CStr(Int(Rnd() * 10))

    Label2.Text = CStr(Int(Rnd() * 10))

    Label3.Text = CStr(Int(Rnd() * 10))

    'Nu mt trong ba nhn xut hin s 7 th hin

    nh vku beep

    If(Label1.Text = "7") Or(Label2.Text = "7") Or

    (Label3.Text = "7") Then

    PictureBox1.Visible = True

    Beep()

    EndIf

    If(Label1.Text = "7") And(Label2.Text = "7")And(Label3.Text = "7") Then

    PictureBox1.Visible = True

    Beep()

    Label4.Text &= "Bn chin thng!"

    EndIf

    EndSub

    Vit m cho nt kt thc button2

    Tng t nh button1, bn to s kin click ca button2 v nhp hm End()vo lxong.

    M y ca chng trnh

    PublicClassForm1

    PrivateSubButton2_Click(ByValsender AsObject,

    ByVale AsSystem.EventArgs) HandlesButton2.Click

    End

    EndSub

    PrivateSubButton1_Click(ByValsender AsObject, _

    ByVale AsSystem.EventArgs) HandlesButton1.Click

    PictureBox1.Visible = False

    Label1.Text = CStr(Int(Rnd() * 10))

    Label2.Text = CStr(Int(Rnd() * 10))

    Label3.Text = CStr(Int(Rnd() * 10))

    'Nu mt trong ba nhn xut hin s 7 th hin

    nh vku beep

  • 8/13/2019 Bi ging LTQL_2012

    13/189

    Bi ging Lp trnh qun l 2012

    13

    If(Label1.Text = "7") Or(Label2.Text = "7") Or

    (Label3.Text = "7") Then

    PictureBox1.Visible = True

    Beep()

    EndIf

    If(Label1.Text = "7") And(Label2.Text = "7")

    And(Label3.Text = "7") Then

    PictureBox1.Visible = True

    Beep()

    Label4.Text &= "Bn chin thng!"

    EndIfEndSub

    PrivateSubForm1_Load(ByValsender AsObject, _

    ByVale AsSystem.EventArgs) HandlesMe.Load

    Randomize()

    EndSub

    EndClass

    1.4.4. Thc thi chng trnh

    Chy chng trnh

    chy chng trnh click vo nt start trn standard bar hay chn

    Debug | start debuggingt menu bar.

    Bin dch chng trnh ra file .exe

    VS.NET h tr bn bin dch chng trnh ra file .exe chy trn bt k mi

    trng no. N ng gi tt c cc thnh phn cn thit v to ra file chy trn tt c

    mi trng windows.C hai kiu file chy: kiuDebug build(g li) v release build(xy dng).

    Trn l thuyt, kiu debug build chy chm hn v cha thng tin g li. Trn

    thc t th chng chy tng ng nhau.

    to ra file thc thi chnBuild | Build luckyseeven.

  • 8/13/2019 Bi ging LTQL_2012

    14/189

    Bi ging Lp trnh qun l 2012

    14

    Chng trnh s to ra mt th mc BIN cha hai th mc con l DEBUG v

    RELEASE c haifile luckyseven.exe l hai file thc thi ta cn.

  • 8/13/2019 Bi ging LTQL_2012

    15/189

    Bi ging Lp trnh qun l 2012

    15

    Chng2: LM VIC VI CC IU KHIN TRN TOOLBOX

    TOOLBOX cha cc iu khin thit k form chng trnh. Bn c th s

    dng nhng iu khin c sn hay thm mt vi thnh phn vo s dng

    sau ny.

    2.1. Xy dng chng trnh HELLOWORLD

    2.1.1. Tm hiu chng trnh

    Giao din chnh ca chng trnh nh sau:

    Giao din gm mt textbox cho php nhp chui k t v mt button. Khi

    chng trnh chy, click vo button hin th textbox hin dng ch

    HelloWorld.

    2.1.2. Thit k chng trnh

    Bn to mi mt d n nh hc. Ti trang start pagechn to mi mt

    Visual Studio Solution.Nhp tn ti Namel HelloWorld, click vo ntBrowse

    chn ng dn lu d n ca mnh.

  • 8/13/2019 Bi ging LTQL_2012

    16/189

    Bi ging Lp trnh qun l 2012

    16

    Nhn OK to.

    By gi bn c mt Solution. Tip theo ta to mi mt d n t Solution

    nybng cchR-click vo Solution va to chnAdd | New Project

    Mt ca s hin ra, click chn Windows Application ti Visual Studio

    Installed Template. Nhp tn lHelloWorld ti Name, ng dn nh ng dn

    cha solution mi to.

  • 8/13/2019 Bi ging LTQL_2012

    17/189

    Bi ging Lp trnh qun l 2012

    17

    Thit k:

    - To mt Textbox (textbox1) v mt Button (Button1) ln giao din ha

    ca Form nh bit

    TextBox: iu khin cho php nhp mt chui cc k t cho chng trnh x

    l

    Button: iu khin cho php chng trnh c mt hnh ng khi ngi dng

    click ln n khi chy chng trnh.

    - Thit lp thuc tnh cho cc iu khin: Textbox1 Text:Rng; Button1

    Text:Hin th.

    Vit m:

    - Ti giao din chnh ca Form double click vo Button1 chuyn sang ch

    vit m, vit th tcButton1_Click

    -Nhp on m sau:

    TextBox1.Text = "HelloWorld!"

    Chy chng trnh:Nhnnt start.

    2.2. S dng iu khin DATETIMEPICKERDATETIMEPICKER l iu khin cho php ngi dng chn thi gian di

    dng giao din ca lch biu.

    2.2.1. Chng trnh BirthdayTm hiu chng trnh

  • 8/13/2019 Bi ging LTQL_2012

    18/189

    Bi ging Lp trnh qun l 2012

    18

    Giao din ca chng trnh:

    Chng trnh c mt iu khin DaeTimePicker (trn TOOLBOX l iu

    khin c hnh ) cho php ngi dng chn mt ngy bt k

    chng trnh x l v mt ntButton1s thc hin a ra mt hp thng bo bng

    MsgBoxhin th ngy m ngi dng chn.

    2.1.2. Xy dng giao din

    Bn cng to mi mt Solution trng c tn Birthdayv thm mt Project c

    tn tng t dng Windows Application trong Visual Studio Installed Template

    nh v d trc.

    Ti giao din thit k ca form1, thm hai iu khin l DateTimePickerv

    Button1 vo, t thuc tnh Text cho Button1 l Hin ngy sinh. Lu li tt c

    nhng thit t bng cch nhp chn Save Alltrn Standard Bar. Nu chng trnh

    hin ra mt thng bo yu cu chn ch lu th bn chn lu vi m ha 65001.

    2.1.2. Vit m cho chng trnh

    Bn ch cn vit m cho Button1 thc thi hnh ng hin ra thng bo khi

    ngi dng chn ngy v click ln n. Double click vo Button1 ti giao din

    thit k form1 v nhp m nh sau:

    MsgBox("Ngy sinh ca bn l: "& DateTimePicker1.Text)

    MsgBox("Ngy trong nm: "&DateTimePicker1.Value.DayOfYear.ToString)

  • 8/13/2019 Bi ging LTQL_2012

    19/189

    Bi ging Lp trnh qun l 2012

    19

    MsgBox("Hm nay l ngy: "& Now.ToString)

    on m ny shin th ln lt ba thng bo c trong du ngoc n. Du

    & kt ni chui nh Ngy sinh ca bn l vi ni dung l thuc tnh Textca

    iu khin DateTimePicker1. Cc hm khc cc bn s lm quen dn trong cc

    chng sau.

    Thc thi chng trnh

    Hy th chy chng trnh v chn ng ngy sinh ca mnh xem sao.

    2.2.2. Lm quen vi cc thuc tnh khc ca DateTimePicker

    Click vo i tngDateTimePicker1trn giao din chnh ca form v chn

    m thuc tnh ca n.

    TrnProperties Windows,th thayi cc thuc tnh ca n. V d, cho n

    hin th thng tin v gi thay v ngy thng, bn thay i thuc tnh Format t long

    thnh Time.

    2.3. Lm vic vi cc iu khin nhp liuTrong sut qu trnh lp trnh, thc t ta lun xuay quanh vic lp trnh x

    l cc iu khin nhp liu. Cc iu khin nhp liu gm TextBoxcho php ngi

    dng nhp vo mt chui cc k t, menu th hin thng tin di dng chn lnh,

    cc loi hp thoi nh Checkbox, ListBox, RadioButton, ComboBoxth hin thng

    tin di dng tng t nh menu

    2.3.1. Tm hiu CheckBox

    S dng

    CheckBox l iu khin cho php ngi dng chn la kh nng x l ca

    chng trnh. Ta th tm hiu k hn v iu khin ny qua bi tp sau:

    Chng trnh MyCheckBoxChng trnh c hai CheckBox cho php click chn. Nu click chn vo

    CheckBoxno th s hin mt bc nh tng ng vi n.

  • 8/13/2019 Bi ging LTQL_2012

    20/189

    Bi ging Lp trnh qun l 2012

    20

    Thit k giao din:

    To mt gii php mi v thm vo mt d n nh bit, t tn l

    MyCheckBox.

    Cc iu khin s dng trong form gm:

    - CheckBox1: thuc tnh CheckedFalse; TextMy tnh c nhn

    - Checkbox2: thuc tnh CheckedFalse; TextMy photocopy

    - PictureBox1: thuc tnhImageNone; SizeMode: StretchImage

    - PictureBox2: thuc tnhImageNone; SizeMode: Stretchimage

    Vit mchng trnh:

    V ta mun khi ngi dng click vo checkbox th lp tc c thay i n/hin

    cc nh ngay nn ta cn xy dng th tc th hin s thay i gn vi cc checkbox.

    Trong vb th tc l th tc CheckBox1_CheckedChangedm ta c th to

    ra bng cch nhp p vo iu khin checkbox t giao din thit k form hay lachn t danh sch x xung nh bit.

    - Double click vo iu khin Checkbox1 to th tc

    CheckBox1_CheckedChanged.Sau nhp on m sau vo:

    IfCheckBox1.CheckState = 1 Then

    'PictureBox1.Visible = True

    PictureBox1.Image =

    System.Drawing.Image.FromFile _

  • 8/13/2019 Bi ging LTQL_2012

    21/189

    Bi ging Lp trnh qun l 2012

    21

    ("D:\Data\Studying\VS.Net 05\Tung buoc lap

    trinh vb.net\Tung buoc lap trinh vb.net\3_Chapter3\Bai

    tap\MyCheckBox\MyCheckBox\Images\Calcultr.bmp")

    PictureBox1.Visible = True

    Else

    PictureBox1.Visible = False

    EndIf

    Ch : Du _ dng m th 3 t trn xung l du cho php xung dng khi

    cm thy dng m qu di trong VB. Bc nh ca cc bn mun cho vo iu khin

    PictureBox1khng nht thit phi ging nh trn. Bn c th copy mt bc nh bt

    k vo th mc cha d n v ko trc tip t ca s Solution Explorervo trong

    on m ly ng dn.- Tng t, to th tc CheckBox2_CheckedChangednh sau:

    IfCheckBox2.CheckState = 1 Then

    'PictureBox2.Visible = True

    PictureBox2.Image =

    System.Drawing.Image.FromFile _

    ("D:\Data\Studying\VS.Net 05\Tung buoc lap

    trinh vb.net\Tung buoc lap trinh vb.net\3_Chapter3\Bai

    tap\MyCheckBox\MyCheckBox\Images\CopyMach.bmp")PictureBox2.Visible = True

    Else

    PictureBox2.Visible = False

    EndIf

    2.3.2. Mt s iu khin khc

    S dng

    Ta th tm hiu tc dng ca mt s iu khin khc nh RadioButton,ComboBox, ListBox qua v d InputControls xem sao.

    Chng trnh InputControls

    Tm hiu chng trnh:

    Chng trnh ny c 6 hin nh tng ngvi 5 mt hng v mt hin th

    n v tin m ngi dng s chi tr khi mua hng.

    th nht s hin th cc sn phm tng ng vi mt trong ba radiobutton

    t trong iu khin GroupBoxiu khin cho php t mt s iu khin khc

    vo (bn th tm xem n u trn TOOLBOX)

  • 8/13/2019 Bi ging LTQL_2012

    22/189

    Bi ging Lp trnh qun l 2012

    22

    th hai, th ba v th t hin th cc sn phm tng ng vi cc mt hng

    chn bi cc checkboxt trong GroupBox2.

    th 5 hin th 1 trong 3 sn phm c chn bi iu khin ListBox1.

    th 6 hin th nh ca n v tint m ngi dng chn bi ComboBox1.

    Sau y l giao din ca chng trnh:

    Thit k giao din:

    - To hai iu khin GroupBox

    - To 3 radioboxt vo trong iu khin GroupBox1.

    - To 3 CheckBoxt vo trong iu khin GroupBox2.

    - To 1 iu khinListBoxv khng nhp liu g c.

    - To mt iu khin ComboBox.

    - To 6PictureBoxv 3Labelcng 1Button.- Sa cc thuc tnh sao cho ph hp vi hnh trn. Ring hai iu khin

    ListBox v ComboBox th cc d liu s c nhp khi Form c load vo lc

    chng trnh chy.

    Vit m chng trnh:

    Di y l ton b m ca chng trnh, bn c th tham kho:

    PublicClassForm1

  • 8/13/2019 Bi ging LTQL_2012

    23/189

    Bi ging Lp trnh qun l 2012

    23

    PrivateSubButton1_Click(ByValsender As

    System.Object, _

    ByVale AsSystem.EventArgs) HandlesButton1.Click

    End

    EndSub

    PrivateSubCheckBox1_CheckedChanged(ByValsender As

    System.Object, _

    ByVale AsSystem.EventArgs) Handles

    CheckBox1.CheckedChanged

    IfCheckBox1.CheckState = 1 Then

    PictureBox2.Image =System.Drawing.Image.FromFile _

    ("D:\Data\Studying\VS.Net 05\Tung buoc lap

    trinh vb.net\Tung buoc lap trinh vb.net\3_Chapter3\Bai

    tap\InputControls\InputContorls\Images\AnswMach.bmp")

    PictureBox2.Visible = True

    Else

    PictureBox2.Visible = False

    EndIfEndSub

    PrivateSubCheckBox2_CheckedChanged(ByValsender As

    Object, _

    ByVale AsSystem.EventArgs) Handles

    CheckBox2.CheckedChanged

    IfCheckBox2.CheckState = 1 Then

    PictureBox3.Image =

    System.Drawing.Image.FromFile _

    ("D:\Data\Studying\VS.Net 05\Tung buoc lap

    trinh vb.net\Tung buoc lap trinh vb.net\3_Chapter3\Bai

    tap\InputControls\InputContorls\Images\Calcultr.bmp")

    PictureBox3.Visible = True

    Else

    PictureBox3.Visible = False

    EndIf

  • 8/13/2019 Bi ging LTQL_2012

    24/189

  • 8/13/2019 Bi ging LTQL_2012

    25/189

    Bi ging Lp trnh qun l 2012

    25

    vb.net\3_Chapter3\Bai

    tap\InputControls\InputContorls\Images\Printer.bmp")

    PictureBox5.Visible = True

    Case2

    PictureBox5.Image =

    System.Drawing.Image.FromFile _

    ("D:\Data\Studying\VS.Net 05\Tung buoc

    lap trinh vb.net\Tung buoc lap trinh

    vb.net\3_Chapter3\Bai

    tap\InputControls\InputContorls\Images\SateDish.bmp")

    PictureBox5.Visible = True

    EndSelectEndSub

    PrivateSubForm1_Load(ByValsender AsObject, _

    ByVale AsSystem.EventArgs) HandlesMe.Load

    ListBox1.Items.Add(" cng")

    ListBox1.Items.Add("My in")

    ListBox1.Items.Add("ng ten")

    ComboBox1.Items.Add("USD")

    ComboBox1.Items.Add("Kim tra")

    ComboBox1.Items.Add("Bng Anh")

    EndSub

    PrivateSubRadioButton1_CheckedChanged(ByValsender

    AsObject, _

    ByVale AsSystem.EventArgs) Handles

    RadioButton1.CheckedChanged

    PictureBox1.Image =

    System.Drawing.Image.FromFile _

    ("D:\Data\Studying\VS.Net 05\Tung buoc lap trinh

    vb.net\Tung buoc lap trinh vb.net\3_Chapter3\Bai

    tap\InputControls\InputContorls\Images\PComputr.bmp")

    PictureBox1.Visible = True

    EndSub

  • 8/13/2019 Bi ging LTQL_2012

    26/189

    Bi ging Lp trnh qun l 2012

    26

    PrivateSubRadioButton2_CheckedChanged(ByValsender

    AsObject, _

    ByVale AsSystem.EventArgs) Handles

    RadioButton2.CheckedChanged

    PictureBox1.Image =

    System.Drawing.Image.FromFile _

    ("D:\Data\Studying\VS.Net 05\Tung buoc lap trinh

    vb.net\Tung buoc lap trinh vb.net\3_Chapter3\Bai

    tap\InputControls\InputContorls\Images\Computer.bmp")

    PictureBox1.Visible = True

    EndSub

    PrivateSubRadioButton3_CheckedChanged(ByValsender

    AsObject, _

    ByVale AsSystem.EventArgs) Handles

    RadioButton3.CheckedChanged

    PictureBox1.Image =

    System.Drawing.Image.FromFile _

    ("D:\Data\Studying\VS.Net 05\Tung buoc lap trinhvb.net\Tung buoc lap trinh vb.net\3_Chapter3\Bai

    tap\InputControls\InputContorls\Images\Laptop1.bmp")

    PictureBox1.Visible = True

    EndSub

    PrivateSubComboBox1_SelectedIndexChanged(ByVal

    sender AsObject, _

    ByVale AsSystem.EventArgs) Handles

    ComboBox1.SelectedIndexChanged

    SelectCaseComboBox1.SelectedIndex

    Case0

    PictureBox6.Image =

    System.Drawing.Image.FromFile _

    ("D:\Data\Studying\VS.Net 05\Tung buoc

    lap trinh vb.net\Tung buoc lap trinh

  • 8/13/2019 Bi ging LTQL_2012

    27/189

    Bi ging Lp trnh qun l 2012

    27

    vb.net\3_Chapter3\Bai

    tap\InputControls\InputContorls\Images\Dollar.bmp")

    PictureBox6.Visible = True

    Case1

    PictureBox6.Image =

    System.Drawing.Image.FromFile _

    ("D:\Data\Studying\VS.Net 05\Tung buoc

    lap trinh vb.net\Tung buoc lap trinh

    vb.net\3_Chapter3\Bai

    tap\InputControls\InputContorls\Images\Check.bmp")

    PictureBox6.Visible = True

    Case2PictureBox6.Image =

    System.Drawing.Image.FromFile _

    ("D:\Data\Studying\VS.Net 05\Tung buoc

    lap trinh vb.net\Tung buoc lap trinh

    vb.net\3_Chapter3\Bai

    tap\InputControls\InputContorls\Images\PoundBag.bmp")

    PictureBox6.Visible = True

    EndSelectEndSub

    EndClass

    Nh vd trc, cc nh bn c th ty bin.

    2.4. S dng iu khin LINKLABEL

    2.4.1. S dng

    Cho php m trnh duyt web IE hay Netscape truy cp mt trang web.

    Trong v d di y WebLink chng ta s th to chng trnh s dng

    LinkLabel hin th chui vn bn trong Form, kt hp s kin Clickvi phng

    thcProcess.Start m trang web.

    2.4.2. Chng trnh WebLink

    Tm hiu chng trnh

    Giao din chng trnh:

  • 8/13/2019 Bi ging LTQL_2012

    28/189

    Bi ging Lp trnh qun l 2012

    28

    Chng trnh ch c mt iu khin LinkLabelcho php ta m mt trang web

    bt k. Trong v d ny ta m trang web cc bhttp://localhost/localstart.asp. y

    c th thay bng a ch IP l 127.0.0.1.

    Thit k giao din

    Mmt d n v to form nh bit.

    Vit m cho chng trnh

    M ch Code Editor vit th tc LinkLabel1_LinkClickedx l

    khi ngi dng click vo LinkLabel1bng cch double click vo iu khin

    LinkLable1trn form1. Tip theo nhp chnh xc on m sau:

    LinkLabel1.LinkVisited = True

    System.Diagnostics.Process.Start _

    ("http://127.0.0.1/localstart.asp")

    Chy chng trnh.Nu nh c ni mng, bn c th cho mt trang web no trc tuyn thay v

    trang cc b. Bn cng cn cu hnh Default Website khng c bt c trc trc

    no khi chy chng trnh.

    http://localhost/localstart.asphttp://localhost/localstart.asphttp://localhost/localstart.asphttp://localhost/localstart.asp
  • 8/13/2019 Bi ging LTQL_2012

    29/189

    Bi ging Lp trnh qun l 2012

    29

    Hiu thm v m chng trnh

    - Dng 1: LinkLabel1.LinkVisited = True

    Dng ny c tc dng nh du mu th hin ngi dng duyt qua lin ktny nh thuc tnhLinkVisited.

    - Dng 2: kt hp s kin click vi phng thc Process.Start m trang

    web.

    2.5. Ci t iu khin ACTIVEXVisual Studio.NET l mt sn phm hon ton mi ca Microsoft. Cc

    chng trnh trc y thng da trn cng ngh COM (Component Object

    Model). V .NET khng cn da vo m hnh COM na nhng n vn cho php ta

    ti s dng chng cng nh a nhng i tng COM, ACTIVEX c vo ca s

    TOOLBOX s dng nh mt iu khin ca VS.NET.

    Cc iu khin activeX hay i tng COM thng cha trong cc file .exe

    hay .dll. Khi bn ci t mt s chng trnh, ng dng th thng cng ng k

    theo chng vo h thng, v d nh khi ci Microsoft Word chng hn, c mt iu

    khin ActiveX gip v biu c tn Microsoft Chart.

    Trong bi tp di y chng ta s a ActiveX Microsoft Chart vo

    TOOLBOX ca VS.NET s dng.Nu bn no xy dng din n bng ngn

  • 8/13/2019 Bi ging LTQL_2012

    30/189

    Bi ging Lp trnh qun l 2012

    30

    ng ASP.NET th cng c th thm iu khin FreeTextBox xy dng sn vo

    TOOLBOX v s dng cc thnh vin ng ti bi vit ln din n kh tin ch.

    Ci t ActiveX:

    - a c mt iu khin ActiveX vo th trc ht TOOLBOX phi hin

    ln tc l phi c mt d n ang m v m ch thit k form.

    - Khi lm hin TOOLBOX, chn mt tab bt k mun cho thm ActiveX

    vo, v dchn tab chun Windows Forms.

    - R-Click vo TOOLBOX v chn ChooseItems nh hnh:

    - Mt ca s hin ra cho php ta chn cc thnh phn mun thm vo tythch. C th chn thnh phn ca .Net Frame Works, COM Components hay l

    chn mt iu khin no bn sn c bng click chn ntBrowse duyt. y ta

    chn .COMComponents v duyt n iu khin ActiveX Microsoft Office Chart

    11.0 thm vo. Nhp OK v ch xem kt qu.

    Hnh minh ha:

  • 8/13/2019 Bi ging LTQL_2012

    31/189

    Bi ging Lp trnh qun l 2012

    31

    V by gi trn TOOLBOX c thm iu khin mi cho ta thc hin:

  • 8/13/2019 Bi ging LTQL_2012

    32/189

    Bi ging Lp trnh qun l 2012

    32

    Chng3: LM VIC VI MENU V HP THOI

    Ni dung:

    - Thm menu vo chng trnh vi iu khinMainMenu

    - X l mc chn menu bng m lnh

    - S dng hp thoi OpenFileDialogv ColorDialog

    3.1. S dng iu khin MainMenuiu khin Menu cho php thm vo chng trnh cc thc n. Bn c th

    thm mi, hiu chnh, sp xp li, xa cc menu. Bn cng c th thm cc hiu

    ng nh gn phm tt, thm du chn CheckBox. Bn c th to s kin cho menu

    bng m lnh nh cc iu khin khc.

    Di y chng ta s s dng menu qua bi tp MyMenu

    3.2. Chng trnh MyMenuTo mi mt gii php mang tnMyMenuv thm vo mt d n mi cng

    tn nh bit trong cc bi tp trc.

    Ti giao din thit k, a iu khinMenuStrip vo trong Form

    bng cch double click hay ko th nh bit.

    Chng ta khng cn quan tm n v tr ca menu trn form v VS s t ng

    t n sao cho ph hp. Cc bn c th thay i cc thuc tnh sao cho ph hpbng cch click m Smart Tagsl nt mi tn tam gic mu en bn gc phi iu

    khinMenu.

    Khi c t vo form th iu khin menu s c t ti mt vng nh trn

    hnh gi l khay cng c - Component trayv VS s hin th trc quan menu trn

    u ca s Form.

    Chui Type Herel ni bn c th click chn v nhp vo cc mc chn cho

    menu.

    Nhp chut vo chui Type Herev g vo chui Clock v n enter.

  • 8/13/2019 Bi ging LTQL_2012

    33/189

    Bi ging Lp trnh qun l 2012

    33

    Nhp chut vo chui Type Herecon di ri g Date, Time nh hnh

    ng phn thit k menu, bn click vo mt vng no trn form, hin

    th bn li click vo menu Clocknh trn.

    Tip theota s to mt s ty bin cho Menu.

    Thm phm truy cp vo cc mc chn lnh trn menu

    Trong mt s phn mm hay ngay trnh duyt Windows Explorer ca h iu

    hnh cc bn c th n t hp Alt + phm tt m nhanh mt thc n no .Cc phm tt y c gi l phm truy cp Access Key. Phm ny c du gch

    chn di.

    Trong VS, to phm ny menu kh n gin. Bn ch vic g thm du

    & trc k t no mun hin th gch chn trong phn Type Here.

    Bn hy to ra cc phm tt cho cc mc chn ca menu Clocknh hnh:

    Thay i th t cc mc chn

    Vic thay i th t cc mc chn kh n gin, bn m ch thit k menu

    ri nhp chn mc chn no v ko n n v tr mong mun.

    X l cc mc chn

    By gi chng ta to ra s kin click cho cc mcchn ca menu. Khi bn

    click voDatehay Timeth mt nhnLabels xut hin v hin th thng tin ngyhay gi tng ng.

    lm c nh th, trc ht bn to ra mt Label vo trong form.To thuc

    tnh cho i tngLabel1nh sau:BorderStyleFixedSingle; FontBold 14; Text

    rng; TextAlign MiddleCenter.

    Tip theota s to s kin click cho cc mc con trong menu Clock.

    Nhp vo menu Clock trn form1 hin th menu con

    Nhp i chut vo mc chn Time m ca s Code Editor v to ra mt

    th tc c tn TimeToolStripMenuItem_Click. Trong VS.NET 2005 th

  • 8/13/2019 Bi ging LTQL_2012

    34/189

    Bi ging Lp trnh qun l 2012

    34

    khi bn g tn mc chn l g th mc nh khi double click vit m th VS s to

    ra mt th tc c phn u tn trng vi tn mc chn (phn tn cha c du cch

    trng phn cch tn mc chn) menu ( trn l TimeToolStripMenuItem_Click).

    Tt nhin y l default, bn c th thay i tn nh thuc tnh Name ca s

    Properties.

    Nhp dng m sau:

    Label1.Text = TimeString

    Tng t vi th tc DateToolStripMenuItem_Clickca mc chnDate

    Label1.Text = DateString

    Chy chng trnh MyMenu

    Bn th chy chng trnh xem. Cc thng tin v ngy thng v thi gian s c

    hin th bn trong lable11 khi bn click chn mc chn tng ng trn menu. thay i cch hin th thng s ngy thng v thi gian bn c th thao tc trong

    coltrol panel.

    Tm hiu cc hm v thuc tnh v thi gian h thng:

    Thuc tnh, hm M t

    TimeString Tr gi h thng

    DateString Tr ngy h thng

    Now Tr v ngy gi h thng m ha

    Hour (time) Tr v gi datrn thi gian ca i s time

    Minute (time) Tr v pht da trn thi gian ca i s time

    Second (time) Tr v giy da trn thi gian ca i s time

    Day (date) Tr v ngy da trin i s date (1-31)

    Month (date) Tr v thng da trn i s date(1-12)

    Year (date) Tr v nm ca i s date

    Weekday (date) Tr v ngy trong tun ca i s date

    3.2. S dng thnh phn iu khin hp thoi chunVS.NET 2005 cung cp 8 hp thoi chun. Cc bn c th tm thy cc iu

    khin ny trn TOOLBOX. Bng sau lit k cc hp thoi chun :

    Hp thoi M t

    ColorDialog Cho chn tn v hiu chnh gi tr mu sc

    FolderBrowserDialog Cho php duyt th mc

  • 8/13/2019 Bi ging LTQL_2012

    35/189

    Bi ging Lp trnh qun l 2012

    35

    FontDialog Chn tn v kiu font ch mi

    OpenFileDialog Cho ly v a, tn file, tn folder

    PageSetupDialog iu khin cc thit lp trang inPrintDialog Cho thit lp cc ty chnh in n

    PrintPreviewDialog Hin thxem trc khi in

    SaveFileDialog Cho t tn file, folder mi sp ghi ln a

    3.2.1. Thm vo hp thoi chunTa tip tc b sung cho d n MyMenutrc y bng cch thm vo cc hp

    thoi, y ta s thm hai hp thoi chun l OpenFileDialog m mt nh chohin th trong mt iu khinPictureBox1v mt hp thoi ColorDialogcho php

    chn mu hin th choLabel1hin th thng tin ngy gi h thng.

    Trc ht m li solution MyMenu v ch thit k form (m file

    form1.vb[Design])

    To hai iu khin l OpenFileDialogv ColorDialogvo Form1 bng cch

    double click vo hai iu khin ny trn TOOLBOX.

    To iu khinPictureBox1vo trong form1. Giao din thit k:

  • 8/13/2019 Bi ging LTQL_2012

    36/189

    Bi ging Lp trnh qun l 2012

    36

    3.2.2. Thm mc File vo menu chng trnhBn to thmmt mc con Colorvo trong menu Clock. Mc ny s kch hot

    hp thoi ColorDialog1chn mu choLabel1.

    To mt Menu Filebn cnh menuClocknh hnh. ng thi to thm cc

    mc con Open, Close, Exit trong menu ny.

    Tip theo bn thay i tn bng thuc tnh Nametrong ca sPropertiescho

    cc mc chn: mc Open thnh mnuOpenItem, Close thnh mnuCloseItem, Exit

    thnh mnuExitItem.

    Bn cng t thuc tnh Enableca mc Close (gi l mnuCloseItem) thnh

    False. Thuc tnh ny v hiu ha hay lm m mc Closenh hnh. N ch c

    sng ln ngi dng click khi m thc thi chng trnh cho php.

    3.2.3. Vit m chng trnhCi t th tc cho mc Opentrn menuFile.

    Bn to th tc mnuOpenItem_Clickbng cch double click vo mc Open

    trn menuFilev nhp on m sau:OpenFileDialog1.Filter = "Bitmaps (*.bmp) |

    *.bmp"

    IfOpenFileDialog1.ShowDialog() =

    Windows.Forms.DialogResult.OK Then

    PictureBox1.Image =

    System.Drawing.Image.FromFile _

    (OpenFileDialog1.FileName)

    mnuCloseItem.Enabled = True

    EndIf

    Ch thch m:

    - on m th nht gip lc ra loi file m l file nh dng Bitmap

    (*.bmp). Bn c th m nhiu loi file bng cu lnh:

    OpenFileDialog1.Filter = _

    "Bitmaps(*.bmp)|*.bmp|JPEG(*.jpg)|*.jpg|All

    Files(*.*)|*.*"

  • 8/13/2019 Bi ging LTQL_2012

    37/189

    Bi ging Lp trnh qun l 2012

    37

    - Phng thc ShowDialog()l phng thc mi trong VS.NET, n c th

    dng c vi mi hp thoi v ca s Windows Forms. Phng thc ny tr v

    kt qu mang tn DialogResultcho bit ngi dng click vo hp thoi. V

    nu nt OK c click th kt qu tr v s bng vi DialogResult.OK.- Khi nt Open c nhn, nu hp l th thuc tnh FileName ca

    OpenFileDialog s mang y ng dn v tn file ca file m v th m

    dng m th 3 s np chnh xc nh voPictureBox1.

    . Ci t th tc cho mc Close

    Tng t bn cng double click vo mc Close to th tc click cho n v

    nhp chnh xc on m sau:

    PictureBox1.Image = Nothing

    mnuCloseItem.Enabled = FalseKhi m nh ri th mc Closesng ln, khi click vo mc ny thPictureBox1

    khng cn nh na v mc ny li b v hiu ha.

    Ci t th tc cho mc Exit

    Nhp i vo mcExitv nhp dng m: End

    Ci t th tc cho mc Color

    To th tc mnuColorItem_Clickbng cch double click hay chn tdanh

    sch x xung nh hnh

    Nhp vo on m:

    ColorDialog1.ShowDialog()

    Label1.ForeColor = ColorDialog1.Color

    Ch thch m:- Pht biu u tin gi ShowDialog() hin th hp thoi ColorDialog.

  • 8/13/2019 Bi ging LTQL_2012

    38/189

    Bi ging Lp trnh qun l 2012

    38

    - Pht biu th hai nhn gi tr mu tr v t hp thoi ColorDialogv gn

    cho mu ch TextForeColor ca iu khinLabel1. Bn c th gn mu cho bt

    c thuc tnh no nhBackColor.

    Ngoi ra, bn cng c th thm cc thuc tnh khc cho hp thoi ColorDialog

    trc khi gi n phng thc ShowDialog(). Mt s thuc tnh v cch gi c

    lit k nh sau:

    'ColorDialog1.FullOpen = True :Hin th khung ty bin

    mu m rng

    'ColorDialog1.AllowFullOpen = True: hin th nt nh

    ngha mu ty bin

    'ColorDialog1.AnyColor = True: cho php chn tt c cc

    loi mu'ColorDialog1.ShowHelp = True: Hin th nt nhn tr

    gip

    'ColorDialog1.SolidColorOnly = True: Hin th ch nhng

    mu c

    Chy chng trnh

    Bn hy chy chng trnh bng cch nhn phm F5 hay Starttrn Standard Bar v

    th tt c cc tnh nng ca chng trnh.

    y l giao din:

    3.2.4. Gn phm tt cho MENUPhm tt cho php bn n t hp phm thc hin lnh m khng cn chn

    menu. V d nh Ctrl+C sap chp mt on text trong Word.

    Ta th gn cc phm tt cho menu trong chng trnhMyMenu:

    Trc ht m gii phpMyMenu ch thit k

  • 8/13/2019 Bi ging LTQL_2012

    39/189

    Bi ging Lp trnh qun l 2012

    39

    Click vo menu Clock trn Form, chn mc Time v R-Click chn Properties.

    Thit lp thuc tnh ShortCutKeysnh hnh

    Tng t bn chn cc mc cn li theo thch min l cc phm nng khng

    trng nhau.

    3.2.5. Chy chng trnh hon thinBy gi bn kim tra nhng g lm bng cch chy chng trnh mt ln na.

    Bn kim tra ln lt t vic m file nh cho hin ln trn PictureBox1, hin th

    thng tin gi h thng, gi cc mc menu bng phm tt.

  • 8/13/2019 Bi ging LTQL_2012

    40/189

    Bi ging Lp trnh qun l 2012

    40

    Chng4: BIN V TON T TRONG VISUAL BASIC.NET

    Ni dung:

    - S dng bin cha d liu ca chng trnh

    -Nhn d liu nhp bng cch s dng hmInputBox- Hin th thng ip bngMsgBox

    - S dng cc ton t ton hc v hm trong cng thc

    - S dng cc phng thc ton hc trong lp System.Math ca .NET

    4.1. S dng bin trong chng trnhTrong VB.NET, nu chn ch Option Explicity Onth bin phi c khai

    bo trc khi s dng. Nu chn ch Option Explicity Off thkhng cn khai bo

    bin trc khi s dng. Tuy nhin nn chn ch bt buc khai bo bin trnh

    nhm ln.

    4.1.1. Cch khai bo binVic khai bo c tin hnh bng cu lnhDim:

    Dim tn bin As kiu d liu.

    Khai bo c th t bt k u nhng thng c t u mi th tc,

    ni cn dng bin. V d:

    Dim LastName As String

    Pht biu trn khai bo mt bin tn l LastNamec kiu d liu l String.

    Sau khi khai bo bin th bn c th thoi mi gn hay lu thng tin vo bin, v

    d:

    LastName = Duc Lap

    V c th gn ni dung bin cho thuc tnh ca i tng, v d:

    Label1.Text = LastName

    Ch v qui tc khai bo bin:

    - Khng c khong trng trong tn bin. Tn bin bt u bng du gch chn_ hay ch ci.

    - Tn bin c chiu di ty thch nhng nn t tn cho gi nh v khng nn

    di qu 33 k t.

    - Khng nn t tn bin trng vi cc t kha, tn thuc tnh, phng thc

    chun ca VB trnh gp li khi bin dch.

    4.1.2. S dng bin trong chng trnh

    V d 1:Cch thay i gi tr ca bin trong chng trnh

  • 8/13/2019 Bi ging LTQL_2012

    41/189

    Bi ging Lp trnh qun l 2012

    41

    Chng ta s lm quen vi cch thay i gi tr ca bin trong chng trnh qua

    bi tp n gin VariableTest:

    Thit k giao din:

    Giao din ca form thit k nh sau

    Tm hiu cch thc thi chng trnh:

    Chng trnh s khai bo mt bin c tn LastNamev to cho n hai gi trkhc nhau l hai chui (String) ng thi gn gi tr chui cho thuc tnh Text

    ca hai nhn khi ngi dng click vo ntHien thi.

    Vit m:

    To th tc Button1_Clickbng cch double clickvo nt Hien thi trn

    form trong giao din thit k v nhp chnh xc on m sau:

    DimLastName AsString

    LastName = "c Lp"

    Label1.Text = LastName

    LastName = "LVP Office"

    Label2.Text = LastName

    V d 2:S dng bin cha d liu nhp vo

    Bin thng dng nhn thng tin ca ngi dng nhp vo t cc iu

    khin nh TextBox, ListBox, Menu,hayInputBox

    Trong v d sau y chng ta s s dng hm InputBox nhp d liu u

    vo.

    Thit k giao din:

    To mi mt gii php c tn InputBox v thm mt d n c cng tn. Tip

    theo thit k giao din nh hnh:

  • 8/13/2019 Bi ging LTQL_2012

    42/189

  • 8/13/2019 Bi ging LTQL_2012

    43/189

    Bi ging Lp trnh qun l 2012

    43

    MsgBox(FullName, , "Thng tin nhp")

    EndIf

    Ghi ch m:

    - HmMsgBox:c tc dng hin mt hp thoi cha thng ip. Cu trc ca

    hm nh sau:ButtonClicked=MsgBox(Prompt, Buttons, Tittle).

    Promptl thng ip cn hin th

    Buttonsl con s cho bit nhng nt nhn hay biu tng s hin th trong hp

    thoi

    Tittlel tiu hin th trn hp thoi

    ButtonClickedc dng nhn v kt qu ca hm

    Trong trng hp ch mun hin th th cc i s Buttons, Tittle v bin

    ButtonClickedkhng cn c. v d trn, chng ta s dng bin FullName nhn v gi tr thuc tnh

    Text ca TextBox1v xut gi tr bin ny nh hm MsgBox.

    4.2. Cc kiu d liu c bn

    4.2.1. Cc kiu d liu c bn

    Kiu d liu Kch thc Phm vi V d

    Short 16-bit -32,678 - 32,767 Dim S as Short

    S = 12500

    Integer 32-bit -2,147,483,648 n

    2,147,483,647

    Dim I as Integer

    S = 4000

    Long 64-bit -9,233,372,036,854,775,808

    n

    9,233,372,036,854,775,807

    Dim L as Long

    L = 3988890343

    Single 32-bit (du

    phy ng)

    -3.402823E38 n

    3.402823E38

    Dim Sg as Single

    Sg = 899.99

    Double 64-bit (du

    phy ng)

    -1.797631348623E308 n

    1.797631348623E308

    Dim D as Double

    D=3.1.4159265

    Decimal 128-bit Trong khong +/-79,228x1024 Dim Dc as Decimal

  • 8/13/2019 Bi ging LTQL_2012

    44/189

    Bi ging Lp trnh qun l 2012

    44

    Dc=7234734.5

    Byte 8-bit 0-255 Dim B as Byte

    B=12

    Char 16-bit 0-65,536 Dim Ch As Char

    Ch=L

    String Nhiu k t Cha 0 n 2 t k t Dim St As String

    St=c Lp

    Boolean 16-bit Hai gi tr True hay False Dim Bl As Boolean

    Bl = True

    Date 64-bit T 1/1/1 n 31/12/9999 Dim Da As Date

    Da=#16/07/1984

    Object 32-bit Bt k kiu i tng no Dim Obj As Object

    V d: Xy dng chng trnh c tn MyDataTypes cho php ngi dng

    chn mt kiu d liu trong mt danh sch cc kiu d liu. Khi ngi dng click

    chn kiu d liu tng ng no th mt thng bo v di v mt v d c a

    ra trong mt TextBox.

    Giao din chng trnh:

    To form c cc iu khin:ListBox, TextBoxv mtButtonnh hnh.

    Vit m:

    - Khai bo bin: t di dng PublicClassForm1:

    DimSh AsShort

    DimI AsInteger

  • 8/13/2019 Bi ging LTQL_2012

    45/189

    Bi ging Lp trnh qun l 2012

    45

    DimL AsLong

    DimSg AsSingle

    DimDb AsDouble

    DimDc AsDecimal

    DimB AsByte

    DimCh AsChar

    DimStr AsString

    DimBo AsBoolean

    DimDa AsDate

    - To th tc Form1_Load thm cc mc chn cho ListBox1:

    ListBox1.Items.Add("Short")

    ListBox1.Items.Add("Integer")ListBox1.Items.Add("Long")

    ListBox1.Items.Add("Single")

    ListBox1.Items.Add("Double")

    ListBox1.Items.Add("Decimal")

    ListBox1.Items.Add("Byte")

    ListBox1.Items.Add("Char")

    ListBox1.Items.Add("String")

    ListBox1.Items.Add("Boolean")ListBox1.Items.Add("Date")

    - To th tc ListBox1_SelectedIndexChanged hin thng tin trn

    TextBox1:

    SelectCaseListBox1.SelectedIndex

    Case0

    TextBox1.Text = " di: -32,678 -

    32,767. V d: "

    Sh = 1000

    TextBox1.Text &= Sh

    Case1

    I = 4000

    TextBox1.Text = " di: -2,147,483,648

    n 2,147,483,647. V d: "

    TextBox1.Text &= I

    Case2

    L = 3988890343

  • 8/13/2019 Bi ging LTQL_2012

    46/189

    Bi ging Lp trnh qun l 2012

    46

    TextBox1.Text = " di: -

    9,233,372,036,854,775,808 n 9,233,372,036,854,775,807.

    "& _

    "V d: "

    TextBox1.Text &= L

    Case3

    Sg = 899.99

    TextBox1.Text = " di: -3.402823E38

    n 3.402823E38 "& _

    "V d: "

    TextBox1.Text &= Sg

    Case4Db = 3.14159265

    TextBox1.Text = " di: -

    1.797631348623E308 n 1.797631348623E308. "& _

    "V d: "

    TextBox1.Text = Db

    Case5

    Dc = 7234734.5

    TextBox1.Text = " di: Trong khong+/-79,228x1024. "& _

    "V d: "

    TextBox1.Text &= Dc

    Case6

    B = 12

    TextBox1.Text = " di: 0-255. "& _

    "V d: "

    TextBox1.Text = B

    Case7

    Ch = "L"

    TextBox1.Text = " di: 0-65,536. "& _

    "V d: "

    TextBox1.Text &= Ch

    Case8

    Str = "c Lp"

  • 8/13/2019 Bi ging LTQL_2012

    47/189

    Bi ging Lp trnh qun l 2012

    47

    TextBox1.Text = "Cha 0 n 2 t k t.

    "& _

    "V d: "

    TextBox1.Text &= Str

    Case9

    Bo = True

    TextBox1.Text = "True hay False. "& _

    "V d: "

    TextBox1.Text &= Bo

    Case10

    Da = Now.Date

    TextBox1.Text ="T 1/1/1 n

    31/12/9999. "& _

    "V d: "

    TextBox1.Text &= CStr(Da)

    EndSelect

    - To th tc Button1_Click kt thc chng trnh:

    End

    4.2.2. Kiu d liu t nh nghaVisual Basic cng cho php ta t nh ngha kiu d liu ca ring mnh, gi

    l kiu d liu cu trc hay kiu d liu t nh ngha bi ngi dng (User

    Defind Type hay UDT) bng pht biu Structure. Pht biu ny phi xut hin

    u form hay trong n th m code module ging nh cc bin khai bo Public. V

    d:

    StructureEmployee

    Dimname AsString

    DimDateOfBirth AsDateDimage AsDate

    EndStructure

    Sau khi to mi mt UDT bn c th s dng n ngay trong th tc hay

    chng trnh. V d:

    DimWorker1 AsEmployee

    Worker1.name = "L Th Lan"

    Worker1.age = Date.FromOADate(12 / 1 / 1983)

  • 8/13/2019 Bi ging LTQL_2012

    48/189

    Bi ging Lp trnh qun l 2012

    48

    4.3. Hng sHng l mt bin c bit khng thay i gi tr. Hng s c khai bo bng

    t kha Const. V d:

    ConstPI AsDouble= 3.14159265

    Label1.Text = PI

    4.4. Lm vic vi ton t trong VISUAL BASIC.NETVisual Basic.NET cung cp cc ton t c bn sau:

    Ton t M t

    + Php cng

    - Php tr

    * Nhn

    / Chia

    \ Chia ly phn nguyn

    ^ M ly tha

    & Ni chui

    4.4.1. Cc ton t c s: +, -, * , /Ta s s dng cc ton t n gin ny lm v d BasicMathsau:

    Tm hiu chng trnh:

    Giao din:

    Chng trnh gm hai textbox cho php nhp hai gi tr gn cho hai bin

    value1 v value2, bn radiobutton cho php chn bn ton t khc nhau, khi

    nhp y hai gi tr th c th thc hin tnh bng cch nhp chn nt thc hi n

    tnh v kt qu hin th trong textbox3 kt qu.Xy dng giao din:

  • 8/13/2019 Bi ging LTQL_2012

    49/189

    Bi ging Lp trnh qun l 2012

    49

    Bn to mt gii php v thm mt d n cng tn BasicMathng thi thit k

    giao din nh hinh.

    Vit m:

    - Khai bo bin: bn khai bo 2 bin value1, value2 u lpform1nh sau:

    Dimvalue1, value2 AsDouble

    - To th tc Button1_Clickbng cch double click vo nt thc hin

    tnh v nhp on m sau:

    IfTextBox1.Text = ""OrTextBox2.Text = ""Then

    MsgBox("Bn cn nhp y hai gi tr")

    Else

    value1 = CDbl(TextBox1.Text)

    value2 = CDbl(TextBox2.Text)IfRadioButton1.Checked = TrueThen

    TextBox3.Text = value1 + value2

    EndIf

    IfRadioButton2.Checked = TrueThen

    TextBox3.Text = value1 - value2

    EndIf

    IfRadioButton3.Checked = TrueThen

    TextBox3.Text = value1 * value2EndIf

    IfRadioButton4.Checked = TrueThen

    TextBox3.Text = value1 / value2

    EndIf

    EndIf

    Ch thch m:

    - Hm CDbll hm chuyn kiu sang kiu Double.

    4.4.2. S dng cc ton t: \, Mod, , &Chng ta tip tc s dng bn ton t khc gm: chia ly nguyn ( \), chia ly

    d (Mod), m ly tha (^), ni chui (&) trong bi tpAdvancedMathsau y:

    Tm hiu chng trnh:

    Chng trnh Advancedcng tng t nh chng trnh BasicMathva xy

    dng trn, ch thay th cc ton t m thi.

    Thit k giao din:

  • 8/13/2019 Bi ging LTQL_2012

    50/189

    Bi ging Lp trnh qun l 2012

    50

    To mt gii php mi v thm vo mt d n c cng tn l AdvancedMath

    v thit k giao din nh hnh.

    Vit m:- Khai bo bin: bn khai bo hai bin u lp Form1 nh sau:

    Dimvalue1, value2 AsDouble

    - To th tc Button1_Click nh sau:

    IfTextBox1.Text = ""OrTextBox2.Text = ""Then

    MsgBox("Bn phi nhp y hai gi tr")

    Else

    value1 = TextBox1.Text

    value2 = TextBox2.Text

    IfRadioButton1.Checked = TrueThen

    TextBox3.Text = value1 \ value2

    EndIf

    IfRadioButton2.Checked = TrueThen

    TextBox3.Text = value1 Modvalue2

    EndIf

    IfRadioButton3.Checked = TrueThen

    TextBox3.Text = value1 ^ value2

    EndIf

    IfRadioButton4.Checked = TrueThen

    TextBox3.Text = value1 & value2

    EndIf

    EndIf

    Chy chng trnh:

    Khi chy chng trnh, vi ton t & th xy ra li nu bn nhp vo haitextbox hai gi tr value1 hay value2l hai chui, v d value1 l sinh v value2

  • 8/13/2019 Bi ging LTQL_2012

    51/189

    Bi ging Lp trnh qun l 2012

    51

    l nht. Li ny gi l li thc thi runtime error pht sinh khi chy chng

    trnh. Mn hnh li nh sau:

    C th khc phc li ny mt cch khng trit bng cch thay i kiu hai

    bin pht biu khai bo chng nh sau:

    Dimvalue1, value2 AsString

    Bn chy li chng trnh xem phng thc thc thi ca ton t &.

    Nhng nu bn nhp gi tr sinh nht thc hin mt trong ba ton t \,

    Mod, ^ th chng trnh li pht sinh li nh trn.

    khc phc trit li ny, phi s dng mt s hm chuyn kiu s cbn cc chng sau.

    4.4.3. Th t u tinca ton tVisual Basic qui c th t u tin cc ton t nh sau:

    ()^-(du m) */(ton t nhn, chia) \(php chia nguyn) Mod(ly

    phn d)+-(ton t cng, tr) .

    4.5. Lm vic vi cc phng thc trong th vin .NET

    Th vin .NET cung cp rt nhiu phng thc hu ch. Chng ta s lm quenvi cc phng thc c cung cp bi lpMathtrong th vin .NET.

    B khung lm vic .NET FRAMEWORK l mt tnh nng mi trong

    VS.NET, n chia s mi trng lp trnh v l nn tng ca h iu hnh windows

    trong tng lai. B khung ny bao gm tp hp cc lp th vin m bn c th em

    vo s dng trong d n ca mnh bng pht biuImports.

    Trc ht chng ta s lm quen vi lp System.Math ca .Net FrameWork.

    Bng sau s lit k danh sch mts phng thc thng dng trong lp Math:

    Phng thc Mc ch

  • 8/13/2019 Bi ging LTQL_2012

    52/189

    Bi ging Lp trnh qun l 2012

    52

    Abs(n) Tr v tr tuyt i ca n

    Atan(n) Tr v Artang ca n (n radian)

    Cos(n) Tr v cosin ca gc n (n radian)

    Exp(n) Tr v en

    Sign(n) Tr v -1 nu n0, 0 n

    n=0

    Sin(n) Tr v sin ca gc n (n radian)

    Sqrt(n) Tr v cn bc hai ca n

    Tan(n) Tr v tang ca gc n (n radian)

    Lm quen vi cc phng thc trn thng qua v dMyFrameWorkMath.

    Tm hiu chng trnh:Chng trnh ny ch n gin l tnh cn bc hai ca s 144 v a kt qu ra

    mt textbox khi ngi dng nhn vo nt button c tn Tnh cn bc hai.

    Xy dng giao din:

    Giao din ch n gin nh sau:

    Vit m:

    - Khai bo s dng lpMathtrong chng trnh: bn t pht biu sau bn

    trn pht biu Public Class Form1:

    ImportsSystem.Math

    Lnh ny cho php bn s dng, gi n phng thc, thuc tnh, i tng

    c trong lpMathca th vin h thng Systemdng x l cc s hc.

    - To th tc Button1_Clickbng cch double click vo nt Tnh cn bc

    hai v g on m sau:

    Dimketqua AsDouble

    ketqua = Sqrt(144)

    TextBox1.Text = ketquaChy chng trnh:

  • 8/13/2019 Bi ging LTQL_2012

    53/189

    Bi ging Lp trnh qun l 2012

    53

    Bn chy chng trnh nh bit v xem kt qu.

    Bi tp chng 4:

    - M phng m hnh my tnh n gin vi cc ton t bit. Nhp d liubng cc nt nh Calculator ca h iu hnh Windows.

    - Tm hiu v php tnh ton trn cc s nguyn ln.

  • 8/13/2019 Bi ging LTQL_2012

    54/189

    Bi ging Lp trnh qun l 2012

    54

    Chng 5: CC CU TRC IU KHIN

    Ni dung:

    - Cc biu thc iu kin:IfThenv SelectCase

    - Pht hin v qun l s kin chut

    - S dng vng lpFor Next,Do Loop.

    - S dng i tng nh thi Timer

    5.1. S dng cc cu trc ra quyt nhCc ton t so snh c th dng trong biu thc iu kin:

    Ton t so snh ngha

    = Bng

    Khc

    < Nh hn

    > Ln hn

    = Ln hn hoc bng

    5.1.1. Cu trc r nhnh IfThen

    Dng n gin ca mt biu thc r nhnh:

    Ifbieuthuc ThenThucthi

    Trong bieuthucl biu thc iu kin v Thucthil pht biu c gi khi

    bieuthucnhn gi tr True.

    V d

    Ifgia

  • 8/13/2019 Bi ging LTQL_2012

    55/189

    Bi ging Lp trnh qun l 2012

    55

    Else

    Khi lnh n

    EndIF

    V d sau cho thy cch s dng pht biu r nhnh ny xem xt s thu

    phi np trong bo co ti chnh:

    Dimthunhap, thuenop AsDouble

    thunhap=Cdbl(Textbox1.Text)

    Ifthunhap

  • 8/13/2019 Bi ging LTQL_2012

    56/189

    Bi ging Lp trnh qun l 2012

    56

    Ton t OrElse tng t. Nu ch cn thy mt biu thc TRUE th php c lng

    s dngli.

    5.1.2. Cu trc la chn Select Case

    Cu trc ny cho php la chn trng hp v r nhiu nhnh mt cch hiuqu.

    C php:

    Selectcasegiatri

    Casegiatri1

    Khi lnh 1

    Casegiatri2

    Khi lnh 2

    ...

    Casegiatrin

    Khi lnh n

    CaseElse

    Khi lnh n+1

    EndSelect

    S dng cc ton t so snh trong cu trc Select Case

    C th s dng cc ton t so snh nh , =, , >=, 100

    MsgBox("p lo!")

    CaseElse

    MsgBox("Mng th")

    EndSelect

    Chng trnh v d:

    Ta s tm hiu k hn v cu trc select qua v dMyCaseGreeting.

  • 8/13/2019 Bi ging LTQL_2012

    57/189

    Bi ging Lp trnh qun l 2012

    57

    Giao din chng trnh:

    Chng trnh bao gm mt listbox lit k danh sch 4 nc. Khi ngi dng

    click vo mt nc no th tn nc hin trn mt nhn v thng tin chi tit hin

    trn mt nhn khc.

    Thit k giao din:To mt gii php mi, add mt d n cng tn MyCaseGreetingv thit k

    giao din nh trn.

    t tn i tng nh sau:

    - Lable1: Namelbltittle, TextInternatinonal Welcome Program- Lable2:Namelblchoose, TextChoose a country

    - Lable3:Namelblcountry, Text

    - Lable4:Namelblinfo, Text

    - ListBox1: namelstcountry

    - Button1:Namebtnquit, TextQuit

    Cc thuc tnh cn li c th ty chn.

    Vit m:- Thm cc mc chn l 4 nc trong lstcountry: c th thm cc mc ny khi

    thit k hoc khi to chng ti s kin Form1_Loadnh sau:

    lstcountry.Items.Add("England")

    lstcountry.Items.Add("Germany")

    lstcountry.Items.Add("Mexico")

    lstcountry.Items.Add("Italy")

    - To th tc lstcountry_SelectedIndexChanged in thng tin

    tn nc v thng tin li cho tng ng vi ngn ng cc nc cho ngi lptrnh:

  • 8/13/2019 Bi ging LTQL_2012

    58/189

    Bi ging Lp trnh qun l 2012

    58

    lblcountry.Text = lstcountry.Text

    SelectCaselstcountry.SelectedIndex

    Case0

    lblinfo.Text = "Hello, Programmer!"

    Case1

    lblinfo.Text = "Hallo, Programmierer!"

    Case2

    lblinfo.Text = "Hola, Programador!"

    Case3

    lblinfo.Text = "Ciao, Programmatore!"

    EndSelect

    Thm b qun l s kin chut vo chng trnhVi chng trnh MyCaseGreeting, khi ngi dng click vo lstcountry

    nhng khng click ng vo mt trong bn mc th chng trnh lp tc hin thng

    bo yu cu chn mt trong bn mc , ta thm vo b qun l s kin chut nh

    sau:

    To ra th tc lstcountry_MouseHoverbng cch:

    M form ch vit m code editor, chn lstcountry class name v skin MouseHover Method name v g on m sau:

    Iflstcountry.SelectedIndex < 0 Or_

    lstcountry.SelectedIndex > 4 Then

    lblcountry.Text = ""

    lblinfo.Text = "Please click the country

    name!"

    EndIf

    Hy chy li chng trnh xem c g khc bit hay khng.

    5.2. S dng cc cu trc lp

    5.2.1. Vng lp ForNext

    C php:

    Forbien = batdau Toketthuc[Stepbcnhay]

    Khi lnh gi thc thi

    Next

  • 8/13/2019 Bi ging LTQL_2012

    59/189

    Bi ging Lp trnh qun l 2012

    59

    Trong bcnhay c th l mt s thc, mc nh

    l 1.

    V d:

    Fori = 1 to4

    Beep()

    Nexti

    on m trn s pht ra 4 ting bp.

    Fori = 1 to4 step 0.5

    Beep()

    Nexti

    on m trn y s pht ra 7 ting bp.

    5.2.2. Vng lp DO LOOPVng lp DO LOOPSchycho n khi iu kin ghi trong phn WHILE sai

    th dng.

    C php:

    Dowhilebieuthuc

    Khi lnh

    Loop

    Vi vng lp ny, nu biu thc sai ngay t y th vng lp s khng thc

    hin mt lnh no trong khi lnh. Nu mun vng lp thc thi t nht l mt lnh

    th dng c php sau:

    Do

    Khi lnh

    LoopWhileBieuthuc

    V d:Vit chng trnh chuyn i nhit t F sang C

    To mt gii php mi v thm vo mt d n cng tn

    MyDoLoop_Temperature. To giao din nh hnh v:

    Tos kin Form1_load v nhp vo on m sau:

    DimFTemp, Celsius AsSingle

  • 8/13/2019 Bi ging LTQL_2012

    60/189

    Bi ging Lp trnh qun l 2012

    60

    DimstrFtemp AsString

    DimPrompt AsString= "in vo mt gi tr F"

    Do

    strFtemp = InputBox(Prompt," F sang C:")

    IfstrFtemp ""Then

    FTemp = CSng(strFtemp)

    Celsius = Int((FTemp + 40) * 5 / 9 - 40)

    MsgBox(Celsius, , "Nhit C l")

    EndIf

    LoopWhilestrFtemp ""

    Chng trnh s hin mt hp thoi cho php bn nhp vo gi tr F

    chuyn sang C. Vng lp s thc thi lin tc cho n khibn khng nhp g vohp thoi.

    S dng t kha Until trong pht biu DoLoopNu ta dng t kha Untilth chng trnh se dng li khi no iu kin c

    lng nhn gi tr TRUE.

    V dta vit li iu kin LoopwhilestrFtemp ""nh sau:

    LoopUntilstrFtemp = ""

    Th chng trnh khng thay i kt qu thc thi.

    5.3. S dng b nh thi TIMER

    C th quy nh mt khi lnh no ch thc hin trong mt thi gian xcnh vi b nh thi gian Timer. S dng thuc tnh Intervalv t Enalbleca

    iu khin Timer. Gi tr Interval bng 1000 tng ng vi 1 giy. Khi c thit

    t, timer s pht sinh s kin Time_Tick thc thi. Khi mun dng b nh thi,

    ta t enable l fasle.

    V d 1: cch s dng Timer

    To v d DigitalClockvi iu khin Timer. Ta t b m giy, khi thuc

    tnh enable l true th c sau 1 giy (gi tr interval l 1000) th h thng pht sinh

    s kin Time_Tick gi th tc thc thi.

  • 8/13/2019 Bi ging LTQL_2012

    61/189

    Bi ging Lp trnh qun l 2012

    61

    Thit k giao din:Giao din form gm mt nhn hin thng tin ngy v gi l mt ng h in

    t nh sau:

    - To mi mt gii php v add vo mt d n. To form nh trn bng cchko mt lable v mt iu khin Timer1 vo form.

    - t thuc tnhIntervalca Timer1 l 1000 (ng vi 1 s), thuc tnh enablel TRUE.

    Vit m:To th tc Timer1_Tickbng cch double click vo iu khin Timer1 v

    nhp vo on m sau:

    Label1.Text = "Ngy: "& DateTime.Now.Date &

    Chr(10)

    Label1.Text &= TimeString

    Chy chng trnh:Chy chng trnh v quan st thy trn form c mtng h in t nh hnh:

    V d 2:S dng i tng TIMER hn ch thi gian

    Ta c th s dng iu khin TIMER khng ch cho mt tc v no . Bi

    tpMyTimePassWordsau y s s dng iu khin TIMER gii hn thi gian

    nhp mt khu ca ngi dng.

    Tm hiu chng trinh:Chng trnh c mt textbox cho php nhp password. Nu sau 15 giy m

    ngi dng khng nhp mt khu chng trnh a ra thng bo v kt thc chng

  • 8/13/2019 Bi ging LTQL_2012

    62/189

    Bi ging Lp trnh qun l 2012

    62

    trnh. Ngoi ra chng trnh cn c mt nt click ng nhp. Nu ngi dng

    khng nhp pass th thng bo li cha nhp pass, nhp ng chui matkhau th

    bo thnh cng, ngc li th bo khng ng nhp c.

    Thit k giao din:

    To mt gii php v thm vo mt d n cng tn l MyTimePassWordng

    thi thit k giao din nh hnh trn.

    t thuc tnhIntervalca Timer1 l 15000 ng vi 15s v enable l TRUE.

    Vit m:Vitth tc Timer1_Tick x l khi qu 15 giy m ngi dng cha

    ng nhp.

    MsgBox("Rt tic, ht 15 giy."

    )To th tc Button1_Clickx l ng nhp:

    IfTextBox1.Text = ""Then

    MsgBox("Bn cha nhp mt khu!")

    Else

    IfTextBox1.Text = "matkhau"Then

    Timer1.Enabled = False

    MsgBox("Bn ng nhp thnh cng!")

    ElseMsgBox("Bn khng c quyn truy cp!")

    EndIf

    EndIf

  • 8/13/2019 Bi ging LTQL_2012

    63/189

    Bi ging Lp trnh qun l 2012

    63

    Chng 6: G LI V BY LI TRONG VB.NET

    Ni dung:

    - Cc kiu li khc nhau trong chng trnh

    - S dng cng c g li trong VS.NET t im dng cho chng trnh - S dng ca s Watch kim tra cc gi tr ca cc bin khi thc thi chng

    trnh

    - Sdng ca s Command thay i gi tr bin v thc thi lnh trc tip

    - Qun l cc li thc thi chng trnh bng pht biu TryCatch.

    - Kim tra mt s iu kin li c trng bng pht biu Catch When

    - S dng thuc tnh Err.Number v Err.Description xc nh cc li ngoi

    l

    - S dng cc b x l li kt hp vi cc k thut phng v li khc - Thot khi b x l li bng pht biuExit Try

    6.1. Tm kim v hiu chnh li

    6.1.1. Cc loi liC ba loi li thng xy ra, gm:

    - Li c php (Syntax Error), cn c gi l li bindch (Compiler error):

    Li c php xy ra khig sai cu trc ngn ng. B son tho m c th bt c

    li c php(xut hin dng gch chn mu xanh long ngong di dng m gy

    li).

    - Li thc thi (Runtime error): Xy ra bt ng khi chng trnh ang chy. Khi

    gp li thc thi, ta cn ch n vic x l d liu ng nhp vo ng v hp l.

    - Li logic: Li do t duy sai ca ngi lp trnh dn n kt qu sai vi mong

    mun. pht hin li logic, cn chy chng trnh nhiu ln vi nhiu d liu

    khc nhau v kim tra kt qu xem c ph hp hay khng.

    C rt nhiu li yu cu ta phi c gii php thch hp thng qua b x l li(error handler). N l mt on chng trnh c kh nng pht hin cc li khc

    nhau v a ra gii php thch hp x l.

    6.1.2. D li tng dng lnh s dng ch ngt (BREAK MODE)Mt trong nhng cch g li hiu qu l chy tng dng m v kim tra ni

    dung ca mt hay nhiu bin. thc hin iu ny, bn chuyn sang ch ngt.

    Khi chng trnh vn chy nhng ca s Code Editor.

    Vi v d DebugTestsau y, ta s hc cch t im dng (breakpoint) v

    chuyn chng trnh sang ch ngt kim tra li. c lp li, bn s dng

  • 8/13/2019 Bi ging LTQL_2012

    64/189

    Bi ging Lp trnh qun l 2012

    64

    nt Step into trn thanh standard bar v ca s Autos kim tra gi tr cc

    bin cng nh thuc tnh chnh trong chng trnh.

    V d DebugTest:

    To mi mt d n c tnDebugTestv thit k form nh sau:

    Vit m:To th tc Button1_click v nhp vo on m sau:

    Dimtuoi AsInteger

    IfTextBox1.Text = ""Then

    MsgBox("Bn bao nhiu tui?")

    Else

    tuoi = CInt(TextBox1.Text)

    Iftuoi > 13 Andtuoi < 20 Then

    TextBox2.Text = "Bn l thanh thiu nin!"

    Else

    TextBox2.Text = "Bn khng phi l thanh

    thiu nin"

    EndIf

    EndIf

    Chng trnh s pht sinh li logic: la tui 13 cng l thanh thiu nin nhng

    khi ngi dng nhp vo tui 13 chng trnh vn xem nh y khng phi l thanh

    thiu nin.

  • 8/13/2019 Bi ging LTQL_2012

    65/189

    Bi ging Lp trnh qun l 2012

    65

    Ta s dng im dng kim tra xem li ny do dng m no gy ra:

    t im dng (BreakPoint):- M form ch son tho m v click chut vo l tri ca on m

    nh hnh lm xut hin mt dng sng:

    - Nhn F5 hay nt start chy chng trnh.- G gi tr 13 vo textbox th nht v n nt Kim tra. Lc ny

    chng trnh tr v ca s code editor v xut hin dng vng dng ta

    t im dng nh th ny:

    ch ny ta c th xem rt nhiu th m chng trnh ang din ra. C th

    xem gi tr hin hnh ca bin tuoibng cch di chut ln bin tuoi, gi tr l 0

    . Bn cng c th thay i gi tr bin hay gi tr nhp vo ca textbox1.

    - Nhn nt Step Into hay F11 chuyn sang dng lnh tip theo.

  • 8/13/2019 Bi ging LTQL_2012

    66/189

    Bi ging Lp trnh qun l 2012

    66

    - M ca s Autos bng cch chn Debug | Windows | Autos. Ca s nycho php bn xem tt c nhng g xy ra khi chng trnh chy.

    - Tip tc n nt Step Into hay F11 ba ln na v quan st. Lc ny phtbiu If thy iu kin so snh sai (13 khng nm trong khong 13 20)

    v chuyn n mnh Else. y chnh l li m chng ta cn tm. Vy

    l ta cn xem xt li biu thc so snh trong pht biu If.

    - Dng chy bng cch nhn nt stop v sa li ton t so snh > thnh>=13 ri lu li thay i ny.

    B im dng:B im dng bng cch click chut vo im mu ca dng m thit

    t im dng.

    Chy li chng trnh v kim tra xem kt qu thay i hp l hay cha.

    6.1.3. Theo di cc bin bng ca s WATCHC th theo di cc bin bng ca s Autos nhng ca s ny s khng hin

    th tt c cc bin trong chng trnh, n ch hin th bin ca dng lnh ang thc

    thi hay hm ang thc thi m thi.

    xem ton b ni dung cac bin, c th dng ca s WATCH. Trong

    VB.NET, c th m mt lc ti 4 ca s WATCH. m bn chn Debug |Windows | Watch.

    Bn m li d n trn v chy li ch ngt. M Watch1 theo cch trn.

    theo di bin hay biu thc no bn chn n bng cch bi en v R-Click ri

    chn Add Watch. Kt qu:

  • 8/13/2019 Bi ging LTQL_2012

    67/189

  • 8/13/2019 Bi ging LTQL_2012

    68/189

    Bi ging Lp trnh qun l 2012

    68

    EndTry

    Trong Finallyl ty chn, cc t kha cn li l bt buc.

    Cc li v ng dn v a

    V d DiskDriverErrorsau s minh ha tnh hung x l li runtime thng

    thy nht. Ta to mt form c nt nhn v mt nh PictureBox. Khi click vo nt

    th nh trong mt a mm c tn 6_82MELINH.ico s load vo nh. Nu b a

    mmra th khi chy chng trnh s bo li khng tm thy a.

    Thit k Form:M mi mt d n v thit k form nh hnh:

    Vit m:To th tc Button1_Click v g m nh sau:

    PictureBox1.Image = System.Drawing.Image.FromFile("A:\6_82MELINH.ico")

    Lc ny trong mm khng c a nn khi chy chng trnh s c thng bo

    li xy ra

  • 8/13/2019 Bi ging LTQL_2012

    69/189

    Bi ging Lp trnh qun l 2012

    69

    khc phc ta t thm khi try catch vo nhsau:

    Ci t c ch x l li c a

    Bn sa li th tc Button1_click nh sau:

    Try

    PictureBox1.Image =

    System.Drawing.Image.FromFile _

    ("A:\6_82MELINH.ico")

    Catchex AsException

    MsgBox("Khng tm thy a mm trong A")

    EndTry

    Lc ny pht biu gy li PictureBox1.Image =System.Drawing.Image.FromFile _ c t trong khi TryCatch

    nn khi chy chng s thc thi hin thng bo thay v pht sinh li nh trn:

  • 8/13/2019 Bi ging LTQL_2012

    70/189

    Bi ging Lp trnh qun l 2012

    70

    S dng mnh Finally thc hin tc v dn dp

    Mnh ny s cho php dng cc pht biu sau n d c hay khng c li

    xy ra.

    Tr li v d trn, ta thm vo on m nh sau:

    Try

    PictureBox1.Image =

    System.Drawing.Image.FromFile _

    ("A:\6_82MELINH.ico")

    Catchex AsException

    MsgBox("Khng tm thy a mm A:\")

    Finally

    MsgBox(" bt li thnh cng.")

    EndTry

    V chy li chng trnh xem n hot ng nh th no.

    6.2.2. Ci t TryCatch phc tp hnKhi chng trnh phc tp th vic bt li cng tr nn phc tp hn. Vi

    TryCatch bn c th:

    - t mt khi hay nhiu khi pht biu gia cc t kha .

    - Cho php s dng mnh lc li Catch When

    - Cho php s dng khi TryCatchlng nhau

  • 8/13/2019 Bi ging LTQL_2012

    71/189

    Bi ging Lp trnh qun l 2012

    71

    - Cng vi i tngErrcho php xc nh li pht sinh

    i tng Err:

    y l i tng c bit cung cp chi tit thng tin li pht sinh. Cc thuc

    tnh thng dng Err.Number, Err.Description cha thng tin m li, m t chi tit

    li. Phng thc Err.Clear cho php xa b li hin hnh. Bng sau y lit k cc

    li Runtime thng gp trong VB:

    M li (Err.Number) M t

    5 Gi hm hay truyn i s khng ng

    6 Trn

    7 Ht b nh

    9 Truy xut vt ch s mng

    11 Chia cho 0

    13 Kiu khng hp l

    48 Li np th vin DLL

    51 Li ni b

    52 Tn File hay s khng hp l

    53 Khng tm thy File

    55 File ang m

    57 Li thit b xut nhp

    58 File tn ti

    61 ay

    62 Con tr file vt qu im cui file

    67 File m qu nhiu

    68 Thit b cha sn sng

    70 Khng cho php truy xut

    71 a cha sn sng

    75 Truy cp ng dn v file khng ng 76 Khng thy ng dn

    91 Bin i tng thiu t kha truy xut With

    321 nh dng file khng hp l

    322 Khng th to file tm

    380 Gi tr thuc tnh khng hp l

    381 Ch s thuc tnh khng hp l

    422 Thuc tnh khng tm thy

    423 Thuc tnh hay phng thc khng c

  • 8/13/2019 Bi ging LTQL_2012

    72/189

    Bi ging Lp trnh qun l 2012

    72

    424 Yu cu v i tng

    429 Khng th to i tng ActiveX

    430 Lp i tng khng h tr Automation

    440 Khng th to i tng Automation

    460 nh dng trong Clipboard khng hp l

    461 Phng thc hay bin thnh vin khng tm

    thy

    462 Server khng sn sng

    463 Lp khng ng k trn my cc b

    481 nh khng hp l

    482 My in b li

    Vn dng v d trn nhng ta thm thuc tnh Err.Number, Err.Description

    ng thi ta cng tm hiu thm v mnh c li Catch When.

    Sa li th tc Button1_Click nh sau:

    Try

    PictureBox1.Image =

    System.Drawing.Image.FromFile _

    ("A:\6_82MELINH.ico")

    CatchWhenErr.Number = 53 'nu khng thy file

    MsgBox("Kim tra li ng dn v tn file")

    CatchWhenErr.Number = 7 'Ht b nh

    MsgBox("File nh qu ln - ht b nh", ,

    Err.Description)

    Catchex AsException

    MsgBox("Khng tm thy a mm A:\", ,

    Err.Description)Finally

    MsgBox(" bt li thnh cng.")

    EndTry

    Trong khi lnh trn ta s dng mnh Catch Whenhai ln, mi ln ta s

    dng thm cc thuc tnh Number ca i tng Err pht hin li c th hn.

    T mnh pht sinh li:

    Trong mt s trng hp bn c th t kim tra li trong mnh Try v

    mun nhy ngay n mnh Catch li c x l. Khi VB.NET cung cp

  • 8/13/2019 Bi ging LTQL_2012

    73/189

    Bi ging Lp trnh qun l 2012

    73

    phng thcErr.Raise lm iu . V d ta c th t pht hin ra li khng tm

    thyFile v d trn (li 53) v thc hin pht biu trong mnh Catch:

    Try

    PictureBox1.Image =

    System.Drawing.Image.FromFile _

    ("A:\6_82MELINH.ico")

    IfErr.Number = 53 ThenErr.Raise(53)

    CatchWhenErr.Number = 53

    MsgBox("Khng tm File")

    EndTry

    Xc nh s ln th li

    TryCatchcho php bn th li mt s thao tc gy ra li trc khi a raquyt nh khng thc hin thao tc ny na. V d ta c th xem s ln ngi dng

    click vo nt Load File bao nhiu ln, nu vt qu s ln cho php th khng cho

    ngi dng click tip na:

    Khai bo thm bin dem di dng public class form1:

    Dimdem AsShort= 0

    Sa li th tc Button1_Click nh sau:

    Try

    PictureBox1.Image =System.Drawing.Image.FromFile _

    ("A:\6_82MELINH.ico")

    Catchex AsException

    dem += 1

    Ifdem

  • 8/13/2019 Bi ging LTQL_2012

    74/189

    Bi ging Lp trnh qun l 2012

    74

    V nt Load File s b m i khng cho ngi dng click na nh th ny:

    S dng cc khi TryCatchlng nhau

    Bn c th s dng cc khi TryCatch lng nhau kim tra kp cc thao

    tc c th gy li. V d by gi ta sa li v d trn ngi dng phi a a

    mm vo A:\ ngay t ln thng bo li u tin, nu khng nt Load File lp

    tc s b v hiu ha. Code:

    Try

    PictureBox1.Image =

    System.Drawing.Image.FromFile _

    ("A:\6_82MELINH.ico")

    CatchMsgBox("Khng tm thy a mm A:\, cho

    a mm vo")

    Try

    PictureBox1.Image =

    System.Drawing.Image.FromFile _

    ("A:\6_82MELINH.ico")

    Catchex AsExceptionMsgBox("Khng th load file!")

    Button1.Enabled = False

    EndTry

    EndTry

    Bn nn s dng vic lng hai pht biu TryCatch lng nhau trong trng hp

    kim tra li li 2 ln. Cn nu kim tra nhiu ln th bn nn s dng kt hp vi

    cc bin m v vng lpFor, Do Loop.

  • 8/13/2019 Bi ging LTQL_2012

    75/189

    Bi ging Lp trnh qun l 2012

    75

    6.2.3. So snh c ch x l li vi cc k thut phng v liBn c th on trc xem li no c th xy ra phng trc thay v x l

    li bng TryCatch. V d trong bi tp trn, thay v dng Try ta s dng phng

    thc ca h thng lFile.Existskim tra xem c tn ti file hay khng ri mi gi

    phng thc np nhFromFile:

    dng c phng thc ny, bn cn khai bo s dng th vin IO bng t

    khaImports u khilnh:

    ImportsSystem.IO

    Ri sa li m lnh trong th tc Button1_Click nh sau:

    'Phng v li

    IfFile.Exists("A:\6_82MELINH.ico") Then

    PictureBox1.Image =System.Drawing.Image.FromFile _

    ("A:\6_82MELINH.ico")

    Else

    MsgBox("Khng tn ti file ny!")

    EndIf

    Vic s dng phng thc no l do bn quyt nh v trong hon cnh no th

    dng phng thc no cho hp l.

    6.2.4. S dng pht biu thot Exit TryPht biu ny l ty chn trong khi TryCatch. N gip bn thot khi khi

    TryCatch khi mun.Tuy nhin nu trong khi TryCatch c pht biu Finally

    th chng trnh s thc thi cc pht biu trong phn Finally trc khi thot khi

    khi Try theo yu cu ca Ext Try.

    V d nh sau:

    'Thot Try vi Exit Try

    TryIfPictureBox1.Enabled = FalseThenExitTry

    PictureBox1.Image =

    System.Drawing.Image.FromFile _

    ("A:\6_82MELINH.ico")

    Catchex AsException

    MsgBox("Khng tm thy File ny!")

    EndTry

  • 8/13/2019 Bi ging LTQL_2012

    76/189

    Bi ging Lp trnh qun l 2012

    76

    Trong on m trn, nu chng trnh kim tra xem iu khin PictureBox1

    m cha sn sng th lp tc thot khi khi TryCatch m khng thc hin a ra

    thng bo no.

  • 8/13/2019 Bi ging LTQL_2012

    77/189

    Bi ging Lp trnh qun l 2012

    77

    Chng 7: S DNG MODULE, TH TC V HM

    Ni dung:

    - To cc module chun

    - Khai bo v s dng cc binPublicton cc- S dngcc hm v th tc t nh ngha bi ngi dng

    7.1. MODULE v bin Public trong chng trnh

    7.1.1 To mt MODULE chunKhi d n ca bn rt ln th vic c nhiu form l iu ng nhin. C iu

    bn khng th s dng nhng hm, bin khai bo trong form ny cho form kia

    c. chia s bin v cc hm, th tc gia cc form trong d n , bn c th

    khai bo chng trong mt module ca d n.Module l ni cha cc bin, cc hm, th tc v c th c gi t bt c ni

    no trong chng trnh.Module l file c ui m rng .vb ch cha m. C th lu

    module bng cch chn Flie | Save Module1 As.

    Ta to mt module chun vi v dMymoduleTestsau y:

    To mi mt gii php v thm vo mt d n cng tn MyModuleTest. Ti

    ca s Solution Explorer, R-Click vo tn d n v chn Add | New Item nh

    hnh:

  • 8/13/2019 Bi ging LTQL_2012

    78/189

  • 8/13/2019 Bi ging LTQL_2012

    79/189

    Bi ging Lp trnh qun l 2012

    79

    vc

    Thay i tn ca module bng cch t thuc tnh File Name thnhMathFuction:

    xa module, bn r-clik vo n v chn Delete. tm loi b n ra khi

    d n bn R-Click chn Exclude From Projects (c th chn Project | Exclude From

    Project). Khi no mun thm tr li bn chn Add | Exist Item.

    7.1.2. Lm vic vi cc bin PublicBin ton cc l bin c khai bo vi t kha Public trc. Bin ny cho

    php gi ti bt c ni no trong chng trnh. V d:

    Publictoancuc AsInteger

    Khai bo ny khai bo mt bin tn toancucc kiu d liu l Integer.

    V d:Ta quay li chng trnh LuckySeven lm trong cc chng trc

    nhng trong v d ny ta s dng mt bin ton cc c tn solanthang lu li s

    ln ngi chi chin thng v cho hin th n ln trong mt nhn.

  • 8/13/2019 Bi ging LTQL_2012

    80/189

    Bi ging Lp trnh qun l 2012

    80

    Chng trnh gm ba nhn hin th 3 s ngu nhin, hai nt cho php clickquay s v kt thc chng trnh,mt PictureBox hin th nh khi chin thng,

    mt nhn ghi tn chng trnhLuckySeven. Ta thit k thm mt nhn na (Label5)

    hin th s ln chin thng ca ngi chi.

    By gi ta thm vo mt module module module1v g vo trong mt

    khai bo bin nh sau:

    Publicsolanchienthang AsInteger

    S dng bin ny trong th tc Button1_Click nh sau:

    PrivateSubButton1_Click(ByValsender As

    System.Object, _

    ByVale AsSystem.EventArgs) HandlesButton1.Click

    PictureBox1.Visible = False

    Label1.Text = CStr(Int(Rnd() * 10))

    Label2.Text = CStr(Int(Rnd() * 10))

    Label3.Text = CStr(Int(Rnd() * 10))

    If(Label1.Text = "7") Or(Label2.Text = "7") _

    Or(Label3.Text = "7") Then

    PictureBox1.Visible = True

    Beep()

    solanchienthang += 1

    Label5.Text = "Wins: "& solanchienthang

    EndIf

    EndSubDng hm Randomize()trong s kin Form_Load nh v d trc.

  • 8/13/2019 Bi ging LTQL_2012

    81/189

  • 8/13/2019 Bi ging LTQL_2012

    82/189

    Bi ging Lp trnh qun l 2012

    82

    Function_statements()

    [Return value]

    EndFunction

    Trong :

    - FunctionName: tn hm,

    - As Type: nh ngha kiu d liutr v ca hm sau khi tnh ton xong

    - Argument: