You are on page 1of 42

HÀM L P S N C A VBA

Ng i s an: Msc.Lê Minh Trung Khoa Tóan - Tin HSP Tp H Chí Minh

CÁC HÀM L P S N C A VB
Các hàm chu i Các hàm liên quan t i s Các hàm liên quan t i ngày/tháng

Vài i u nói tr

c

VB 6.0 có m t th vi n các hàm cl p tru c (built-in function) r t h u ích. s d ng các hàm l p tr c c a VB 6.0 c n: 
G i hàm và cung c p các giá tr cho các tham s truy n i s cho các tham s .  S d ng giá tr tr v c a hàm (cho vp phép gán).
‡Tip: Hàm luôn tr v m t giá tr

Ví d
Hàm Len có cú pháp: 
Len(Chu i)
Tham s Chu i t ng tr ng m t chu i t ng quát 

Tr v chi u dài (s kí t ) c a Chu i.

Dim Dai As Integer, ThongBao As String
ThongBao = Thong bao hom nay khong co gi de thong báo Dai = Len(ThongBao) 41 Dài
G i hàm b ng cách truy n cho các tham s is

 Space(n.Chu i) Tr v m t chu i g m n kí t là kí t u c a Chu i. a ) Msg = Space(4. Msg = Space(4) Msg = Space(4.Hàm Space Cú pháp:  Space(n) Tr v m t chu i g m n kh ang tr ng. acd ) ‡Tip: Msg = e e Msg = eaaaae ‡Space(«) tr v Variant ‡Space$(«) tr v m t chu i .

 RTrim(Chu i)  Trim(Chu i) G b kh ang tr ng hai Msg = Hello World LTrim(Msg) ³Hello World ´ ³ Hello World´ RTrim(Msg) ³Hello World´ Trim(Msg) .Trim G b các kh ang tr ng bên trái chu i  LTrim(Chu i) G b các kh ang tr ng bên ph i chu i u chu i.Rtrim.G b kh ang tr ng ra kh i m t chu i v i LTrim.

Tìm chi u dài c a chu i Cú pháp: Có th dùng v i vòng l p For Next duy t qua t t c các kí t c a Chu i.Chuoi As String For I=1 To Len(Chuoi) . Dim I As Integer. Next I  Len(Chu i) ..

n) : tr l i chu i con c a Ch oi b t u t i v trí V Trí g m n kí t .V Trí. C t t i v trí . u C t bên ph i m t s kí t :  Right(Chu i.Các hàm c t chu i C t bên trái m t s kí t :  Left(Chu i. .n kí t :  Mid(Chu i.n) :tr v chu i g m n kí t c a chu i Chu i.n) : tr v chu i n kí t cu i c a chu i Chu i.

4) Mid$(Msg.7) ³VB that´ Right$(Msg.100) ³voi!´ ³that tuyet´ ³that tuyet voi!´ .4.Ví d Dim Msg As String 123456789012345678 Msg= VB that tuyet voi! Left$(Msg.10) Mid$(Msg.4.

Gi s : Msg = Pascal la so 1 Mid$(Msg.1.Mid c dùng nh m t i u l nh thay Có th dùng Mid( ) nh m t l nh i n i dung c a m t chu i.6)= VBasic Msg = VBasic la so 1 Mid$(Msg.1.6)= VB Msg = VBscal la so 1 ‡Tip: Mid không bao gi thay i chi u dài c a chu i .1.6)= VBasic cua Microsoft Msg = VBasic la so 1 Mid$(Msg.

nm«acv.I. ³ SoCham 5 .1)= .Ví d Dim Chuoi As String Dim I As Integer. Then SoCham = SoCham +1 End If Next I Chuoi ³ ASDas. SoCham As Integer For I=1 To Len(Chuoi) If Mid(Chuoi.

Chuoi As String Dim I As Integer KíTu la ch For I=1 To Len(Chuoi) Th ng KiTu = Mid(Chuoi.I.1) If (Asc(KiTu)>=Asc( a )) And (Asc(KiTu)<=Asc( z )) Then KiTu = Chr$(Asc(KiTu) 32) Mid$(Chuoi. .I.Ví d Dim KiTu As String*1.1)=KiTu End If i KiTu thanh Next I Chu hoa tuong ung i tòan b ch th ng c a Chu i sang ch hoa.

second. "C++" vs. "Delphi") End Select .g.g.Hàm so sánh hai chu i Select Case StrComp(first. "Visual Basic") Case 1 ' first > second (e. "VISUAL BASIC" vs. "Visual Basic" vs. vbTextCompare) Case 0 ' first = second (e. "Visual Basic") Case -1 ' first < second (e.g.

usa" . USA" Print LCase$(Text) ' "new york.Hàm i ch hoa. ch th ng Text = "New York. USA Print UCase$(Text) ' "NEW YORK.

vbLowerCase) ' "new york. vbUpperCase) ' "NEW YORK.Hàm i ch hoa. USA Print StrConv(Text. USA" Print StrConv(Text. usa" Print StrConv(Text. Usa" . vbProperCase) ' "New York. ch th ng Text = "New York.

Lemontree .Hàm tìm ki m m t chu i trong chu i khác InStr([N iB t u.Chu iCon) u là tùy ch n u tìm ki m t u Chu iCha. InStr(2.]Chu iCha. on ) 4 .  Tham s N iB t N u không có b t  Tr v v trí tìm th y u tiên c a Chu iCon trong Chu iCha  Tr v 0 n u không tìm th y.

vbTextCompare) ' 1(không phân bi t hoa th ng) . "ABC". "abcde ABCDE". "ABC") ' 0 (b t u tìm t 8) Print InStr(1.Ví d Print InStr("abcde ABCDE". "abcde ABCDE". "ABC") ' 7(phân bi t hoa th ng) Print InStr(8.

Chu iCon[.doc ViTri = InStrRev( Dan.TenFile As String Dim ViTri As Integer Dan = C:\ ABC\MNP\BaiTap\vb.ViTri +1) . \ ) TenFile = Mid$(Path.n ib ])  Là hàm m i c a VB.Gi ng nh hàm InStr nh ng b t u tìm ki m t cu i chu i.  H u d ng trong m t s tình hu ng Dim Dan As String.Hàm InStrRev InStrRev(Chu iCha.

Pascal . Dim Msg As String Msg = Pascal that tuyet voi! Msg =Replace(Msg.0 that tuyet voi!´ .Chu iCon.B t u[.S L n]])  Tìm ki m Chu iCon trong Chu i và thay th b i Chu iThayTh .Hàm thay th Replace Replace(Chu i.Chu iThayTh [. VB6.0 ) Msg ³VB6.

CÁC HÀM L P S N LIÊN QUAN T I S .

gieo gi ng l i b phát sinh ng u s ta dùng hàm Randomize .Hàm phát sinh s ng u nhiên Rnd Rnd tr v m t s ng u nhiên n m trong kh ang [0.1).

SoChuSoTPhân]) .2) Fix(-3.567) =3  Round(3.Fix.Round Int(SoThuc): cho ph n nguyên c a s  Int(3.452) =-3 =3.4523) =3 =-4 Fix(SoThuc): loai b ph n th p phân ra kh i SoThuc  Fix(3.4523)  Int(-3.Hàm Int.79 Round(SoThuc[.786.

1 n u x<0. i .0 n u x=0  For I=A To B Step Sgn(A-B) (A#B) Abs(x) : tr v giá tr tuy t Sqr(x): tr v c n b c hai Exp(x): tr v e m x. Log(x): logarit c s e.Các hàm khác Hàm Sgn(x): hàm d u tr v 1 n u x>0 .

CÁC HÀM NGÀY-Gi .

Có th dùng hàm này n nh l i ngày hi n hành cho h th ng. Ch là n nh t m th i.     Date = mm-dd-yyyy Date= mm/dd/yyyy N u ngày n nh không h p l s báo l i. .Hàm Date Tr v ngày l ch theo d ng th c tháng-ngàyn m(mm-dd-yyyy) cho ngày hi n hành.

Dùng Time thi t l p t m th i gi kh c c a ng h h th ng.  Time= hh  Time= hh:mm  Time= hh:mm:ss .Hàm Time Dùng Time c gi kh c hi n t i c a ng h h th ng.

Hàm Now Date Time Mô t Ngày và gi kh c hi n hành Ngày hi n hành Gi kh c hi n hành .

2006 ) S báo l i Type Mismatch vào th i i m th c thi n u ngày không t n t i. Có th dùng DateValue nh gi i pháp thay th .# khai báo ngày r t b t ti n. Dim Today As Date Today = DateValue( 3-13-2006 ) Today = DateValue( March 13.Hàm DateValue Dùng #. ..2006 ) Today = DateValue( Mar 13..

Giây)  TimeSerial(3.Tháng.Phút.  TimeSerial(Gi .Ngày).Hàm DateSerial Có th dùng hàm DateSerial khai báo ngày.  N m t 0 9999  DateSerial(2006.35): cho m t ngày trong tháng hai. Dùng TimeSerial khai báo th i kh c.  DateSerial(N m.62.30) : 4:2:30 .1.

1) Then nam nhu n Else n m không nhu n End If .3.29) <> DateSerial(2000.Xác nh n m nhu n If DateSerial(2000.2.

Th B t uTu n]) Print Weekday("8/14/98") ' 6 -> th sáu Print Weekday("8/14/98 .vbMonday) 5 -> th sáu .Hàm WeekDay () c a m t ngày xác nh th WeekDay(ngày) WeekDay(ngày[.

number.Hàm DateAdd Tr l i ngày m i khi thêm m t kh ang th i gian vào ngày ang xét. Cú pháp:  NewDate=DataAdd(Interval.date) .

Thi t l p yyyy q m y d w ww h n s Mô t N m Quí Tháng Ngày c a n m (t Ngày Tu n Tu n Gi Phút Giây ng t d) .

enddate) . ta dùng DateDiff. n m.Hàm DateDiff tính s tháng. startdate.gi khác bi t gi a hai kh ang th i gian .quí . Result = DateDiff(interval.

3." Print DateDiff("m".M. Now) 7 Print DateDiff("y"." Print DateAdd("yyyy". #1/30/1998#. #1/30/1998#. #1/1/2000#.M. Now) 196 Print DateDiff("w". Now) "8/14/97 8:35:48 P. Now) "11/14/98 8:35:48 P.Ví d Now = µ8/14/1998 Print DateAdd("m". -1. Now) 28 Print DateDiff("ww". Now) -7 . #1/30/1998#.

hh:mm AM/PM ) Format(Now. m/d-yy ) Format(Now. hh:mm mm/dd/yy ) Hi n th 3/13-06 08:15 08:15 AM 08:15 03/13/06 . hh:mm ) Format(Now.Hàm Format D ng Format(Now.

Chuoi2) Tùy ch n: vbTextCompare vbBinaryCompare i sang ch th i sang ch hoa ng So sánh hai chu i -1 n u Chuoi1<Chuoi2 0 n u Chuoi1=Chuoi2 1 n u Chuoi1>Chuoi2 .M t s hàm khác LCase(Chu i) UCase(Chu i) StrComp(Chuoi1.

IsDate(obj) IsNumeric(obj) obj có nh d ng ngày không? obj có nh d ng s không? Sin Cos Tan Arctan Hex i sang h c s 16 .

M t s hàm khác DateAdd DateDiff Day Month Year Hour Minute Second Weekday Cho phép c ng m t quãng vào ngày Cho phép tr m t quãng ra m t ngày Cho bi t ngày trong m t ngày l ch Cho bi t tháng trong m t ngày l ch Cho bi t n m trong m t ngày l ch Cho bi t gi trong m t tkh c Cho bi t phút trong m t tkh c Cho bi t giây trong m t tkh c . Báo cho bi t ngày trong tu n c a ngày l ch .

ng d ng xúc s c cmbChon cmdGieo lblTB imgXN .

Xáo tr n chu i txtBD txtXT cmdXao .

i u khi n Timer ‡Không hi n th lúc ch y ch ‡Dùng trong nh ng ch làm m t vi c gì ó. ‡Thu c tính: Enabled: True ->sau m t kh ang th i gian s kích h at Timer s ki n timeTên_Timer False -> không kích h at s ki n trên Interval: kh ang th i gian kích h at s ki n timeTên_Timer n v ms ‡S ki n: timeTên_Timer() ng trình nh kí ng trình c n .