Loại 1:
Tệp các phần tử có định kiểu, thường để quản lý |
Loại 2:
Tệp văn bản, dùng để đọc ghi công văn, thi HSG |
Loại 3:
Tệp không định kiều, dùng để copy dữ liệu, không quan tâm dạng dữ liệu |
F:file of <kiểu phần tử>;
Chỉ số của các phần tử tính từ 0 trở đi!
Khi ghi/đọc xong một phần tử đầu đọc/ghi tự động nhích sang phần tử kế tiếp! |
F:Text;
Không có chỉ số!
Khi ghi/đọc xong một dòng đầu đọc/ghi tự động sang dòng tiếp!
Gần như File of char.
Khác nhau ở chỗ file có định dạng char. |
F:File;
Không có chỉ số! |
Assign(F,<TênTệp>);
Đặt/Gọi tên tệp
Rewrite(F);
Mở tệp để ghi từ đầu |
Assign(F,<TênTệp>);
Đặt/Gọi tên tệp
Rewrite(F);
Mở tệp để ghi từ đầu
Append(F);
Mở tệp để ghi tiếp |
Assign(F,<TênTệp>);
Đặt/Gọi tên tệp
Rewrite(F);
Mở tệp để ghi từ đầu |
Write(F,a);
Ghi giá trị biến a vào tệp.
Từ đây: a là một biến <kiểu phần tử> |
Write(F,S);
Ghi giá trị biến S vào tệp chưa ghi dấu kết thúc dòng.
Writeln(F,S);
Ghi giá trị biến S vào tệp và ghi dấu kết thúc dòng.
Từ đây: S là biến/hằng xâu kí tự, kí tự hay số, mệnh đề
Có thể thay S bằng danh sách nhiều biến, hằng nhiều kiểu cho phép. |
BlockWrite(F,Buffer,n);
Ghi n khối Buffer vào tệp, không kiểm tra.
BlockWrite(F,Buffer,n,Result);
Ghi n khối Buffer vào tệp, có kiểm tra lỗi.
Từ đây: Buffer là một biến tùy ý, thường là kiểu array[1..128] of Byte hoặc
array[1..512] of Byte.
Result là biến nguyên chứa mã lỗi khi thực hiện thủ tục. |
Reset(F);
Mở tệp để đọc dữ liệu ra bộ nhớ |
Reset(F);
Mở tệp để đọc dữ liệu ra bộ nhớ |
Reset(F);
Mở tệp để đọc dữ liệu ra bộ nhớ |
Close(F);
Đóng tệp |
Close(F);
Đóng tệp |
Close(F);
Đóng tệp |
Read(F,a);
Đọc giá trị phần tử mà đầu đọc đang chỉ vào, và gán cho biến a. |
Read(F,S);
Đọc giá trị phần tử mà đầu đọc đang chỉ vào, và gán cho biến S.
Readln(F,S);
Đọc dòng mà đầu đọc đang chỉ vào, và gán cho S S có thể là một dãy các biến có kiểu khác nhau! |
BlockRead(F,Buffer,n);
Đọc dữ liệu ra n khối Buffer từ tệp, không kiểm tra lỗi.
BlockRead(F,Buffer,n,result);
Đọc dữ liệu ra n khối Buffer từ tệp, có kiểm tra lỗi. |
FileSize(F);
Cỡ tệp tức số lượng phần tử của tệp.
FilePos(F);
Chỉ số tệp (tính từ 0) mà đầu dọc/ghi đang trỏ vào. |
Không có FilePos, FileSize |
|
Seek(F,k);
Đưa đầu đọc/ghi đến phần tử có chỉ số là k. |
Không có thủ tục Seek. |
|
EOF(F);
Mệnh đề “Hết tệp” tức là đầu đọc/ghi đã chỉ vào dấu hiệu chấm hết tệp. |
EOF(F);
--- giống Loại 1 ---
EOLN(F);
Mệnh đề “Hết dòng” tức là đầu đọc/ghi đã chỉ vào dấu hiệu hết dòng văn bản. |
|
Rename(F,<TênMới>);
Đổi tên tệp thành TênMới. |
Rename(F,<TênMới>);
--- giống Loại 1 --- |
Rename(F,<TênMới>);
--- giống Loại 1 --- |
Erase(F);
Xóa tệp trên đĩa. |
Erase(F);
--- giống Loại 1 --- |
Erase(F);
--- giống Loại 1 --- |
{$I-}
Chỉ thị chương trình dịch gặp lỗi vào/ra tệp thì đừng báo lối mà đưa mã lỗi vào biến IOResult để lập trình viên chủ động xử lý.
IOResult
Biến có sẵn chứa mã lỗi. (=0 nếu không có lỗi gì cả)
{$I+}
Chỉ thị chương trình dịch gặp lỗi vào/ra tệp thì lại báo lối bình thường. |
{$I-}
IOResult
{$I+}
--- giống Loại 1 --- |
{$I-}
IOResult
{$I+}
--- giống Loại 1 --- |
| |
Tên tệp chuẩn:
’PRN’
Máy in
’CON’,
Bàn phím
Biến tệp chuẩn:
Ouput
Màn hình
Input
Bàn phím
Lst
Máy in
|
|