Làm việc với tệp tin

 

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.



Labels:

Post a Comment

[blogger]

Author Name

Contact Form

Name

Email *

Message *

Powered by Blogger.