LÀM VIỆC VỚI TỆP
1. Khai báo:
VAR <TÊN BIẾN TỆP> : TEXT;
Ví dụ: Var f1, f2: Text;
2. Thao tác với tệp:
2.1.
Gắn tên tệp:
- Cú pháp: ASSIGN(<biến
tệp,<tên tệp>);
- Trong đó: <tên
tệp> là biến xâu hoặc hằng xâu.
- Ví dụ: ASSIGN(f, 'D:\HSG\BAITAP.INP');
=> Biến f
được gắn với tệp BAITAP.INP đã có trong thư mục HSG ở ổ đĩa D.
=> Làm việc
với tệp BAITAP.INP thông qua tệp f.
2.2. Mở tệp:
- Tệp đã tồn
tại thì mở để lấy hay đọc dữ liệu.
- Tệp cần đưa
(ghi) dữ liệu vào thì mở để ghi dữ liệu.
Lưu ý: Tệp có
thể dùng để chứa kết quả ra hoặc dữ liệu vào. Trước khi mở tệp, biến tệp phải
được gắn tên tệp bằng thủ tục ASSIGN.
2.2.1. Mở tệp để đọc dữ liệu:
- Cú pháp: RESET(<biến
tệp>);
- Ví dụ:
Assign(f, 'D:\DULIEU.INP '); Reset(f);
2.2.2. Mở tệp để ghi dữ liệu:
- Cú pháp: REWRITE(<biến
tệp>);
-
Ví dụ: Assign(f, 'D:\BAITAP.OUT'); Rewrite(f);
=> Khi thực hiện thủ tục Rewrite(f), nếu trên thư mục gốc của ổ
đĩa D chưa có tệp BAITAP.OUT, thì tệp
sẽ được tạo với nội dung rỗng. Nếu đã có, thì nội dung cũ sẽ bị xoá để chuẩn bị
ghi dữ liệu mới.
2.3.
Đọc/ ghi tệp văn bản:
2.3.1.
Đọc dữ liệu từ tệp:
READ(<biến tệp>,<danh sách tên biến>);
READLN(<biến tệp>,<danh sách tên biến>);
Ø Danh sách tên biến là một hoặc nhiều
tên biến đơn.
Ø Ví dụ: Read(f, a,b,c);
2.3.2.
Ghi dữ liệu lên tệp:
WRITE(<biến tệp>,<Danh sách kết quả>);
WRITELN(<biến tệp>,<Danh sách kết quả>);
Ø Trong đó danh sách kết quả gồm một hoặc
nhiều phần tử. Phần tử có thể là biến đơn hoặc biểu thức (số học, quan hệ
logic) hoặc hằng xâu.
2.4.
Đóng tệp:
CLOSE(<biến
tệp>);
Ví dụ: Close(f);
Lưu ý: Sau
khi làm việc xong với tệp thì cần phải đóng tệp. Việc đóng tệp là đặc biệt quan
trọng sau khi ghi dữ liệu, khi đó hệ thống mới thực sự hoàn tất việc ghi dữ liệu
lên tệp.
* Một số hàm chuẩn dùng khi đọc/ ghi tệp văn bản:
EOF(<biến tệp>);
Cho biết con trỏ đã ở vị trí cuối tệp
hay chưa. Nếu trỏ tệp ở cuối tệp thì hàm EOF
trả lại giá trị TRUE.
EOLN(<biến tệp>);
Cho biết con trỏ tệp đã ở vị trí cuối
dòng hay chưa. Nếu trỏ tệp ở cuối dòng thì hàm EOLN trả lại giá trị TRUE.
Tóm lại cấu trúc tệp:
//Khai báo biến tệp
Var f: text;
Begin
//Đọc file
Assign(f, 'TepDuLieu.INP
'); Reset(f);
Read(f,<danh sách tên biến>);
Close(f);
//Ghi
dữ liệu lên tệp
Assign(f, 'TepGhiDuLieu.OUT '); Rewrite(f);
{Xử lý dữ liệu}
Write(f,<danh sách kết quả
ra>);
Close(f);
End.
Post a Comment