BÀI 7:
THAO TÁC V I FI LE & CÁC V N
KHÁC
H th ng bài c
Cách khai báo m ng 1 chi u
Truy c p đ n các ph n t c a m ng 1 chi u
L y s l ng ph n t c a m ng 1 chi u
Cách duy t m ng 1 chi u
Cách khai báo m ng 2 chi u
Cách truy c p và duy t m ng 2 chi u
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
2
M c tiêu bài h c
Hi
Hi
tu
Bi
Bi
Bi
Bi
u v h th ng phân c p d li u mà máy tính x lý
u v file, bi t cách đ c và ghi d li u t file truy c p
nt
t cách s d ng đi u khi n OpenFileDialog
t cách s d ng đi u khi n MonthCalendar
t cách s d ng đi u khi n MenuStrip
t cách s d ng m ng và m ng đ ng
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
3
File
File là m t t p h p d li u đ c l u l i ngay c khi ng
d ng đã k t thúc
File đ c l u tr trên các ph ng ti n th c p nh
c ng máy tính, CD-ROM, DVD hay USB
Visual cung c p các thao tác t o, đ c và ghi d li u vào
File
F
D
F
vào RAM
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
CPU
RAM
4
File truy c p tu n t
và File truy c p ng u nhiên
File truy c p tu n t
Là file mà thông tin đ c đ c ra theo th t mà nó đ
ghi vào tr c đó
Bài này s gi i thi u v cách đ c và ghi file tu n t
c
File truy c p ng u nhiên
Là file mà thông tin đ
c đ c ra theo th t ng u nhiên
1
2
3
4
5
6
7
1
2
3
4
5
6
7
T
T
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
5
H th ng phân c p d
Các ph
phân c
Các ph
đ n gi
nt
pd
nt
nh
li u
đ c x lý b i máy tính là m t h th ng
li u
ph c t p đ c c u thành t các ph n t
n
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
6
H th ng phân c p d
H th ng đ
li u
c t ch c nh hình sau
Kien
Kien
Nam
F
D
F
B
Kien
A
A
D
E
N
A
B
A
D
Minh
A
A
A
F
A
A
tr
D
E
file
b n ghi
ng
0100010101010100 2 byte
01000101 1 byte
1 bit
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
7
H th ng phân c p d
li u
Bit
Ph n t nh nh t mà máy tính x lý
Ch l u giá tr 0 ho c 1
Máy tính th c hi n thao tác đ n gi n trên bit (ki m tra giá tr
c a bit, gán giá tr cho bit, đ o giá tr bit)
Byte
T p h p g m 8 bit
Trong Visual Basic, m i ký t g m 2 byte
L p trình t o ra các ph n t d li u b ng các ký t , máy tính
thao tác trên chu i bit
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
8
H th ng phân c p d
Tr
li u
ng
T p h p các ký t có th truy n đ t ý ngh a
Ví d nh tr ng l u tên
B n ghi
Là t p h p các tr ng có liên quan
Ví d nh tr ng l u thông tin v đi m cho m t sinh viên
File
Là t p h p các b n ghi có liên quan
Ví d nh file l u thông tin v đi m cho m t l p h c
l y b n ghi d dàng, m t tr ng trong b n ghi đ
làm khóa b n ghi (ví d nh mã s sinh viên)
c ch n
C s d li u
Là m t nhóm file có liên quan
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
9
File và lu ng
Visual Basic cung c p đ i t ng lu ng (stream) đ h
tr cho vi c đ c và ghi thông tin vào File
Khi m t file đ c m , m t lu ng đ c g n vào đ i t ng
file đ “đ ” thông tin vào File hay “hút” d li u t file
Các l p x lý lu ng đ c l u trong namespace
System.I O
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
10
Demo ghi d
li u ra file
Thêm namespace System.IO
I
S
Khai báo bi n StreamWriter
D
A S
Kh i t o giá tr cho đ i t
N
S
IO
W
ng StreamWriter
W
T
T
C
N u tham s th hai là False, n i dung có s n trong file
(n u file t n t i) s đ c xóa h t
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
11
Demo ghi d
li u ra file
Ghi d li u ra file
Ph
ng th c Write
Ghi giá tr đ i s c a nó ra file
W
Ph
H
ng th c WriteLine
Ghi giá tr đ i s ra file, kèm theo là m t ký t xu ng dòng
W
L
H
óng StreamWriter
C
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
12
C ch đ c và ghi ra file
C ch ghi
ng d ng không đ c d li u ra file ngay khi th c hi n l nh
Write hay WriteLine
D li u đ c đ c ra file theo t ng kh i
Khi g p l nh Close, ng d ng s đ y nh ng d li u còn l i
ra file
Không đóng file sau khi ghi có th làm m t d li u
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
13
13
C ch đ c và ghi ra file
C ch đ c
ng d ng đ c t ng kh i d li u t file vào RAM
T i m t th i đi m, ch m t ng d ng truy c p đ n file
C g ng m m t file đang m s gây l i
Ph i đóng file ngay sau khi s d ng xong
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
14
Demo đ c d
li u t
file
Thêm namespace System.IO
I
S
IO
Khai báo kh i t o bi n StreamReader
D
A S
R
N
S
R
c d li u t file
Ph ng th c ReadLine đ c m t dòng v n b n và tr v
String. Tr v Nothing n u đã đ n cu i file
S d ng ph ng th c EndOfStream đ xác đ nh đã đ n
cu i file hay ch a
D
D U
L
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
A S
M
E
OS
R
B S
15
H p tho i OpenFileDialog
Là h p tho i đ m file
B
T
O
H
B
F D
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
T
O
F D
F
16
Demo s
d ng h p tho i
OpenFileDialog
Thêm OpenFileDialog vào Form
Hi n th h p tho i cho ng i dùng ch n file khi Click vào
m t Button trên Form
S d ng ph ng th c ShowDialog đ hi n th h p tho i,
k t qu tr v t ph ng th c này cho bi t ng i dùng đã
nh n vào Button nào
S d ng đ i t ng DialogResult đ l y k t qu tr v t
ph ng th c ShowDialog
Hi n th tên file
S d ng thu c tính FileName đ l y tên file đ
Dùng MessageBox đ hi n th tên file
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
c ch n
17
i u khi n MonthCalendar
S ki n
DateChanged c th c thi khi m t ngày (ho c m t
kho ng ngày tháng) m i đ c ch n.
Thu c tính
Name - Xác đ nh tên đ c dùng đ truy c p các thu c
tính c a đi u khi n MonthCalendar trong mã c a ng
d ng. Tên nên có h u t MonthCalendar.
SelectionStart - tr v ngày đ c ch n đ u tiên (ho c
duy nh t).
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
18
Demo s
d ng h p tho i
OpenFileDialog
Private Sub openFileButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles openFileButton.Click
O
Dim ketqua As DialogResult = openFileDialog.ShowDialog()
'm file n u ng i dùng không nh n vào Button Cancel
If ketqua <> Windows.Forms.DialogResult.Cancel Then
'l y tên file đ c ch n
Dim tenfile As String = openFileDialog.FileName
MessageBox.Show(tenfile)
End If
End Sub ' openFileButton_Click
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
19
i u khi n MonthCalendar
Hi n th l ch, t đó ng i dùng có th ch n m t ngày
ho c m t kho ng ngày tháng
B
MonthCalendar
trên T B
T
vào Form
T
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
W
20
Demo s
d ng MonthCalendar
Thêm MonthCalendar vào Form
X lý s ki n DateChanged cho đi u khi n này
Khi ng
i dùng ch n ngày thì s hi n th ngày v a ch n
D C
M
C
Private Sub dateMonthCalendar_DateChanged( _
ByVal sender As System.Object, ByVal e As _
System.Windows.Forms.DateRangeEventArgs) _
Handles dateMonthCalendar.DateChanged
'
MessageBox.Show(dateMonthCalendar.SelectionStart)
End Sub ' dateMonthCalendar_DateChanged
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
21
Menu
Dùng đ nhóm các ch c n ng liên quan trong ng d ng
Windows
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
22
Demo s
d ng MenuStrip
Thêm MenuStrip vào Form
Thi t k Menu
X lý s ki n khi nh n vào m c Menu
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
23
Thêm MenuStrip vào Form
M
S
thêm vào Form
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
24
Thi t k MenuStrip
C
T
M
S
F
font
BÀI 7: THAO TÁC V I FILE TRUY C P TU N T
25