Trong Pascal, để tạo tệp (file), chúng ta có thể sử dụng từ khóa file và khai báo kiểu dữ liệu của tệp đó.
Ví dụ:
type
MyFile = file of Integer;
var
f: MyFile;
Trong đoạn mã này, chúng ta đã khai báo một kiểu tệp mới MyFile với kiểu dữ liệu là Integer. Chúng ta đã khai báo biến f kiểu MyFile để thao tác với tệp này.
Để mở một tệp để ghi, chúng ta sử dụng hàm Assign để chỉ định tên tệp và chế độ mở tệp là ghi (FileModeOutput):
Assign(f, 'filename.txt');
Rewrite(f);
Trong đoạn mã này, chúng ta đã gán tên tệp là filename.txt cho biến f, và sử dụng hàm Rewrite để mở tệp này với chế độ ghi.
Sau đó, chúng ta có thể sử dụng hàm Write để ghi dữ liệu vào tệp:
Write(f, 42);
Đoạn mã này sẽ ghi số nguyên 42 vào tệp filename.txt.
Khi đã hoàn tất việc ghi dữ liệu vào tệp, chúng ta nên đóng tệp bằng cách sử dụng hàm Close:
Close(f);
Chú ý rằng trong trường hợp tệp đã tồn tại trước đó, sử dụng Rewrite sẽ xóa toàn bộ nội dung của tệp đó và ghi đè lên nó. Nếu chúng ta muốn thêm dữ liệu vào tệp đã có sẵn mà không làm mất nội dung cũ, chúng ta có thể sử dụng hàm Append thay vì Rewrite.
Dưới đây là một ví dụ về cách đọc dữ liệu từ một tệp đầu vào (input file) và ghi kết quả ra một tệp đầu ra (output file) trong Pascal:
program FileIOExample;
type
MyInputFile = file of Integer;
MyOutputFile = file of Real;
var
inputFile: MyInputFile;
outputFile: MyOutputFile;
num: Integer;
result: Real;
begin
Assign(inputFile, 'input.txt'); // gán tên tệp đầu vào
Reset(inputFile); // mở tệp đầu vào để đọc
Assign(outputFile, 'output.txt'); // gán tên tệp đầu ra
Rewrite(outputFile); // mở tệp đầu ra để ghi
while not EOF(inputFile) do // lặp qua tất cả các số trong tệp đầu vào
begin
Read(inputFile, num); // đọc số từ tệp đầu vào
result := sqrt(num); // tính căn bậc hai của số đó
Write(outputFile, result); // ghi kết quả vào tệp đầu ra
end;
Close(inputFile); // đóng tệp đầu vào
Close(outputFile); // đóng tệp đầu ra
end.
Trong ví dụ này, chúng ta đã định nghĩa hai kiểu tệp mới là MyInputFile và MyOutputFile, lần lượt là kiểu tệp đầu vào và tệp đầu ra của chương trình. Sau đó, chúng ta đã khai báo biến inputFile và outputFile kiểu tương ứng để đại diện cho tệp đầu vào và tệp đầu ra.
Trong thân chương trình, chúng ta đã sử dụng hàm Assign để gán tên tệp đầu vào và tệp đầu ra cho biến tương ứng. Sau đó, chúng ta đã sử dụng hàm Reset để mở tệp đầu vào để đọc, và Rewrite để mở tệp đầu ra để ghi.
Trong vòng lặp while, chúng ta đã sử dụng hàm Read để đọc từng số từ tệp đầu vào và tính căn bậc hai của nó. Sau đó, chúng ta đã sử dụng hàm Write để ghi kết quả vào tệp đầu ra.
Cuối cùng, chúng ta đã sử dụng hàm Close để đóng tệp đầu vào và tệp đầu ra sau khi hoàn tất việc đọc và ghi dữ liệu.

