B�i 14
Kiểu dữ liệu tệp
1. Vai trò kiểu tệp
Dữ liệu kiểu tệp được lưu trữ lâu dài ở bộ nhớ ngoài (đĩa từ, CD, ...) và không bị mất khi tắt nguồn điện.
Lượng thông tin lưu trữ trên tệp có thể rất lớn và chỉ phụ thuộc vào dung lượng đĩa.
Tệp văn bản
Tệp có cấu trúc
2. Phân loại tệp và thao tác với tệp:
Gồm các kí tự được phân chia thành một hoặc nhiều dòng.
Các thành phần của tệp được tổ chức theo một cấu trúc nhất định.

? Theo cỏch t? ch?c d? li?u: cú 2 lo?i
T?p truy c?p tu?n t?
Tệp truy cập trực tiếp
2. Phân loại tệp và thao tác với tệp:
Dữ liệu được truy cập từ đầu tệp đến dữ liệu cần truy cập.
Tham chiếu dữ liệu bằng vị trí của dữ liệu trong tệp.
? Theo cỏch th?c truy c?p: cú 2 lo?i
B�i 15
THAO TÁC VỚI TỆP
1. Khai báo
Var : TEXT ;
Program vd1;
Uses crt;
Var
tep1,tep2: TEXT;
Ý nghĩa:
Đại diện cho tệp, dùng để thao tác với tệp trong quá trình lập trình.
TIẾT 41: THAO TÁC VỚI TỆP
2. Thao tác với tệp
Gán tên tệp
Mở tệp để ghi
Mở tệp để đọc
Ghi dữ liệu ra tệp
Đọc dữ liệu từ tệp
Đóng tệp
TIẾT 41: THAO TÁC VỚI TỆP
a. Gắn tên tệp
Assign(,);
Tên tệp: Là biến xâu hoặc hằng xâu.
ASSIGN(tep1, ‘DULIEU.DAT’);
ASSIGN(tep2, ‘D:\BAITAP.INP’);
Ví dụ:
Bi?n tep1 du?c g?n v?i t?p cú tờn DULIEU.DAT
Biến tep2 được gắn với tệp có tên BAITAP.INP ở ổ đĩa D.
TIẾT 41: THAO TÁC VỚI TỆP
Rewrite () ;
Thủ tục mở tệp để ghi kết quả:
Ý nghĩa:
Nếu thư mục gốc chưa có tệp thì tệp sẽ được tạo, nội dung rỗng.
Nếu đã có tệp, thì nội dung sẽ bị xóa, để chuẩn bị ghi dữ liệu mới.
b. Mở tệp
TIẾT 41: THAO TÁC VỚI TỆP
? Danh sỏch k?t qu? g?m m?t hay nhi?u ph?n t?. Ph?n t? cú th? l� bi?n, h?ng xõu ho?c bi?u th?c.
c. Ghi dữ liệu ra tệp
Write (, );
Writeln (, );
TIẾT 41: THAO TÁC VỚI TỆP
reset ();
Thủ tục mở tệp để đọc dữ liệu
Thủ tục đọc dữ liệu từ tệp:
? Danh sỏch bi?n l� m?t ho?c nhi?u bi?n don.
d. Đọc dữ liệu từ tệp
read (, );
readln (, );
TIẾT 41: THAO TÁC VỚI TỆP
Một số hàm thường dùng trong khi đọc/ghi tệp
eof();
Cho giá trị đúng nếu con trỏ đang chỉ tới cuối tệp.
eofln ();

Cho giỏ tr? dỳng n?u con tr? dang ch? t?i cu?i dũng.
TIẾT 41: THAO TÁC VỚI TỆP
d. Đóng tệp
close();
Ý nghĩa: khi đóng tệp hệ thống mới thực sự ghi dữ liệu ra tệp.
Chú ý:
Tệp sau khi đóng vẫn có thể được mở lại.
Nếu vẫn dùng biến tệp cũ thì không cần dùng thủ tục assign gắn lại tên tệp.
TIẾT 41: THAO TÁC VỚI TỆP
Close(tep2);
Close(tep2);
GHI DỮ LIỆU RA TỆP
ĐỌC DỮ LIỆU TỪ TỆP
Ví dụ
Tóm tắt
Gán tên tệp
Mở tệp để ghi
Mở tệp để đọc
Ghi dữ liệu ra tệp
Đọc dữ liệu từ tệp
Đóng tệp
nguon VI OLET