Professional Documents
Culture Documents
Yang Integrate 3g WLAN
Yang Integrate 3g WLAN
Visual Basic
Trang 1
I. S DNG MT S IU KHIN
I.1 Bi tp c hng dn
Bi tp 1I-1
90 Hnh 1.1: Thao tc vi List Box Bc 3: Chy ng dng bng cch chn Run/Start. List1 hin th 3 phn t va thm vo bc 2. Chm dt chng trnh bng cch chn Run/End trn menu tr v mi trng son tho. Bc 4: Nhp p ln Button Command1 hin th s kin Click ca Command1. Bc 5: Mc ch ca Command1 l chuyn nhng phn t c chn t List1 sang List2. Thm on m sau vo th tc s kin Click ca Command1: ' Kiem tra neu mot phan tu duoc chon If Form1.List1.ListIndex = -1 Then Exit Sub ' Chep cac phan tu duoc chon tu List1 sang List2 Form1.List2.AddItem Form1.List1.List(Form1.List1.ListIndex) Bc 6: Chy ng dng. Nhp phn t th nht ca List1, sau nhp Command1. iu g xy ra? Phn t c chn ca List1 phi c hin th bn List2. Chm dt ng dng v tr v mi trng son tho. Bc 7: Tm trong phn tr gip cc thuc tnh sau ca ListBox: o ListCount o List Trang 2
TT. Visual Basic o ListIndex Bc 8: Tm trong phn tr gip cc hm sau ca ListBox: o AddItem o RemoveItem o Clear Bc 9: Tm tr gip cho lnh VB: Exit Sub Bc 10: on m trong th tc Command1_Click thc hin thao tc chp phn t t mt ListBox sang mt ListBox khc. By gi ta lm ngc li: loi b phn t trong List1. lm iu ny ta nhp p ln Command1 v thm dng code sau vo cui th tc: ' Xoa phan tu duoc chon trong List1 Form1.List1.RemoveItem Form1.List1.ListIndex Bc 11: Chy chng trnh v chn phn t th nht trong List1. iu g xy ra? Bc 12: Nu khng chn phn t no trong List1, nhp Command1. iu g xy ra? Ti sao? Bc 13: Ta c mt button dng chuyn cc phn t c la chn t tri sang phi (List1 sang List2), vi button cn li ta s dng chuyn cc phn t c chn t phi sang tri (List2 sang List1). Bc 14: Vi Command2 ta s copy on m t Command1 vi 1 vi thay i nh. Bc 15: Command2 thc hin cc thao tc ging vi Command1, nhng c nhim v di chuyn phn t c la chn t List2 sang List1. on m trong Command1 s c s dng li vi mt vi thay i nh. Nhp p ln Command1, chn cc m lnh thm vo cc bc trc. Chn Edit/Copy trn menu. Bc 16: ng ca s Code v nhp p ln Command2. S kin Command2_Click s hin th trong ca s Code. Nhp bt k bn trong th tc s kin v chn Edit/Paste trn menu. Nh vy ta chp on m t Command1 sang Command2. Bc 17: Sa li cc m lnh va c chp. Thay i cc ch thch cho thch hp; i List1 thnh List2 v ngc li. Nhng sa i ny gip Command2 c th thc hin thao tc chuyn cc phn t c chn t List2 sang List1. Lu cc cng vic thc hin bng cch chn File/Save Project. Bc 18: Chy chng trnh. Chn phn t th nht trong List1 v chn Command1 chuyn n sang List2. By gi chn phn t th nht trong List2, v nhp Command2. Nu Command2 khng thc thi, tr li mi trng son tho. Kim tra li on m lnh trong th tc Command2_Click ta va chp bc trn. Bc 19: Lu rng cc phn t c 2 ListBox khng c sp th t; nu mun sp th t, ta nhp List1 v i thuc tnh Sorted thnh True, tng t i vi List2. Bc 20: Lu d n li v chy chng trnh. Tt c cc phn t phi c hin th theo th t trong c 2 ListBox, bt chp th t chng c thm vo trong ListBox.
Bi tp 1I-2
THAO TC VI SPINCONTROL
Trang 3
TT. Visual Basic Mt SpinControl l s kt hp ca TextBox v Slider. Slider to mt min gi tr s c hin th trong TextBox. Cc gi tr ny c th c thay i bng cch nhp trc tip vo trong TextBox. Bc 1: To th mc Basic\Bt1-2. To d n mi trong th mc trn. Bc 2: Trong Form1, thm mt TextBox v Horizontal Scroll Bar nh hnh 2. Thit lp cc thuc tnh sau cho mi Control:
Item1: TextBox Name: Text1 Text: <blank> Item2: Horizontal Scroll Bar Name: Hscroll1 LargeChange: 10 Max: 100 Bc 3: Nhp p ln scrollbar nhp m lnh, y l s kin Change ca Scroll Bar gi l hm HScroll1_Change. Thm on m sau hin th gi tr hin thi ca scroll bar trong TextBox. Text1.Text = HScroll1.Value Bc 4: Chy ng dng bng cch chn Run/Start trn menu. By gi nhp cc mi tn tri v phi ca scroll bar. Gi tr trong TextBox phi thay i. Bc 5: By gi thm m thay i gi tr bng cch nhp trc tip gi tr trong TextBox. Nhp p vo TextBox v thm on m sau thit lp gi tr cho scroll bar khi TextBox thay i: HScroll1.Value = Text1.Text Bc 6: Chy chng trnh v nhp 50 vo TextBox. Vch ca scroll bar thay i theo. Thay i vch ca scroll bar, gi tr trong TextBox cng thay i. Bc 7: Trong khi chy chng trnh, nhp k t A vo TextBox. iu g xy ra? Nguyn nhn v scroll bar ch nhn cc gi tr l s ch khng phi k t. Bc 8: ngn chn nhng k t khng mong mun c nhp vo TextBox, ta s dng s kin KeyPress. S kin ny xy ra khi c mt phm trn bn phm c nhn, nhng trc khi gi tr thc s c hin th trn TextBox. S kin ny nhn mt gi tr s nguyn ca phm c nhn, gi l ASCII. Mi k t trn bn phm c i din bng mt m ASCII duy nht. Do ta c th kim tra phm no c nhn v b qua n nu ta thy khng cn thit. Bc 9: Thm on m sau vo s kin Text1_KeyPress ngn chn cc gi tr khng phi l s. ' Loai bo ky tu khong can thiet Trang 4
TT. Visual Basic If KeyAscii = vbKeyBack Then Exit Sub If KeyAscii < vbKey0 Or KeyAscii > vbKey9 Then KeyAscii = 0 End If Bc 10: Lu d n li v chy chng trnh.
Bi tp 1I-3
Hnh I.3: Giao din la chn tp tin hnh nh hin th 1: 2: 3: 4: DriveListBox Name: drvSource DirListBox Name: dirSource FileListBox Name: filSource Pattern: *.bmp;*.wmf;*.ico;*.jpg ImageBox Name: ImgSource Stretch: TRUE Trang 5
TT. Visual Basic Bc 2: Vit m trao i thng tin gia cc i tng: Trong ca s thit k Form, nhp p vo DriveListBox, ca s Code hin ra, x l s kin sau: Private Sub drvSource_Change() dirSource.Path = drvSource.Drive End Sub Tng t cho DirListBox & FileListBox Private Sub dirSource_Change() filSource.Path = dirSource.Path End Sub Private Sub filSource_Click() imgSource.Picture = LoadPicture(filSource.Path & "\" & filSource.FileName) End Sub Bc 3: Lu d n li vo th mc Basic\Bt1-3. Chy chng trnh nh phm F5.
Bi tp 1I-4
IU KHIN OLE
Bc 1: To d n mi, trong ta c s dng OLE. Hp thoi Insert Object hin ra ta la chn, y chn kch hot Create New, Object Type l Bitmap Image; nh du chn Display as Icon.
Trang 6
TT. Visual Basic Hnh I.5: S dng OLE Control Bc 2: Nhp OK, VB s gi trnh ng dng Paint & ta v hnh trn ca s Paint. Sau chn Exit & Return trong ca s Form, ta c:
Hnh I.6: Kt qu thc thi ng dng Bc 3: Lu d n vo th mc Basic\Bt1I-4 v chy chng trnh; nhp p vo biu tng Bitmap Image,VB s khi ng Paint ta hiu chnh hnh v u.
I.2 Bi tp t lm
1) Thit k chng trnh nh sau:
Nhp vo 2 gi tr A, B; sau chn mt php ton (+,-,*,/). Nhp chn nt nhn Thc hin, kt qu s hin th trong iu khin nhn Kt qu. Trang 7
TT. Visual Basic 2) Thit k chng trnh nhp vo ta ca hai im (x1,y1); (x2,y2) v cho php: a) Tnh h s gc ca ng thng i qua hai im theo cng thc: H s gc = (y2 - y1) /(x2 - x1) b) Tnh khong cch gia hai im theo cng thc: khong cch = (x2 - x1) 2 + (y2 - y1)2 Giao din chng trnh c th nh sau:
Hnh I.8: Ta cc im
3) Vit chng trnh cho php nhp vo bn knh r ca mt hnh trn. Tnh chu vi v din tch ca hnh trn theo cng thc : Chu vi CV = 2*Pi*r Din tch Dt = Pi*r*r Hin th cc kt qu ln mn hnh. 4) Thit k chng trnh c giao din nh hnh di v thc hin cc chc nng sau:
Trang 8
TT. Visual Basic Hnh I.9: La chn tn o Mi khi ngi s dng chng trnh nhp thng tin vo 2 TextBox, sau nhp chn nt Thm, gi tr ca M s c a vo ComboBox, cn gi tr ca H v tn c a vo ListBox. o Mi khi h chn mt m s no trong ComboBox, gi tr h v tn tng ng cng s c chn trong ListBox; ng thi chng s c hin th ln trn cc iu khin TextBox tng ng (nh hnh). (X l s kin Combo1_Click & List1_Click) o i vi m s v h tn ca mt ngi, ta c th sa i gi tr ca chng trong cc nhp TextBox, sau chn nt Sa, gi tr ca chng trong ComboBox & ListBox cng sa i theo. o Khi ngi dng chn mt m s (hay h tn) trn ComboBox (hoc ListBox), sau h chn Xa, cc thng tin ny c xa ra khi ComboBox & ListBox.
y, ngi s dng chng trnh nhp vo mt tui no trong nhp tui, sau h nhp nt Nhn xt, mt nhn xt s xut hin ng vi tui m h nhp t bn phm. Lc ny ta s dng ton t so snh (=, <, <=, >, >=, <>) cng vi cc t kha Is v To trong biu thc. Is: so snh bin vi biu thc c lit k sau t kha Is. To: nh ngha phm vi ca gi tr. S kin Command1_Click(): Dim Age As Integer Age = Val(Text1.Text) Trang 9
Case 18 To 30
Label2.Caption = "Ban da truong thanh, lap gia dinh thoi!"
Case 31 To 60 Label2.Caption = "Lua tuoi trung nien roi!" Case Else Label2.Caption = "Ban co con chau day dan roi nhe!" End Select Bi tp 1II-2
BIN V CU TRC
Bc 1: To th mc Basic\Bt1II-2. To d n mi (VB Standard EXE) trong th mc trn; thm mt modul vo d n, trong modul nay thm vo on m sau: Public Const tieude As String = "Quan ly hanh chinh" Public Const sohieu As String = "1.0" Thm on m sau vo hm x l s kin Form_Load ca Form1: Form1.Caption = tieude & " phien ban " & sohieu Chy ng dng, ta thy tiu ca Form: Quan ly hanh chinh phien ban 1.0. By gi, m Modul1 v thay Public bng Private. Chy chng trnh. iu g xy ra? Bc 2: i cc khai bo trn thnh Public, thm dng sau y vo u th tc Form_Load: tieude = Loi xuat hien & Hang so khong the thay doi duoc. Chy chng trnh, iu g xy ra? Bc 3: Thm dng sau trong hm x l s kin Form_Resize: MsgBox FORM RESIZE Bc 4: Chy chng trnh, khi Form bt u c hin th (s kin Form_Load), s kin Resize ca Form c thc hin. Ch c hm x l s kin Resize mi cho bit chc rng hm Form_Load c thc thi. kim chng ta to mt bin trn form v trong hm Form_Load ta thit lp gi tr ca n. Sau , hm Form_Resize c th kim tra bin v x l trn bin ny. Bc 5: Khai bo mt bin Private trong Form1 tn sukienLoad: Private sukienLoad As Boolean Trong hm Form_Load, t gi tr True cho bin trn: sukienLoad = True By gi ta kim tra gi tr ca bin trong hm Form_Resize. Thm vo on m sau trong hm Form_Resize: If sukienLoad = True Then SukienLoad =False Exit Sub End If MsgBox Form Resize Trang 10
TT. Visual Basic Chy ng dng, khi Form bt u c hin th, ta khng thy xut hin cu thng bo, nhng khi ta thay i kch thc ca Form (nhn cc nt _, ca form), cu thng bo li xut hin. y ta s dng mt bin lm trung gian cho s giao tip gia s kin Form_Load v s kin Form_Resize. Bi v c 2 hm ny nm trong Form1, nn ta c khai bo Private cho chng, cc ng dng khc khng th truy xut n cc bin ny. CHNG TRNH CON Bc 6: Ta vit mt chng trnh con x l chui. u vo ca chng trnh con l mt chui, kt qu ca chng trnh con l chui nhng cc t u c vit hoa k t u tin. Bi tp ny gip ta khai bo (nh ngha) mt chng trnh con v gi thc thi chng trnh con trong chng trnh ng dng ca mnh. Chn Modul1 trong ca s son tho chng trnh, sau nhp chn Tools\Add Procedure. nh ngha mt hm public tn Doihoa() nh sau: Public Function Doihoa(s As String) As String Dim s1 As String Dim s2 As String Do While InStr(s, " ") <> 0 s1 = Left(s, InStr(s, " ")) s = Right(s, Len(s) - InStr(s, " ")) ' Doi chu hoa s1 = UCase(Left(s1, 1)) & Right(s1, Len(s1) - 1) s2 = s2 & s1 Loop ' Tra ket qua Doihoa = s2 & " " & s End Function ' Ham nay khong viet hoa tu cuoi cung. Bc 7: Hm Doihoa c nhim v nhn vo mt chui v i k t u tin ca cc t trong chui thnh ch hoa. By gi ta kim tra hm ny nh sau: Thm mt TextBox v mt nt nhn (Button) ln Form1. Nhp vo Button, ta thm on m sau vo hm x l s kin Command1_Click: Form1.Caption = Doihoa(Text1.Text) Chy ng dng, nhp mt chui vo Text1, nhp Command1. Chui ch hoa s xut hin trn tiu ca Form1. Bc 8: Sa li sao cho c th vit hoa k t u tin ca tt cc t.
Bi tp 1II-3
LA CHN VI LISTBOX
Bc 1: To th mc Basic\Bt1II-3. To d n mi VB Standard EXE trong th mc trn, sau to Form c dng sau: Trang 11
Hnh I.11: La chn vi ListBox Ta c 2 ListBox v cc nt nhn (Button); trong : Nt > chuyn mt phn t t tri sang phi Nt < chuyn mt phn t t phi sang tri. Nt >> chuyn tt c cc phn t t tri sang phi. Nt << chuyn tt c cc phn t t phi sang tri. Thm 2 ListBox v 4 Button vo Form1. Trong hm x l s kin Form_Load thm vo on m: List1.AddItem "Thing 1" List1.AddItem "Thing 2" List1.AddItem "Thing 3" List1.AddItem "Thing 4" List1.AddItem "Thing 5" List1.AddItem "Thing 6" Chy chng trnh. Bc 2: Thm hm x l s kin Click cho nt nhn 1 (>) Command1_Click: ' Kiem tra co chon hay khong? If Form1.List1.ListIndex = -1 Then Exit Sub ' Chep tu trai sang phai Form1.List2.AddItem Form1.List1.List(Form1.List1.ListIndex) ' Xoa ben trai Form1.List1.RemoveItem Form1.List1.ListIndex Bc 3: Chy chng trnh, chn phn t trong List1 v nhp nt >, phn t chuyn sang List2. By gi ta lm ngc li: chuyn phn t c chn t List2 sang List1. Tr v ca s son tho; chn on m va nhp trong List1, chn Edit\Copy trong menu ca VB. Nhp ln Button <, chn Edit\Paste. By gi ta sa li on m sau trong hm x l s kin Command2_Click: ' Kiem tra co chon hay khong? If Form1.List2.ListIndex = -1 Then Exit Sub Trang 12
TT. Visual Basic ' Chep tu phai sang trai Form1.List1.AddItem Form1.List2.List(Form1.List2.ListIndex) ' Xoa ben phai Form1.List2.RemoveItem Form1.List2.ListIndex Bc 4: Lu d n v chy chng trnh. Ta nhn thy 2 on m lnh trn (cho Button < v >) l nh nhau (ch i ch List1 cho List2 v ngc li). Do ta s vit mt chng trnh con chuyn d liu t ListBox ny sang ListBox kia, v trong hm x l s kin ca 2 Button ta ch cn gi chng trnh con ny chuyn d liu. Thm mt Modul mi vo d n tn Modul1, chn Tool\Add Procedure thm mt chng trnh con vo tn Chuyendulieu() Vo Modul1, sa i li th tc chuyn d liu nh sau: Public Sub Chuyendulieu(L1 As ListBox, L2 As ListBox) ' Kiem tra co chon hay khong? If L1.ListIndex = -1 Then Exit Sub ' Chep L2.AddItem L1.List(L1.ListIndex) ' Xoa ben trai L1.RemoveItem L1.ListIndex End Sub By gi hm x l s kin ca Command1 (Command1_Click) ta sa li nh sau: Call Chuyendulieu(Form1.List1, Form1.List2) Hm Command2_Click: Call Chuyendulieu(Form1.List2, Form1.List1) Lu d n v chy chng trnh. Kim tra kt qu.
Bi tp 1I -4
Trang 13
2 3
Button 1: Name: cmdTTri; Caption: Truyen tri Button 2: Name: cmdTChieu; Caption: Tham chieu TextBox: Name: Text1 Label 1: Name: lblTruoc Label 2: Name: lblTrong Label 3: Name: lblSau Bc 3: Thm 1 Modul vo d n tn l Modul1, chn Tools\Add Procedure thm th tc Thamchieu nh sau: Name: Thamchieu Type: Sub Scope: Public Bc 4: Thm on m sau trong th tc Thamchieu Public Sub Thamchieu(so As Integer) so = so + 2 Form1.lblTrong.Caption = Str(so) End Sub Bc 5: Chn Tool\Add Procedure thm th tc Truyentri nh sau: Name: Truyentri Type: Sub Scope: Public Bc 6: Thm on m sau trong th tc Truyentri Public Sub Truyentri(ByVal so As Integer) so = so + 2 Form1.lblTrong.Caption = Str(so) End Sub Bc 7: S khc nhau gia 2 th tc trn l t kha ByVal trong th tc Truyentri. By gi ta thm th tc x l bin c Click ca Button cmdTTri. Thm on m sau: Private Sub cmdTTri_Click() Dim n As Integer n = Val(Text1.Text) lblTruoc.Caption = Str(n) Call Truyentri(n) lblSau.Caption = Str(n) End Sub Bc 9: Thm hm x l bin c cmdTChieu_Click cho Button cmdTChieu: Trang 14
TT. Visual Basic Private Sub cmdTChieu_Click() Dim n As Integer n = Val(Text1.Text) lblTruoc.Caption = Str(n) Call Thamchieu(n) lblSau.Caption = Str(n) End Sub Bc 10: Lu d n, chy chng trnh. Nhp s bt k vo TextBox ri nhp nt Truyen tri, sau nhp nt Tham chieu. Kim tra kt qu. Gii thch.
Bi tp 1II-5
Trong : Label: Name: lblTg Button 1: Name: cmdGioPhut Button 2: Name: cmdGioPhutGiay Bc 3: Thm modul mi vo d n tn Modul1. Chn Tool\ Add Procedure to th tc: Name: Laythoigian Type: Sub Scope: Public Bc 3: Thm on m sau vo th tc trn: Public Sub Laythoigian(gio As String, phut As String, Optional giay As String) ' Tham so thu 3 co tu khoa Optional, nghia la ta ' co the goi thu tuc co the co tham so nay hay khong co deu duoc Trang 15
TT. Visual Basic ' Ham IsMissing kiem tra xem tham so nay co hay khong If IsMissing(giay) Then giay = "" Dim hientai hientai = Now gio = Format$(hientai, "hh") phut = Format$(hientai, "nn") giay = Format$(hientai, "ss") End Sub Bc 4: Thm th tc x l s kin cho Button cmdGiophutgiay, trong th tc ny chn on m sau: Private Sub cmdGiophutgiay_Click() Dim gioht As String Dim phutht As String Dim giayht As String Call Laythoigian(gioht, phutht, giayht) lblTg.Caption = gioht & ":" & phutht & ":" & giayht End Sub Bc 5: Thm th tc x l s kin cho Button cmdGiophut, trong th tc ny chn on m sau: Private Sub cmdGiophut_Click() Dim gioht As String Dim phutht As String ' Khong su dung tham so thu ba Call Laythoigian(gioht, phutht) lblTg.Caption = gioht & ":" & phutht End Sub Bc 6: Lu d n li v chy chng trnh. Kim tra kt qu. Bi tp 1II-6
PARAM ARRAY
Bc 1: To th mc Basic\Bt1II-6. To d n mi trong th mc ny. Bc 2: To Form nh hnh sau:
Trang 16
TT. Visual Basic Trong : ListBox: Name: lstTen Button: Name: cmdds; Caption: Them vao danh sach Bc 3: Chn modul mi vo d n tn Modul1. Sau , chn Tool\Add Procedure chn th tc sau: Name: Diends Type: Sub Scope: Public Bc 3: Chn on m sau vo th tc Diends Public Sub Diends(ParamArray Ten() As Variant) ' Su dung ParamArray thi mang phai kieu Variant va ' mang nay la tham so cuoi cung cua thu tuc Dim hten As Variant For Each hten In Ten() Form1.lstTen.AddItem hten Next End Sub Bc 4: ParamArray cho php khng cn xc nh s lng cc i s trong mt chng trnh con. By gi, thm hm x l s kin cho nt cmdds: cmdds_Click: Private Sub cmdds_Click() Call Diends("Huynh Xuan Hiep", "Nguyen Van Linh", "Lam Hoai Bao") Call Diends Call Diends("Phan Huy Cuong") End Sub Bc 5: Lu d n li v chy chng trnh. Kim tra kt qu (hnh bn di). Lu n li gi th tc trong s kin cmdds_Click (s lng i s khc nhau)
Trang 17
X L CHUI
Bc 1: To d n mi trong th mc Basic\Bt2-7 vi giao din nh sau: 1 2 3 4 5 Hnh I.16: X l chui
1: Form: Name: frmMain; MinButton: False; MaxButton: False; Font: VNI-Times. 2: Label: Name: lblTen. 3: TextBox: Name: txtTen. 4: CommandButton: Name: cmdTen; Caption: Tch tn. 5: CommandButton: Name: cmdCKT; Caption: Ct khong trng. Bc 2: To mt hm ct khong trng nh sau: Private Function ATrim(ByVal Name As String) As String Name = LTrim(RTrim(Name)) Do While InStr(Name, "