SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
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
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
Thao tác với File truy cập tuần tự 3
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
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
Thao tác với File truy cập tuần tự 4
File được lưu
trên ổ cứng
Dữ liệu trên
File được đọc
vào RAM
CPU thao tác với
dữ liệu trên RAM
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
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
tuần tự
Truy cập
ngẫu nhiên
Các phần tử được xử lý bởi máy tính là một hệ thống
phân cấp dữ liệu
Các phần tử phức tạp được cấu thành từ các phần tử
đơn giản hơn
Hệ thống phân cấp dữ liệu
Các phần tử được xử lý bởi máy tính là một hệ thống
phân cấp dữ liệu
Các phần tử phức tạp được cấu thành từ các phần tử
đơn giản hơn
Thao tác với File truy cập tuần tự 6
Hệ thống được tổ chức như hình sau
Hệ thống phân cấp dữ liệu
Nam F D F B
Kien A A D E
Nga A B A 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
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
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
Thao tác với File truy cập tuần tự 8
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
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
Các lớp xử lý luồng được lưu trong namespace
System.IO
Thao tác với File truy cập tuần tự 10
Thêm namespace System.IO
Khai báo biến StreamWriter
Khởi tạo giá trị cho đối tượng StreamWriter
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
Demo ghi dữ liệu ra file
Imports System.IO
Dim output As StreamWriter
output = New StreamWriter (“calendar.txt”, True)
Thêm namespace System.IO
Khai báo biến StreamWriter
Khởi tạo giá trị cho đối tượng StreamWriter
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
Thao tác với File truy cập tuần tự 11
output = New StreamWriter (“calendar.txt”, True)
Tên file mà dữ liệu
sẽ được ghi ra
Mục đích là để báo
rằng muốn thêm thông
tin vào cuối file
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
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ự 13<Title> 13
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
Cơ chế đọc và ghi ra file
Thao tác với File truy cập tuần tự 14
Thêm namespace System.IO
Khai báo khởi tạo biến StreamReader
Đọ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
Demo đọc dữ liệu từ file
Imports System.IO
Dim input As StreamReader= New StreamReader (“calendar.txt”)
Thêm namespace System.IO
Khai báo khởi tạo biến StreamReader
Đọ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
Thao tác với File truy cập tuần tự 15
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 đã
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
Thao tác với File truy cập tuần tự 17
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).
Đ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).
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
' 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
trên ToolBox
Thao tác với File truy cập tuần tự 20
Ký hiệu MonthCalendar
trên ToolBox
Thêm điều khiển vào
Form
Tiện ích đồng hồ trên Win7
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
Demo sử dụng MonthCalendar
' xử lý sự kiện DateChanged của MonthCalendar
Private Sub dateMonthCalendar_DateChanged( _
ByVal sender As System.Object, ByVal e As _
System.Windows.Forms.DateRangeEventArgs) _
Handles dateMonthCalendar.DateChanged
' hiển thị ngày vừa được chọn
MessageBox.Show(dateMonthCalendar.SelectionStart)
End Sub ' dateMonthCalendar_DateChanged
Thao tác với File truy cập tuần tự 21
' xử lý sự kiện DateChanged của MonthCalendar
Private Sub dateMonthCalendar_DateChanged( _
ByVal sender As System.Object, ByVal e As _
System.Windows.Forms.DateRangeEventArgs) _
Handles dateMonthCalendar.DateChanged
' hiển thị ngày vừa được chọn
MessageBox.Show(dateMonthCalendar.SelectionStart)
End Sub ' dateMonthCalendar_DateChanged
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
Xử lý sự kiện khi nhấn vào mục Color…
Thao tác với File truy cập tuần tự 26
Mở hộp thoại
Color Dialog
Khai báo mảng không khởi tạo phần tử
Dim arr As Array
Dim int() As Integer = {12, 16, 20, 24, 28, 32}
arr = CType(int, Array)
Khai báo mảng có khởi tạo phần tử
Dim MangSo() As Integer = {12, 24, 36, 48}
Dim MangKyTu() As String = {"K", "S", "S", "D", "N"}
Dim MangDoiTuong() As Object = {"this", ”a”}
Dim objArray() As Object
Mảng và các cách khai báo
Khai báo mảng không khởi tạo phần tử
Dim arr As Array
Dim int() As Integer = {12, 16, 20, 24, 28, 32}
arr = CType(int, Array)
Khai báo mảng có khởi tạo phần tử
Dim MangSo() As Integer = {12, 24, 36, 48}
Dim MangKyTu() As String = {"K", "S", "S", "D", "N"}
Dim MangDoiTuong() As Object = {"this", ”a”}
Dim objArray() As Object
Thao tác với File truy cập tuần tự 27
Ta sử dụng vòng lặp để đọc dữ liệu từ mảng
Dim sourceArray() As Integer = {1, 2, 3}
Dim counter As Integer
For counter = 0 To sourceArray.Length - 1
result.Append(sourceArray(counter).ToString())
Next counter
Đọc dữ liệu từ mảng
Ta sử dụng vòng lặp để đọc dữ liệu từ mảng
Dim sourceArray() As Integer = {1, 2, 3}
Dim counter As Integer
For counter = 0 To sourceArray.Length - 1
result.Append(sourceArray(counter).ToString())
Next counter
Thao tác với File truy cập tuần tự 28
Ta sử dụng InsertArrayElement để thêm dữ liệu
vào mảng
Dim arrayInsert() As String = {"O", "A", "G", "B", "B"}
InsertArrayElement(Of String)(arrayInsert, 2, “Chanh")
Thêm dữ liệu vào mảng
Thao tác với File truy cập tuần tự 29
Khai báo dữ liệu kiểu cấu trúc
Structure Person
Dim strLastName As String
Dim strFirstName As String
Dim strPhone As String
End Structure
Gán dữ liệu cho kiểu dữ liệu cấu trúc
Dim udtPerson As New Person
With udtPerson
.strLastName = “Nguyen Van"
.strFirstName = “A"
.strPhone = "555"
End With
Dữ liệu kiểu cấu trúc
Khai báo dữ liệu kiểu cấu trúc
Structure Person
Dim strLastName As String
Dim strFirstName As String
Dim strPhone As String
End Structure
Gán dữ liệu cho kiểu dữ liệu cấu trúc
Dim udtPerson As New Person
With udtPerson
.strLastName = “Nguyen Van"
.strFirstName = “A"
.strPhone = "555"
End With
Thao tác với File truy cập tuần tự 30
Khai báo ArrayList
Dim alPersons As New ArrayList
Thêm dữ liệu vào ArrayList
alPersons.Add(udtPerson)
Insert dữ liệu vào một vị trí bất kỳ trong ArrayList
If Not alPersons.Contains(udtPerson) Then
alPersons.Insert(1, udtPerson)
End If
Xóa dữ liệu từ ArrayList
alPersons.RemoveAt(0)
Thêm, xóa dữ liệu từ ArrayList
Khai báo ArrayList
Dim alPersons As New ArrayList
Thêm dữ liệu vào ArrayList
alPersons.Add(udtPerson)
Insert dữ liệu vào một vị trí bất kỳ trong ArrayList
If Not alPersons.Contains(udtPerson) Then
alPersons.Insert(1, udtPerson)
End If
Xóa dữ liệu từ ArrayList
alPersons.RemoveAt(0)
Thao tác với File truy cập tuần tự 31
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer
Dim ItemList As New ArrayList()
ItemList.Add("Item4")
ItemList.Add("Item5")
ItemList.Add("Item2")
ItemList.Add("Item1")
ItemList.Add("Item3")
MsgBox("Shows Added Items")
For i = 0 To ItemList.Count - 1
MsgBox(ItemList.Item(i))
Next
'insert an item
ItemList.Insert(3, "Item6")
'sort itemms in an arraylist
ItemList.Sort()
Ví dụ về ArrayList
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer
Dim ItemList As New ArrayList()
ItemList.Add("Item4")
ItemList.Add("Item5")
ItemList.Add("Item2")
ItemList.Add("Item1")
ItemList.Add("Item3")
MsgBox("Shows Added Items")
For i = 0 To ItemList.Count - 1
MsgBox(ItemList.Item(i))
Next
'insert an item
ItemList.Insert(3, "Item6")
'sort itemms in an arraylist
ItemList.Sort()
Thao tác với File truy cập tuần tự 32
'remove an item
ItemList.Remove("Item1")
'remove item from a specified index
ItemList.RemoveAt(3)
MsgBox("Shows final Items the ArrayList")
For i = 0 To ItemList.Count - 1
MsgBox(ItemList.Item(i))
Next
End Sub
End Class
Ví dụ về ArrayList
'remove an item
ItemList.Remove("Item1")
'remove item from a specified index
ItemList.RemoveAt(3)
MsgBox("Shows final Items the ArrayList")
For i = 0 To ItemList.Count - 1
MsgBox(ItemList.Item(i))
Next
End Sub
End Class
Thao tác với File truy cập tuần tự 33
Các phần tử được xử lý bởi máy tính là một hệ thống
phân cấp dữ liệu. Các phần tử phức tạp được cấu thành
từ các phần tử đơn giản hơn
Bit là phần tử nhỏ nhất mà máy tính xử lý
File là một tập dữ liệu được lưu lại ngay cả khi ứng dụng
kết thúc. File được lưu trên thiết bị lưu trữ thứ cấp
Dữ liệu từ file được đọc vào RAM, sau đó CPU xử lý dữ
liệu trên RAM
File được phân làm hai loại, file truy cập ngẫu nhiên và
file truy cập tuần tự
Visual Basic cung cấp luồng để hỗ trợ việc đọc và ghi
file. Sử dụng StreamWriter để ghi dữ liệu vào file và
StreamReader để đọc dữ liệu từ file
Tổng kết bài học
Các phần tử được xử lý bởi máy tính là một hệ thống
phân cấp dữ liệu. Các phần tử phức tạp được cấu thành
từ các phần tử đơn giản hơn
Bit là phần tử nhỏ nhất mà máy tính xử lý
File là một tập dữ liệu được lưu lại ngay cả khi ứng dụng
kết thúc. File được lưu trên thiết bị lưu trữ thứ cấp
Dữ liệu từ file được đọc vào RAM, sau đó CPU xử lý dữ
liệu trên RAM
File được phân làm hai loại, file truy cập ngẫu nhiên và
file truy cập tuần tự
Visual Basic cung cấp luồng để hỗ trợ việc đọc và ghi
file. Sử dụng StreamWriter để ghi dữ liệu vào file và
StreamReader để đọc dữ liệu từ file
Thao tác với File truy cập tuần tự 34
Hãy nhớ đóng file sau khi đã thao tác xong với file để
tránh lỗi xẩy ra
Hộp thoại OpenFileDialog để mở file
Điều khiển MonthCalender 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 MenuStrip để thiết kế menu
Mảng và mảng động
Tổng kết bài học
Hãy nhớ đóng file sau khi đã thao tác xong với file để
tránh lỗi xẩy ra
Hộp thoại OpenFileDialog để mở file
Điều khiển MonthCalender 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 MenuStrip để thiết kế menu
Mảng và mảng động
Thao tác với File truy cập tuần tự 35

Contenu connexe

Tendances

Quan ly bo nho ngoai trong linux
Quan ly bo nho ngoai trong linuxQuan ly bo nho ngoai trong linux
Quan ly bo nho ngoai trong linuxThu Lam
 
Bài Giảng IC3 GS4: Tập tin và thư mục
Bài Giảng IC3 GS4: Tập tin và thư mụcBài Giảng IC3 GS4: Tập tin và thư mục
Bài Giảng IC3 GS4: Tập tin và thư mụcDũng Nguyễn Văn
 
Hệ điều hành (chương 4)
Hệ điều hành (chương 4)Hệ điều hành (chương 4)
Hệ điều hành (chương 4)realpotter
 
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)KhanhPham
 
Bai03 he thong tap tin fat
Bai03   he thong tap tin fatBai03   he thong tap tin fat
Bai03 he thong tap tin fatVũ Sang
 
BÀI 11: TỆP VÀ QUẢN LÍ TỆP
BÀI 11: TỆP VÀ QUẢN LÍ TỆPBÀI 11: TỆP VÀ QUẢN LÍ TỆP
BÀI 11: TỆP VÀ QUẢN LÍ TỆPTrần Nhân
 
Bai hoc vi tinh word-excel
Bai hoc vi tinh  word-excelBai hoc vi tinh  word-excel
Bai hoc vi tinh word-excelHanh Pham Hoang
 
Mcsa 2012 distributed file system
Mcsa 2012 distributed file systemMcsa 2012 distributed file system
Mcsa 2012 distributed file systemlaonap166
 
Chuong12
Chuong12Chuong12
Chuong12na
 
Hệ điều hành (chương 2)
Hệ điều hành (chương 2)Hệ điều hành (chương 2)
Hệ điều hành (chương 2)realpotter
 
Le ngoc trien tin 10-chuong2-bài 11
Le ngoc trien  tin 10-chuong2-bài 11Le ngoc trien  tin 10-chuong2-bài 11
Le ngoc trien tin 10-chuong2-bài 11vb2tin09
 
Tệp v￀ quản lᅪ tệp
Tệp v￀ quản lᅪ tệpTệp v￀ quản lᅪ tệp
Tệp v￀ quản lᅪ tệpyouti1992
 
Tóm tắt về track, sector, cluster, cylinder
Tóm tắt về track, sector, cluster, cylinderTóm tắt về track, sector, cluster, cylinder
Tóm tắt về track, sector, cluster, cylinderhoamonkhach
 

Tendances (18)

Quan ly bo nho ngoai trong linux
Quan ly bo nho ngoai trong linuxQuan ly bo nho ngoai trong linux
Quan ly bo nho ngoai trong linux
 
HDH
HDHHDH
HDH
 
Bài Giảng IC3 GS4: Tập tin và thư mục
Bài Giảng IC3 GS4: Tập tin và thư mụcBài Giảng IC3 GS4: Tập tin và thư mục
Bài Giảng IC3 GS4: Tập tin và thư mục
 
Hệ điều hành (chương 4)
Hệ điều hành (chương 4)Hệ điều hành (chương 4)
Hệ điều hành (chương 4)
 
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
 
Bai03 he thong tap tin fat
Bai03   he thong tap tin fatBai03   he thong tap tin fat
Bai03 he thong tap tin fat
 
Chuong ii
Chuong iiChuong ii
Chuong ii
 
BÀI 11: TỆP VÀ QUẢN LÍ TỆP
BÀI 11: TỆP VÀ QUẢN LÍ TỆPBÀI 11: TỆP VÀ QUẢN LÍ TỆP
BÀI 11: TỆP VÀ QUẢN LÍ TỆP
 
He thong cauhoi_sgk_sbt
He thong cauhoi_sgk_sbtHe thong cauhoi_sgk_sbt
He thong cauhoi_sgk_sbt
 
3 he thong-file
3 he thong-file3 he thong-file
3 he thong-file
 
Bài 11
Bài 11Bài 11
Bài 11
 
Bai hoc vi tinh word-excel
Bai hoc vi tinh  word-excelBai hoc vi tinh  word-excel
Bai hoc vi tinh word-excel
 
Mcsa 2012 distributed file system
Mcsa 2012 distributed file systemMcsa 2012 distributed file system
Mcsa 2012 distributed file system
 
Chuong12
Chuong12Chuong12
Chuong12
 
Hệ điều hành (chương 2)
Hệ điều hành (chương 2)Hệ điều hành (chương 2)
Hệ điều hành (chương 2)
 
Le ngoc trien tin 10-chuong2-bài 11
Le ngoc trien  tin 10-chuong2-bài 11Le ngoc trien  tin 10-chuong2-bài 11
Le ngoc trien tin 10-chuong2-bài 11
 
Tệp v￀ quản lᅪ tệp
Tệp v￀ quản lᅪ tệpTệp v￀ quản lᅪ tệp
Tệp v￀ quản lᅪ tệp
 
Tóm tắt về track, sector, cluster, cylinder
Tóm tắt về track, sector, cluster, cylinderTóm tắt về track, sector, cluster, cylinder
Tóm tắt về track, sector, cluster, cylinder
 

Similaire à BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT

Oop unit 11 input và output
Oop unit 11 input và outputOop unit 11 input và output
Oop unit 11 input và outputTráng Hà Viết
 
Bai07xulynhapxuat 130622092548-phpapp02
Bai07xulynhapxuat 130622092548-phpapp02Bai07xulynhapxuat 130622092548-phpapp02
Bai07xulynhapxuat 130622092548-phpapp02Hoàng Hà
 
Module 2 : Sử Dụng Máy Tính Cơ Bản
Module 2 : Sử Dụng Máy Tính Cơ BảnModule 2 : Sử Dụng Máy Tính Cơ Bản
Module 2 : Sử Dụng Máy Tính Cơ BảnLong Nguyen
 
Bài 4: Hệ thống quản lý lịch biểu và tài liệu
Bài 4: Hệ thống quản lý lịch biểu và tài liệuBài 4: Hệ thống quản lý lịch biểu và tài liệu
Bài 4: Hệ thống quản lý lịch biểu và tài liệuMasterCode.vn
 
Phan 2 chuong 10 (tap tin)
Phan 2   chuong 10 (tap tin)Phan 2   chuong 10 (tap tin)
Phan 2 chuong 10 (tap tin)Trần Văn Nam
 
Trích dẫn tài liệu bằng EndNote X7
Trích dẫn tài liệu bằng EndNote X7Trích dẫn tài liệu bằng EndNote X7
Trích dẫn tài liệu bằng EndNote X7Trinh Phan Canh
 
Chuong 03 he_thong_file
Chuong 03 he_thong_fileChuong 03 he_thong_file
Chuong 03 he_thong_filenguyenghia831
 
tài liệu Mã nguồn mở 03 he-thong-tep-linux-14
tài liệu Mã nguồn mở  03 he-thong-tep-linux-14tài liệu Mã nguồn mở  03 he-thong-tep-linux-14
tài liệu Mã nguồn mở 03 he-thong-tep-linux-14Thuyet Nguyen
 

Similaire à BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT (20)

Io trong java
Io trong javaIo trong java
Io trong java
 
IO trong Java
IO trong JavaIO trong Java
IO trong Java
 
Oop unit 11 input và output
Oop unit 11 input và outputOop unit 11 input và output
Oop unit 11 input và output
 
File
FileFile
File
 
Oop 13
Oop 13Oop 13
Oop 13
 
3 he thong-file
3 he thong-file3 he thong-file
3 he thong-file
 
3 he thong-file
3 he thong-file3 he thong-file
3 he thong-file
 
Bai07xulynhapxuat 130622092548-phpapp02
Bai07xulynhapxuat 130622092548-phpapp02Bai07xulynhapxuat 130622092548-phpapp02
Bai07xulynhapxuat 130622092548-phpapp02
 
On thi kpdl
On thi kpdlOn thi kpdl
On thi kpdl
 
Module 2 : Sử Dụng Máy Tính Cơ Bản
Module 2 : Sử Dụng Máy Tính Cơ BảnModule 2 : Sử Dụng Máy Tính Cơ Bản
Module 2 : Sử Dụng Máy Tính Cơ Bản
 
Bài 4: Hệ thống quản lý lịch biểu và tài liệu
Bài 4: Hệ thống quản lý lịch biểu và tài liệuBài 4: Hệ thống quản lý lịch biểu và tài liệu
Bài 4: Hệ thống quản lý lịch biểu và tài liệu
 
Session 21
Session 21Session 21
Session 21
 
Session 21
Session 21Session 21
Session 21
 
Huong dan thao_tac_file
Huong dan thao_tac_fileHuong dan thao_tac_file
Huong dan thao_tac_file
 
Phan 2 chuong 10 (tap tin)
Phan 2   chuong 10 (tap tin)Phan 2   chuong 10 (tap tin)
Phan 2 chuong 10 (tap tin)
 
Trích dẫn tài liệu bằng EndNote X7
Trích dẫn tài liệu bằng EndNote X7Trích dẫn tài liệu bằng EndNote X7
Trích dẫn tài liệu bằng EndNote X7
 
04 02-2015 tep.ppt
04 02-2015 tep.ppt04 02-2015 tep.ppt
04 02-2015 tep.ppt
 
Chuong 03 he_thong_file
Chuong 03 he_thong_fileChuong 03 he_thong_file
Chuong 03 he_thong_file
 
tài liệu Mã nguồn mở 03 he-thong-tep-linux-14
tài liệu Mã nguồn mở  03 he-thong-tep-linux-14tài liệu Mã nguồn mở  03 he-thong-tep-linux-14
tài liệu Mã nguồn mở 03 he-thong-tep-linux-14
 
File trong c_
File trong c_File trong c_
File trong c_
 

Plus de MasterCode.vn

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnMasterCode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnMasterCode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnMasterCode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnMasterCode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnMasterCode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnMasterCode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnMasterCode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnMasterCode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnMasterCode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnMasterCode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnMasterCode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnMasterCode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnMasterCode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 

Plus de MasterCode.vn (20)

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
 

BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT

  • 1. BÀI 7: THAO TÁC VỚI FILE – CÁC VẤN ĐỀ KHÁC
  • 2. 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
  • 3. 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 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 Thao tác với File truy cập tuần tự 3
  • 4. 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 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 Thao tác với File truy cập tuần tự 4 File được lưu trên ổ cứng Dữ liệu trên File được đọc vào RAM CPU thao tác với dữ liệu trên RAM
  • 5. 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 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 tuần tự Truy cập ngẫu nhiên
  • 6. Các phần tử được xử lý bởi máy tính là một hệ thống phân cấp dữ liệu Các phần tử phức tạp được cấu thành từ các phần tử đơn giản hơn Hệ thống phân cấp dữ liệu Các phần tử được xử lý bởi máy tính là một hệ thống phân cấp dữ liệu Các phần tử phức tạp được cấu thành từ các phần tử đơn giản hơn Thao tác với File truy cập tuần tự 6
  • 7. Hệ thống được tổ chức như hình sau Hệ thống phân cấp dữ liệu Nam F D F B Kien A A D E Nga A B A 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
  • 8. 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 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 Thao tác với File truy cập tuần tự 8
  • 9. 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 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
  • 10. 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 Các lớp xử lý luồng được lưu trong namespace System.IO Thao tác với File truy cập tuần tự 10
  • 11. Thêm namespace System.IO Khai báo biến StreamWriter Khởi tạo giá trị cho đối tượng StreamWriter 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 Demo ghi dữ liệu ra file Imports System.IO Dim output As StreamWriter output = New StreamWriter (“calendar.txt”, True) Thêm namespace System.IO Khai báo biến StreamWriter Khởi tạo giá trị cho đối tượng StreamWriter 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 Thao tác với File truy cập tuần tự 11 output = New StreamWriter (“calendar.txt”, True) Tên file mà dữ liệu sẽ được ghi ra Mục đích là để báo rằng muốn thêm thông tin vào cuối file
  • 12. 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 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()
  • 13. 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ự 13<Title> 13
  • 14. 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 Cơ chế đọc và ghi ra file Thao tác với File truy cập tuần tự 14
  • 15. Thêm namespace System.IO Khai báo khởi tạo biến StreamReader Đọ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 Demo đọc dữ liệu từ file Imports System.IO Dim input As StreamReader= New StreamReader (“calendar.txt”) Thêm namespace System.IO Khai báo khởi tạo biến StreamReader Đọ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 Thao tác với File truy cập tuần tự 15 Dim line As String Do Until input.EndOfStream line = input.Realine() MessageBox.Show(line) Loop
  • 16. 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
  • 17. 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 đã 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 Thao tác với File truy cập tuần tự 17
  • 18. 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). Đ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). Thao tác với File truy cập tuần tự 18
  • 19. 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 ' 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
  • 20. 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 trên ToolBox Thao tác với File truy cập tuần tự 20 Ký hiệu MonthCalendar trên ToolBox Thêm điều khiển vào Form Tiện ích đồng hồ trên Win7
  • 21. 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 Demo sử dụng MonthCalendar ' xử lý sự kiện DateChanged của MonthCalendar Private Sub dateMonthCalendar_DateChanged( _ ByVal sender As System.Object, ByVal e As _ System.Windows.Forms.DateRangeEventArgs) _ Handles dateMonthCalendar.DateChanged ' hiển thị ngày vừa được chọn MessageBox.Show(dateMonthCalendar.SelectionStart) End Sub ' dateMonthCalendar_DateChanged Thao tác với File truy cập tuần tự 21 ' xử lý sự kiện DateChanged của MonthCalendar Private Sub dateMonthCalendar_DateChanged( _ ByVal sender As System.Object, ByVal e As _ System.Windows.Forms.DateRangeEventArgs) _ Handles dateMonthCalendar.DateChanged ' hiển thị ngày vừa được chọn MessageBox.Show(dateMonthCalendar.SelectionStart) End Sub ' dateMonthCalendar_DateChanged
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. 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
  • 26. Xử lý sự kiện khi nhấn vào mục Color… Thao tác với File truy cập tuần tự 26 Mở hộp thoại Color Dialog
  • 27. Khai báo mảng không khởi tạo phần tử Dim arr As Array Dim int() As Integer = {12, 16, 20, 24, 28, 32} arr = CType(int, Array) Khai báo mảng có khởi tạo phần tử Dim MangSo() As Integer = {12, 24, 36, 48} Dim MangKyTu() As String = {"K", "S", "S", "D", "N"} Dim MangDoiTuong() As Object = {"this", ”a”} Dim objArray() As Object Mảng và các cách khai báo Khai báo mảng không khởi tạo phần tử Dim arr As Array Dim int() As Integer = {12, 16, 20, 24, 28, 32} arr = CType(int, Array) Khai báo mảng có khởi tạo phần tử Dim MangSo() As Integer = {12, 24, 36, 48} Dim MangKyTu() As String = {"K", "S", "S", "D", "N"} Dim MangDoiTuong() As Object = {"this", ”a”} Dim objArray() As Object Thao tác với File truy cập tuần tự 27
  • 28. Ta sử dụng vòng lặp để đọc dữ liệu từ mảng Dim sourceArray() As Integer = {1, 2, 3} Dim counter As Integer For counter = 0 To sourceArray.Length - 1 result.Append(sourceArray(counter).ToString()) Next counter Đọc dữ liệu từ mảng Ta sử dụng vòng lặp để đọc dữ liệu từ mảng Dim sourceArray() As Integer = {1, 2, 3} Dim counter As Integer For counter = 0 To sourceArray.Length - 1 result.Append(sourceArray(counter).ToString()) Next counter Thao tác với File truy cập tuần tự 28
  • 29. Ta sử dụng InsertArrayElement để thêm dữ liệu vào mảng Dim arrayInsert() As String = {"O", "A", "G", "B", "B"} InsertArrayElement(Of String)(arrayInsert, 2, “Chanh") Thêm dữ liệu vào mảng Thao tác với File truy cập tuần tự 29
  • 30. Khai báo dữ liệu kiểu cấu trúc Structure Person Dim strLastName As String Dim strFirstName As String Dim strPhone As String End Structure Gán dữ liệu cho kiểu dữ liệu cấu trúc Dim udtPerson As New Person With udtPerson .strLastName = “Nguyen Van" .strFirstName = “A" .strPhone = "555" End With Dữ liệu kiểu cấu trúc Khai báo dữ liệu kiểu cấu trúc Structure Person Dim strLastName As String Dim strFirstName As String Dim strPhone As String End Structure Gán dữ liệu cho kiểu dữ liệu cấu trúc Dim udtPerson As New Person With udtPerson .strLastName = “Nguyen Van" .strFirstName = “A" .strPhone = "555" End With Thao tác với File truy cập tuần tự 30
  • 31. Khai báo ArrayList Dim alPersons As New ArrayList Thêm dữ liệu vào ArrayList alPersons.Add(udtPerson) Insert dữ liệu vào một vị trí bất kỳ trong ArrayList If Not alPersons.Contains(udtPerson) Then alPersons.Insert(1, udtPerson) End If Xóa dữ liệu từ ArrayList alPersons.RemoveAt(0) Thêm, xóa dữ liệu từ ArrayList Khai báo ArrayList Dim alPersons As New ArrayList Thêm dữ liệu vào ArrayList alPersons.Add(udtPerson) Insert dữ liệu vào một vị trí bất kỳ trong ArrayList If Not alPersons.Contains(udtPerson) Then alPersons.Insert(1, udtPerson) End If Xóa dữ liệu từ ArrayList alPersons.RemoveAt(0) Thao tác với File truy cập tuần tự 31
  • 32. Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim i As Integer Dim ItemList As New ArrayList() ItemList.Add("Item4") ItemList.Add("Item5") ItemList.Add("Item2") ItemList.Add("Item1") ItemList.Add("Item3") MsgBox("Shows Added Items") For i = 0 To ItemList.Count - 1 MsgBox(ItemList.Item(i)) Next 'insert an item ItemList.Insert(3, "Item6") 'sort itemms in an arraylist ItemList.Sort() Ví dụ về ArrayList Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim i As Integer Dim ItemList As New ArrayList() ItemList.Add("Item4") ItemList.Add("Item5") ItemList.Add("Item2") ItemList.Add("Item1") ItemList.Add("Item3") MsgBox("Shows Added Items") For i = 0 To ItemList.Count - 1 MsgBox(ItemList.Item(i)) Next 'insert an item ItemList.Insert(3, "Item6") 'sort itemms in an arraylist ItemList.Sort() Thao tác với File truy cập tuần tự 32
  • 33. 'remove an item ItemList.Remove("Item1") 'remove item from a specified index ItemList.RemoveAt(3) MsgBox("Shows final Items the ArrayList") For i = 0 To ItemList.Count - 1 MsgBox(ItemList.Item(i)) Next End Sub End Class Ví dụ về ArrayList 'remove an item ItemList.Remove("Item1") 'remove item from a specified index ItemList.RemoveAt(3) MsgBox("Shows final Items the ArrayList") For i = 0 To ItemList.Count - 1 MsgBox(ItemList.Item(i)) Next End Sub End Class Thao tác với File truy cập tuần tự 33
  • 34. Các phần tử được xử lý bởi máy tính là một hệ thống phân cấp dữ liệu. Các phần tử phức tạp được cấu thành từ các phần tử đơn giản hơn Bit là phần tử nhỏ nhất mà máy tính xử lý File là một tập dữ liệu được lưu lại ngay cả khi ứng dụng kết thúc. File được lưu trên thiết bị lưu trữ thứ cấp Dữ liệu từ file được đọc vào RAM, sau đó CPU xử lý dữ liệu trên RAM File được phân làm hai loại, file truy cập ngẫu nhiên và file truy cập tuần tự Visual Basic cung cấp luồng để hỗ trợ việc đọc và ghi file. Sử dụng StreamWriter để ghi dữ liệu vào file và StreamReader để đọc dữ liệu từ file Tổng kết bài học Các phần tử được xử lý bởi máy tính là một hệ thống phân cấp dữ liệu. Các phần tử phức tạp được cấu thành từ các phần tử đơn giản hơn Bit là phần tử nhỏ nhất mà máy tính xử lý File là một tập dữ liệu được lưu lại ngay cả khi ứng dụng kết thúc. File được lưu trên thiết bị lưu trữ thứ cấp Dữ liệu từ file được đọc vào RAM, sau đó CPU xử lý dữ liệu trên RAM File được phân làm hai loại, file truy cập ngẫu nhiên và file truy cập tuần tự Visual Basic cung cấp luồng để hỗ trợ việc đọc và ghi file. Sử dụng StreamWriter để ghi dữ liệu vào file và StreamReader để đọc dữ liệu từ file Thao tác với File truy cập tuần tự 34
  • 35. Hãy nhớ đóng file sau khi đã thao tác xong với file để tránh lỗi xẩy ra Hộp thoại OpenFileDialog để mở file Điều khiển MonthCalender 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 MenuStrip để thiết kế menu Mảng và mảng động Tổng kết bài học Hãy nhớ đóng file sau khi đã thao tác xong với file để tránh lỗi xẩy ra Hộp thoại OpenFileDialog để mở file Điều khiển MonthCalender 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 MenuStrip để thiết kế menu Mảng và mảng động Thao tác với File truy cập tuần tự 35