BÀI 7:
THAO TÁC VỚI FILE – CÁC VẤN ĐỀ KHÁC
Tổ chức ứng dụng, khái niệm “chia để trị”
Khái niệm về thủ tục, sử dụng thủ tục Function và thủ
tục Sub
Tham số Optional
Phạm vị biến
Ép kiểu ngầm định thu hẹp và sử dụng lớp Convert để
ép kiểu tường minh
Sử dụng các tùy chọn của trình gỡ lỗi
Hệ thống bài cũ
Tổ chức ứng dụng, khái niệm “chia để trị”
Khái niệm về thủ tục, sử dụng thủ tục Function và thủ
tục Sub
Tham số Optional
Phạm vị biến
Ép kiểu ngầm định thu hẹp và sử dụng lớp Convert để
ép kiểu tường minh
Sử dụng các tùy chọn của trình gỡ lỗi
Thao tác với File truy cập tuần tự
2
Mục tiêu bài học
Hiể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
Hiể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
Là file mà thông tin được đọc ra theo thứ tự mà nó được
ghi vào trước đó
Bài này sẽ giới thiệu về cách đọc và ghi file tuần tự
File truy cập ngẫu nhiên
Là file mà thông tin được đọc ra theo thứ tự ngẫu nhiên
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ó được
ghi vào trước đó
Bài này sẽ giới thiệu về cách đọc và ghi file tuần tự
File truy cập ngẫu nhiên
Là file mà thông tin được đọc ra theo thứ tự ngẫu nhiên
Thao tác với File truy cập tuần tự
5
1
2
3
4
5
6
7
1
2
3
4
5
6
7
Truy cập
D
Minh
A
A
A
F
file
01000101
Thao tác với File truy cập tuần tự
7
Minh
A
A
A
F
Kien
A
A
D
E
0100010101010100
K i e n
1 bit
trường
2 byte
bản ghi
1 byte
Bit
Phần tử nhỏ nhất mà máy tính xử lý
Chỉ lưu giá trị 0 hoặc 1
làm khóa bản ghi (ví dụ như mã số sinh viên)
Cơ sở dữ liệu
Là một nhóm file có liên quan
Hệ thống phân cấp dữ liệu
Trườ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 được chọn
làm khóa bản ghi (ví dụ như mã số sinh viên)
Cơ sở dữ liệu
Là một nhóm file có liên quan
Thao tác với File truy cập tuần tự
9
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.IO
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
Ghi giá trị đối số ra file, kèm theo là một ký tự xuống dòng
Đóng StreamWriter
Demo ghi dữ liệu ra file
output.Write(“Hello!”)
Ghi dữ liệu ra file
Phương thức Write
Ghi giá trị đối số của nó ra file
Phương thức WriteLine
Ghi giá trị đối số ra file, kèm theo là một ký tự xuống dòng
Đóng StreamWriter
Thao tác với File truy cập tuần tự
12
output.WriteLine(“How are you?”)
output.Close()
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
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
Thao tác với File truy cập tuần tự
Dim line As String
Do Until input.EndOfStream
line = input.Realine()
MessageBox.Show(line)
Loop
Là hộp thoại để mở file
Hộp thoại OpenFileDialog
Ký hiệu hộp thoại
trên ToolBox
Thao tác với File truy cập tuần tự
16
Thêm OpenFileDialog vào Form
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 được chọn
Dùng MessageBox để hiển thị tên file
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 đã
Private Sub openFileButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles openFileButton.Click
' hiển thị hộp thoại Open
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
‘hiển thị tên file
MessageBox.Show(tenfile)
End If
End Sub ' openFileButton_Click
Thao tác với File truy cập tuần tự
19
Private Sub openFileButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles openFileButton.Click
' hiển thị hộp thoại Open
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
‘hiển thị tên file
MessageBox.Show(tenfile)
End If
End Sub ' openFileButton_Click
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
Điều khiển MonthCalendar
Ký hiệu MonthCalendar
Dùng để nhóm các chức năng liên quan trong ứng dụng
Windows
Menu
Thao tác với File truy cập tuần tự
22
Thêm MenuStrip vào Form
Thiết kế Menu
Xử lý sự kiện khi nhấn vào mục Menu
Demo sử dụng MenuStrip
Thao tác với File truy cập tuần tự
23
Thêm MenuStrip vào Form
Thao tác với File truy cập tuần tự
24
MenuStrip được
thêm vào Form
Thiết kế MenuStrip
Color…để
hiển thị hộp
chọn màu
Thao tác với File truy cập tuần tự
25
Thiết kế MenuStrip
Color…để
hiển thị hộp
chọn màu
Font…để hiển
thị hộp chọn
font