BÀI 8:
TH T C ( SUB) VÀ HÀM ( FUNCTI ON)
Trang 2Hi u v h th ng phân c p d li u mà máy tính x lý
Hi u v file, bi t cách đ c và ghi d li u t file truy c p
tu n t
Bi t cách s d ng đi u khi n OpenFileDialog
Bi t cách s d ng đi u khi n MonthCalendar
Bi t cách s d ng đi u khi n MenuStrip
Bi t cách s d ng m ng và m ng đ ng
H th ng bài c
Trang 4ng d ng đ c phân chia thành nhi u thành ph n nh
h n đ d qu n lý
K thu t này g i là “Chia đ tr ”
K thu t này giúp đ n gi n hóa vi c thi t k , phát tri n
Trang 5Th t c g m m t t p các dòng l nh dùng đ th c hi n m t tác
v c th Th t c không tr v giá tr nào
Visual Basic cung c p nhi u th t c có s n cho phép phát tri n
ng d ng m t cách nhanh chóng, d dàng
Có th t t o cho mình các th t c đ th c hi n công vi c nh t
đ nh và có th dùng l i v sau
Th t c
Trang 6Hàm g m m t t p các dòng l nh dùng đ th c hi n m t tác v
c th Hàm luôn luôn tr v m t giá tr
Visual Basic cung c p nhi u hàm có s n cho phép phát tri n ng
Trang 7Hàm tr v giá tr sau khi th c hi n
Trang 8Tiêu đ
Tham s cho phép hàm nh n d li u và thao tác trên nó
Có th có nhi u tham s , các tham s cách nhau b i d u
K
Trang 122 tham s truy n vào là 10, 20
Dim DT As Integer = TinhDienTich(10,20)
Hàm
Trang 13G i hàm b ng cách dùng tên hàm, ti p theo là c p ngo c
đ n ch a đ i s
Sau khi hoàn thành tác v , hàm đ c g i tr l i quy n
đi u khi n cho l nh g i
Chú ý r ng giá tr c a đ i s ph i t ng thích v i ki u
tham s
Demo g i hàm
G hàm
Trang 14Khi đi u khi n ch ng trình g p l i g i hàm
Square(sideA), ng d ng t o b n sao cho giá tr c a bi n sideA và đi u khi n ch ng trình chuy n đ n dòng đ u
1
2
3
Trang 15T khóa ByVal cho bi t ng d ng s t o giá tr b n sao
c a đ i s và truy n giá tr này vào hàm, th t c
Hàm, th t c s nh n b n sao đó và l u trong tham s
Khi th c thi hàm và th t c, ng d ng s thao tác trên tham s này
Giá tr c a đ i s không b thay đ i
T khóa ByVal
Trang 16Khi g p t khóa return, giá tr bên ph i return đ c tr
Trang 17T khóa return
Trang 20
nh ngh a th t c:
In ra màn hình các s t 0 đ n 10
Public Sub PrintNumber()
For Dim i As Integer 0 to 10
Trang 22Ch ng trình th ng ph i g i hàm ho c th t c nhi u l n
v i cùng m t giá tr đ i s cho m t tham s đ c bi t
Dùng tham s Optional
Tham s Optional là tham s có giá tr m c đ nh
Có ba quy t c s d ng tham s Optional
Tham s Optional ph i có giá tr m c đ nh Giá tr m c đ nh ph i là bi u th c không đ i
T t c các tham s xu t hi n sau tham s Optional trong danh sách tham s đ u là tham s Optional
Tham s Optional
O B V A I A I
R
G
Trang 23Tr v 60, s d ng giá tr m c đ nh cho chi u dài
Trong l i g i hàm và th t c , khi đ i s c a tham s
Optional đ c b qua, trình biên d ch s vi t l i l i g i và
Tham s Optional
Trang 24Bi n đ c khai báo bên trong th t c có ph m vi th t c
Bi n có ph m vi th t c không th đ c tham chi u t bên
ngoài th t c mà chúng khai báo
Tham s c a th t c có ph m vi th t c
Ph m vi bi n
Trang 25N u bi n c c b có cùng tên v i bi n th c th , khi truy
c p đ n tên bi n này, ng d ng s truy c p đ n bi n
c c b
Ph m vi bi n
Trang 26Truy n giá tr
Truy n b ng t khóa ByVal
ng d ng t o b n sao c a giá tr đ i s và và truy n b n sao đó cho th t c đ c g i.
Nh ng thay đ i th c hi n trên b n sao không làm thay đ i giá tr ban đ u c a bi n
Truy n tham chi u
Truy n b ng t khóa ByRef
Bi n ban đ u trong th t c g i hàm có th đ c truy c p
Trang 27Ki u giá tr và ki u tham chi u
Trang 28Ki u giá tr và ki u tham chi u
Ví d nh các bi n đi u khi n , các bi n này tham
Trang 29Ki u giá tr và ki u tham chi u
Ki u tham tr
Khi truy n b ng t khóa
ByVal, b n sao giá tr c a
Khi truy n b ng t khóa
ByVal, b n sao giá tr c a
Trang 32Demo b t tùy ch n Option Strict
O
O
Trang 33Khi Option Strict đ c thi t l p là On, ph i vi t mã đ
Trang 34Các ToolStripButton g l i
S d ng trình g l i: Các đi u khi n g l i
P
Trang 35Th c thi l nh ti p theo trong ng d ng (dòng đ c đánh
Trang 36Th c thi l nh hi n th i, không đi vào l nh đó mà chuy n
đ n th c hi n l nh ti p theo
N u l nh hi n th i không ch a l i g i th t c, th c hi n
gi ng v i Step Into
N u l nh hi n th i là l i g i th t c, th t c s đ c th c thi hoàn toàn ch không chuy n đi u khi n vào th t c đ c
g i
Step Over
Trang 39ng d ng đ c phân chia thành nhi u thành ph n nh
h n đ d qu n lý K thu t này đ c g i là “chia đ tr ”
ng d ng đ c phân chia thành l p, l p l i đ c phân chia thành nhi u Sub, Function Làm nh v y s d dàng trong vi c thi t k , phát tri n và b o trì ng d ng l n
Th t c là m t t p l nh nh m gi i quy t m t tác v c th
Khi g p l i g i Sub, Function, đi u khi n ch ng trình
chuy n đ n th c thi th t c đ c g i, sau khi th c thi
xong l i chuy n đi u khi n v cho th t c g i
Function tr v giá tr còn Sub thì không
T ng k t bài h c
Trang 40Có th truy n giá tr hay tham chi u cho đ i s Truy n giá tr b ng t khóa ByVal, truy n tham chi u b ng t
khóa ByRef
Visual Basic cung c p hai ki u bi n, bi n ki u giá tr và
bi n ki u tham chi u Khi truy n đ i s v i t khóa
ByVal, có th thay đ i giá tr c a bi n tham chi u
S d ng tùy ch n Optional đ thi t l p giá tr m c đ nh cho bi n
Bi n có th có ph m vi module, ph m vi th t c hay
ph m vi kh i l nh
Không nên ép ki u ng m đ nh thu h p, b i d li u có
th b m t Thi t l p tùy ch n Option Strict là On và s
d ng l p Convert đ ép ki u t ng minh
T ng k t bài h c
40 Bài 8: TH T C SUB VÀ TH T C FUNCTION
Trang 41Visual Basic cung c p các tùy ch n Debug nh Step Into, Step Over, Step Out, Continue, Pause đ d dàng trong
vi c g l i
T ng k t bài h c
Trang 42XIN C M N!