bÀi 7: thao tác với file - các vấn đề khác - giáo trình fpt
DESCRIPTION
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 độngTRANSCRIPT
![Page 1: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/1.jpg)
BÀI 7:THAO TÁC VỚI FILE – CÁC VẤN ĐỀ KHÁC
![Page 2: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/2.jpg)
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 SubTham số OptionalPhạ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 minhSử 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 SubTham số OptionalPhạ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 minhSử 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
![Page 3: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/3.jpg)
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ậptuần tựBiết cách sử dụng điều khiển OpenFileDialogBiết cách sử dụng điều khiển MonthCalendarBiết cách sử dụng điều khiển MenuStripBiế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ậptuần tựBiết cách sử dụng điều khiển OpenFileDialogBiết cách sử dụng điều khiển MonthCalendarBiết cách sử dụng điều khiển MenuStripBiế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
![Page 4: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/4.jpg)
File là một tập hợp dữ liệu được lưu lại ngay cả khi ứngdụng đã kết thúcFile đượ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 USBVisual cung cấp các thao tác tạo, đọc và ghi dữ liệu vàoFile
File
File là một tập hợp dữ liệu được lưu lại ngay cả khi ứngdụng đã kết thúcFile đượ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 USBVisual cung cấp các thao tác tạo, đọc và ghi dữ liệu vàoFile
Thao tác với File truy cập tuần tự 4
File được lưutrên ổ cứng
Dữ liệu trênFile được đọc
vào RAM
CPU thao tác vớidữ liệu trên RAM
![Page 5: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/5.jpg)
File truy cập tuần tựLà file mà thông tin được đọc ra theo thứ tự mà nó đượcghi 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ênLà 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ó đượcghi 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ênLà 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ậptuần tự
Truy cậpngẫu nhiên
![Page 6: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/6.jpg)
Các phần tử được xử lý bởi máy tính là một hệ thốngphân cấp dữ liệuCá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ốngphân cấp dữ liệuCá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
![Page 7: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/7.jpg)
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
![Page 8: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/8.jpg)
BitPhần tử nhỏ nhất mà máy tính xử lýChỉ lưu giá trị 0 hoặc 1Má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)
ByteTập hợp gồm 8 bitTrong Visual Basic, mỗi ký tự gồm 2 byteLập trình tạo ra các phần tử dữ liệu bằng các ký tự, máy tínhthao tác trên chuỗi bit
Hệ thống phân cấp dữ liệu
BitPhần tử nhỏ nhất mà máy tính xử lýChỉ lưu giá trị 0 hoặc 1Má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)
ByteTập hợp gồm 8 bitTrong Visual Basic, mỗi ký tự gồm 2 byteLập trình tạo ra các phần tử dữ liệu bằng các ký tự, máy tínhthao tác trên chuỗi bit
Thao tác với File truy cập tuần tự 8
![Page 9: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/9.jpg)
TrườngTập hợp các ký tự có thể truyền đạt ý nghĩaVí dụ như trường lưu tên
Bản ghiLà tập hợp các trường có liên quanVí dụ như trường lưu thông tin về điểm cho một sinh viên
FileLà tập hợp các bản ghi có liên quanVí 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ọnlàm khóa bản ghi (ví dụ như mã số sinh viên)
Cơ sở dữ liệuLà một nhóm file có liên quan
Hệ thống phân cấp dữ liệu
TrườngTập hợp các ký tự có thể truyền đạt ý nghĩaVí dụ như trường lưu tên
Bản ghiLà tập hợp các trường có liên quanVí dụ như trường lưu thông tin về điểm cho một sinh viên
FileLà tập hợp các bản ghi có liên quanVí 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ọnlàm khóa bản ghi (ví dụ như mã số sinh viên)
Cơ sở dữ liệuLà một nhóm file có liên quan
Thao tác với File truy cập tuần tự 9
![Page 10: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/10.jpg)
Visual Basic cung cấp đối tượng luồng (stream) để hỗtrợ cho việc đọc và ghi thông tin vào FileKhi một file được mở, một luồng được gắn vào đối tượngfile để “đổ” thông tin vào File hay “hút” dữ liệu từ fileCác lớp xử lý luồng được lưu trong namespaceSystem.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 FileKhi một file được mở, một luồng được gắn vào đối tượngfile để “đổ” thông tin vào File hay “hút” dữ liệu từ fileCác lớp xử lý luồng được lưu trong namespaceSystem.IO
Thao tác với File truy cập tuần tự 10
![Page 11: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/11.jpg)
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ệusẽ được ghi ra
Mục đích là để báorằng muốn thêm thôngtin vào cuối file
![Page 12: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/12.jpg)
Ghi dữ liệu ra filePhương thức Write
Ghi giá trị đối số của nó ra file
Phương thức WriteLineGhi 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 filePhương thức Write
Ghi giá trị đối số của nó ra file
Phương thức WriteLineGhi 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()
![Page 13: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/13.jpg)
Cơ chế ghiỨng dụng không đọc dữ liệu ra file ngay khi thực hiện lệnhWrite hay WriteLineDữ liệu được đọc ra file theo từng khốiKhi gặp lệnh Close, ứng dụng sẽ đẩy những dữ liệu còn lạira 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ệnhWrite hay WriteLineDữ liệu được đọc ra file theo từng khốiKhi gặp lệnh Close, ứng dụng sẽ đẩy những dữ liệu còn lạira 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
![Page 14: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/14.jpg)
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 fileCố 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
![Page 15: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/15.jpg)
Thêm namespace System.IO
Khai báo khởi tạo biến StreamReader
Đọc dữ liệu từ filePhươ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 fileSử dụng phương thức EndOfStream để xác định đã đếncuố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ừ filePhươ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 fileSử dụng phương thức EndOfStream để xác định đã đếncuối file hay chưa
Thao tác với File truy cập tuần tự 15
Dim line As StringDo Until input.EndOfStream
line = input.Realine()MessageBox.Show(line)
Loop
![Page 16: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/16.jpg)
Là hộp thoại để mở file
Hộp thoại OpenFileDialog
Ký hiệu hộp thoạitrên ToolBox
Thao tác với File truy cập tuần tự 16
Thêm OpenFileDialog vào FormOpenFileDialog
![Page 17: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/17.jpg)
Thêm OpenFileDialog vào FormHiển thị hộp thoại cho người dùng chọn file khi Click vàomộ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àoSử dụng đối tượng DialogResult để lấy kết quả trả về từphương thức ShowDialog
Hiển thị tên fileSử dụng thuộc tính FileName để lấy tên file được chọnDùng MessageBox để hiển thị tên file
Demo sử dụng hộp thoại OpenFileDialog
Thêm OpenFileDialog vào FormHiển thị hộp thoại cho người dùng chọn file khi Click vàomộ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àoSử dụng đối tượng DialogResult để lấy kết quả trả về từphương thức ShowDialog
Hiển thị tên fileSử dụng thuộc tính FileName để lấy tên file được chọnDùng MessageBox để hiển thị tên file
Thao tác với File truy cập tuần tự 17
![Page 18: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/18.jpg)
Sự kiệnDateChanged - Được thực thi khi một ngày (hoặc mộtkhoảng ngày tháng) mới được chọn.
Thuộc tínhName - Xác định tên được dùng để truy cập các thuộctính của điều khiển MonthCalendar trong mã của ứngdụng. Tên nên có hậu tố MonthCalendar.SelectionStart - trả về ngày được chọn đầu tiên (hoặcduy nhất).
Điều khiển MonthCalendar
Sự kiệnDateChanged - Được thực thi khi một ngày (hoặc mộtkhoảng ngày tháng) mới được chọn.
Thuộc tínhName - Xác định tên được dùng để truy cập các thuộctính của điều khiển MonthCalendar trong mã của ứngdụng. Tên nên có hậu tố MonthCalendar.SelectionStart - trả về ngày được chọn đầu tiên (hoặcduy nhất).
Thao tác với File truy cập tuần tự 18
![Page 19: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/19.jpg)
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 OpenDim ketqua As DialogResult = openFileDialog.ShowDialog()
'mở file nếu người dùng không nhấn vào Button CancelIf ketqua <> Windows.Forms.DialogResult.Cancel Then
'lấy tên file được chọnDim tenfile As String = openFileDialog.FileName
‘hiển thị tên fileMessageBox.Show(tenfile)
End IfEnd 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 OpenDim ketqua As DialogResult = openFileDialog.ShowDialog()
'mở file nếu người dùng không nhấn vào Button CancelIf ketqua <> Windows.Forms.DialogResult.Cancel Then
'lấy tên file được chọnDim tenfile As String = openFileDialog.FileName
‘hiển thị tên fileMessageBox.Show(tenfile)
End IfEnd Sub ' openFileButton_Click
![Page 20: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/20.jpg)
Hiển thị lịch, từ đó người dùng có thể chọn một ngàyhoặc một khoảng ngày tháng
Điều khiển MonthCalendar
Ký hiệu MonthCalendartrên ToolBox
Thao tác với File truy cập tuần tự 20
Ký hiệu MonthCalendartrên ToolBox
Thêm điều khiển vàoForm
Tiện ích đồng hồ trên Win7
![Page 21: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/21.jpg)
Thêm MonthCalendar vào FormXử 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 MonthCalendarPrivate 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ọnMessageBox.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 MonthCalendarPrivate 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ọnMessageBox.Show(dateMonthCalendar.SelectionStart)
End Sub ' dateMonthCalendar_DateChanged
![Page 22: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/22.jpg)
Dùng để nhóm các chức năng liên quan trong ứng dụngWindows
Menu
Thao tác với File truy cập tuần tự 22
![Page 23: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/23.jpg)
Thêm MenuStrip vào FormThiết kế MenuXử 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
![Page 24: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/24.jpg)
Thêm MenuStrip vào Form
Thao tác với File truy cập tuần tự 24
MenuStrip đượcthêm vào Form
![Page 25: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/25.jpg)
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ểnthị hộp chọn
font
![Page 26: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/26.jpg)
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ạiColor Dialog
![Page 27: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/27.jpg)
Khai báo mảng không khởi tạo phần tửDim arr As ArrayDim 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 ArrayDim 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
![Page 28: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/28.jpg)
Ta sử dụng vòng lặp để đọc dữ liệu từ mảngDim sourceArray() As Integer = {1, 2, 3}
Dim counter As IntegerFor 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ảngDim sourceArray() As Integer = {1, 2, 3}
Dim counter As IntegerFor 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
![Page 29: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/29.jpg)
Ta sử dụng InsertArrayElement để thêm dữ liệuvà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
![Page 30: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/30.jpg)
Khai báo dữ liệu kiểu cấu trúcStructure Person
Dim strLastName As StringDim strFirstName As StringDim strPhone As String
End Structure
Gán dữ liệu cho kiểu dữ liệu cấu trúcDim 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úcStructure Person
Dim strLastName As StringDim strFirstName As StringDim strPhone As String
End Structure
Gán dữ liệu cho kiểu dữ liệu cấu trúcDim 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
![Page 31: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/31.jpg)
Khai báo ArrayListDim alPersons As New ArrayList
Thêm dữ liệu vào ArrayListalPersons.Add(udtPerson)
Insert dữ liệu vào một vị trí bất kỳ trong ArrayListIf Not alPersons.Contains(udtPerson) Then
alPersons.Insert(1, udtPerson)End If
Xóa dữ liệu từ ArrayListalPersons.RemoveAt(0)
Thêm, xóa dữ liệu từ ArrayList
Khai báo ArrayListDim alPersons As New ArrayList
Thêm dữ liệu vào ArrayListalPersons.Add(udtPerson)
Insert dữ liệu vào một vị trí bất kỳ trong ArrayListIf Not alPersons.Contains(udtPerson) Then
alPersons.Insert(1, udtPerson)End If
Xóa dữ liệu từ ArrayListalPersons.RemoveAt(0)
Thao tác với File truy cập tuần tự 31
![Page 32: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/32.jpg)
Public Class Form1Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.ClickDim i As IntegerDim 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 itemItemList.Insert(3, "Item6")'sort itemms in an arraylistItemList.Sort()
Ví dụ về ArrayList
Public Class Form1Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.ClickDim i As IntegerDim 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 itemItemList.Insert(3, "Item6")'sort itemms in an arraylistItemList.Sort()
Thao tác với File truy cập tuần tự 32
![Page 33: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/33.jpg)
'remove an itemItemList.Remove("Item1")'remove item from a specified indexItemList.RemoveAt(3)MsgBox("Shows final Items the ArrayList")For i = 0 To ItemList.Count - 1
MsgBox(ItemList.Item(i))Next
End SubEnd Class
Ví dụ về ArrayList
'remove an itemItemList.Remove("Item1")'remove item from a specified indexItemList.RemoveAt(3)MsgBox("Shows final Items the ArrayList")For i = 0 To ItemList.Count - 1
MsgBox(ItemList.Item(i))Next
End SubEnd Class
Thao tác với File truy cập tuần tự 33
![Page 34: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/34.jpg)
Các phần tử được xử lý bởi máy tính là một hệ thốngphân cấp dữ liệu. Các phần tử phức tạp được cấu thànhtừ các phần tử đơn giản hơnBit 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ụngkết thúc. File được lưu trên thiết bị lưu trữ thứ cấpDữ liệu từ file được đọc vào RAM, sau đó CPU xử lý dữliệu trên RAMFile đượ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à ghifile. 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ốngphân cấp dữ liệu. Các phần tử phức tạp được cấu thànhtừ các phần tử đơn giản hơnBit 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ụngkết thúc. File được lưu trên thiết bị lưu trữ thứ cấpDữ liệu từ file được đọc vào RAM, sau đó CPU xử lý dữliệu trên RAMFile đượ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à ghifile. 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
![Page 35: BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPT](https://reader033.vdocuments.site/reader033/viewer/2022060119/558e73901a28abc22a8b45e0/html5/thumbnails/35.jpg)
Hãy nhớ đóng file sau khi đã thao tác xong với file đểtránh lỗi xẩy raHộp thoại OpenFileDialog để mở fileĐiều khiển MonthCalender hiển thị lịch, từ đó ngườidùng có thể chọn một ngày hoặc một khoảng ngàythángĐiều khiển MenuStrip để thiết kế menuMả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 raHộp thoại OpenFileDialog để mở fileĐiều khiển MonthCalender hiển thị lịch, từ đó ngườidùng có thể chọn một ngày hoặc một khoảng ngàythángĐiều khiển MenuStrip để thiết kế menuMảng và mảng động
Thao tác với File truy cập tuần tự 35