§15. THAO T¸C VíI
TƯP
1. Khai báo tệp văn bản
Var <Tên biến tệp> : TEXT;
VÝ dô:
tep1,tep2 : Text;
Program vd1;
Uses crt;
Var
tep1,tep2: TEXT;
2. Thao tác với tệp - Gán tên tệp
ASSIGN(<biến tệp>,<tên tệp>);
Tên tệp: Là biến xâu hoặc hằng xâu.
Ví dụ:
ASSIGN(tep1, DULIEU.DAT);
Biến tep1 đc gắn với tệp có
tên DULIEU.DAT
ASSIGN(tep2, D:\TP\BAITAP.INP);
Biến tep2 đc gắn với tệp có
tên BAITAP.INP trong th
mục TP ở ổ ®Üa D.
2. Thao t¸c víi tƯp - Më tƯp
Thđ tơc më tệp để ghi kết quả:
REWRITE (<biến tệp>);
Nếu nh trên ổ D:\TP cha có
tệp BAITAP.INP, thì tệp sẽ đ
ợc tạo rỗng. Nếu đà có, thì nội
dung cũ bị xoá để chuẩn bị
ghi dữ liệu mới.
Program vd1;
Uses crt;
Var
tep1,tep2: TEXT;
BEGIN
Clrscr;
ASSIGN(tep1, dulieu.dat);
REWRITE (tep1);
2. Thao tác với tệp - Ghi dữ liệu vo tệp
Thủ tục ghi dữ liệu vo tệp
WRITE(<biến tệp>, <Danh sách kết quả>);
WRITELN (<biến tệp>, <Danh sách kết quả>);
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.
Program vd1;
Uses crt;
Var
tep2: TEXT;
a,b: integer;
BEGIN
Clrscr;
ASSIGN(tep2, ‘D:\TP\BAITAP.INP’);
REWRITE (tep2);
a:=3; b:=5;
WRITE (tep2,a,’ ‘,b);
Close(tep2);
Readln;
END.
2. Thao tác với tệp - Ghi dữ liệu vo tƯp
•
•
•
•
..\..\..\..\FPC\2.6.0\bin\i386-win32\dl.txt
..\..\..\..\FPC\2.6.0\bin\i386-win32\ghitep.pas
chạy chương trình
..\..\..\..\FPC\2.6.0\bin\i386-win32\dl.txt
2. Thao tác với tệp - Đọc dữ liệu từ tệp
Thủ tục mở tệp để đọc dữ liệu
RESET (<biến tệp>);
Thủ tục đọc dữ liệu từ tệp:
READ(<biến tệp>, <Danh sách biÕn>);
Program vd2;
Uses crt;
Var
tep2: TEXT;
x1,y1: integer;
BEGIN
Clrscr;
ASSIGN(tep2, ‘D:\TP\BAITAP.INP’);
RESET (tep2);
READLN (<biÕn tÖp>, <Danh sách biến>);
Danh sách biến là một hoặc
nhiều biến đơn.
READLN (tep2,x1,y1);
WRITE (‘Hai so do la’ ,x1,y1);
Close(tep2);
Readln;
END.
2. Thao tác với tệp - Thủ tục đóng tệp:
Ghi dữ liệu ra tệp
Program vd1;
Uses crt;
Var
tep2: TEXT;
a,b: integer;
BEGIN
Clrscr;
ASSIGN(tep2, D:\TP\BAITAP.INP);
CLOSE(< tên biến tệp>)
Đọc dữ liệu từ tệp
Program vd2;
Uses crt;
Var
tep2: TEXT;
x1,y1: integer;
BEGIN
Clrscr;
ASSIGN(tep2, ‘D:\TP\BAITAP.INP’);
REWRITE (tep2);
RESET (tep2);
a:=3; b:=5;
READLN(tep2, x1,y1);
WRITE (tep2,a,b);
WRITE (‘Hai so do la’ ,x1,y1);
Close(tep2);
Readln;
END.
Close(tep2);
Readln;
END.
Mét sè hµm chn thường dïng trong xư lÝ tƯp văn bản
EOF(<biến tệp>);
Cho giá trị đúng nếu con trỏ đang chỉ tới cuối tệp.
EOFLN(<biến tệp>);
Cho giá trị đúng nếu con trỏ đang chỉ tới cuối dòng.
HÃy nhớ!
Khai báo tệp văn bản:
Var < Tên biến tệp>: Text;
Gán tên tệp:
ASSIGN(<tên biến tệp>);
Mở tệp:
- Để đọc: RESET(<Tên biến tệp>);
- Để ghi: REWRITE(< Tên biến tệp>);
§äc/ghi tƯp
§äc: READ(<Tªn biÕn tƯp>, biÕn nhËn);
Ghi: REWRITE(< Tªn biÕn tệp>,biến đa ra);
Đóng tệp
CLOSE(< tên biến tệp>);