Bài giảng Tin học đại cương - Chương 7: Xử lý tập tin với Visual Basic 6.0 cung cấp cho người đọc các kiến thức: Cấu trúc tệp, tổng quát về file trong VB, truy xuất file trong VB, truy xuất file nhị phân, truy xuất file tuần tự,... Mời các bạn cùng tham khảo.
Dùng cho nhóm ngành: Cơng trình + Cơ khí TIN HỌC ĐẠI CƯƠNG Chương 7: Xử lý tập tin với Visual Basic 6.0 bangtqh@utc2.edu.vn Nội dung Cấu trúc tệp (file) Tổng quát file VB Truy xuất file VB (Các lệnh/Các hàm) Truy xuất file nhị phân (binary file) Truy xuất file (sequence file/text file) Các hàm xác định vị trí truy xuất file Các hàm truy xuất thuộc tính file Lệnh chép xóa file Các lệnh xử lý thư mục bangtqh@utc2.edu.vn Tin học đại cương - Chương 7.1 Cấu trúc tập tin (file) Ở cấp độ hệ điều hành, file danh sách n byte chưa có ngữ nghĩa Mỗi ứng dụng phải tự quy định cấu trúc cụ thể cho file tạo đọc lại ngữ nghĩa cấu trúc VB cung cấp dạng file khác nhau, ứng với dạng có cách thức truy xuất liệu tương ứng – File (sequence file) hay file văn danh sách gồm n byte, byte ký tự ANSI (vd: file source code VB *.bas) – File nhị phân (binary file) danh gồm n byte nhị phân chưa có cấu trúc (vd: file word, excel…) – File truy xuất trực tiếp (random file): danh sách gồm n record độ dài, record chứa nhiều trường (field) thông tin bangtqh@utc2.edu.vn Tin học đại cương - Chương 7.2 Tổng quát file VB VB cung cấp cho người lập trình phương pháp để quản lý file: – Gọi thủ tục truyền thống Open, Close, Input, Write, Get, Put,… Ta gọi thủ tục lệnh VB – Dùng mô hình đối tượng FSO (File System Object) Người lập trình tạo đối tượng FileSystemObject cần quản lý hệ thống file gọi method tương ứng đối tượng FSO thân thiện dễ dùng hỗ trợ cho phép truy xuất file văn bản, chưa hỗ trợ truy xuất file nhị phân file random bangtqh@utc2.edu.vn Tin học đại cương - Chương 7.3 Truy xuất file VB Quy trình truy xuất file VB gồm bước – Mở/tạo file : Gọi thủ tục Open – Lặp truy xuất file: thông qua việc gọi thủ tục Input, Get, Put, Write Thường thủ tục truy xuất đơn vị thông tin nhỏ file nên ta phải lặp nhiều lần hết file, nhiên ta có quyền đọc/ghi tồn nội dung file vào/ra nhớ – Đóng file: Gọi thủ tục Close bangtqh@utc2.edu.vn Tin học đại cương - Chương 7.3 Truy xuất file VB (tt) Bảng lệnh VB truy xuất file Tên thủ tục Sequential file Random file Binary file Open X X X Close X X X Input # X Line Input # X Print # X Write # X Input() X X Type EndType X Put X X Get X X bangtqh@utc2.edu.vn Tin học đại cương - Chương 7.3 Truy xuất file VB (tt) Bảng function truy xuất file VB – – – – – – – – – – Dir: Duyệt phần tử thuộc thư mục FileCopy: Sao chép file thành file FileDateTime: Đọc/hiệu chỉnh ngày sửa file lần cuối FileLen: xác định độ dài file chưa mở FreeFile: xác định số file trống để dùng an tồn Loc: Xác định vị trí truy xuất hành file LOF: xác định độ dài file mở Seek: Xác định/thiết lập vị trí truy xuất file GetAttr: độc thuộc tính file SetAttr: ghi thuộc tính file bangtqh@utc2.edu.vn Tin học đại cương - Chương 7 7.4 Truy xuất Binary file Mở (open) file nhị phân Open pathName For Binary As filenumber – Nếu chưa biết cấu trúc file nên dùng dãy byte để đọc/ghi liệu ra/vào file nhị phân – Nếu biết cấu trúc file nhị phân nên khai báo kiểu liệu mô tả cấu trúc khai báo biến có kiểu vừa định nghĩa để chứa thông tin đọc/ghi file Dùng lệnh Seek để dời pointer tới vị trí mong muốn Seek [#] filenumber, [position], AVariable Dời pointer tới vị trí position, đọc liệu chứa vào biến AVariable Số byte đọc = kích cỡ biến AVariable bangtqh@utc2.edu.vn Tin học đại cương - Chương 7.4 Truy xuất Binary file (tt) Dùng lệnh Get để đọc liệu Get [#] filenumber, [position], AVariable Đọc liệu từ vị trí position chứa vào biến AVariable Số byte đọc = kích thước biến Avariable Dùng lệnh Put để ghi liệu Put[#] filenumber, [position], AVariable Ghi liệu AVariable vào vị trí position file Số byte ghi vào file = kích thước biến Avariable Dùng lệnh Close để đóng file Close [#] filenumber Tin học đại cương - Chương bangtqh@utc2.edu.vn Ví dụ truy xuất Binary file Mỗi file thực thi (*.EXE) có header dài 32 bytes với field sau: Index Field Magic 18h Offset Diễn giải Chuỗi ký tự magic "MZ" Các file khác (không quan tâm) Offset tới bảng tái định chương trình stub – Nếu giá trị field Offset (2 byte) offset 18h (24) có giá trị 40h (60) tương ứng file executable windows (*.exe, *.dll, *.ocx, *.scr, *.drv, ) – Nếu giá trị field Offset