File văn bản

Một phần của tài liệu Giáo trình và bài tập pascal (Trang 72)

Thành phần cơ bản là ký tự, song có thể được cấu trúc thành các dòng, mỗi dòng được kết thúc bởi CR và LF, CR có mã ASCII là 13 và LF có mã 10. Cuối file sẽ có dấu kết thúc file Ctrl-Z có mã là 26.

Do các dòng có độ dài thay đổi nên không tính trước được vị trí của một dòng trong file. Vì vậy file dạng Text chỉ có thể đệoc xử lý một cách tuần tự.

3.1. Khai báo

Var <Tên biến file>: Text;

3.2. Các thủ tục và hàm chỉ tác động trên file dạng text

3.2.1. Thủ tục Append

Cú pháp: Append(F);

Chức năng: Mở file đã tồn tại để bổ sung nội dung vào cuối file.

3.2.2. Thủ tục Readln

Cú pháp: Readln(F,x);

Chức năng: Đọc một dòng từ vị trí con trỏ file và gán cho biến x. Thực hiện xong, con trỏ file sẽ chuyển về đầu dòng tiếp theo. Biến x có thể nhận các kiểu: Char, String hoặc kiểu số.

3.2.3. Thủ tục Writeln

Cú pháp: Writeln(F, x);

Chức năng: Ghi giá trị x vào file ở vị trí con trỏ file. Kết thúc thủ tục, con trỏ file sẽ chuyển về đầu dòng sau.

Chú ý:

Máy in được xem là một file dạng text, và biến được mở sẵn trong Unit Printer cho file này là LST. Vì vậy để in một dòng St ra máy in ta có thể dùng lệnh Writeln(LST,St).

3.2.4. Thủ tục Flush

Cú pháp: Flush(F);

Chức năng: Cập nhật nội dung của file có tên gán cho biến file F mà không cần dùng thủ tục Close và vẫn có thể thao tác trên file.

3.2.5. Thủ tục SetTextBuf

Cú pháp: SetTextBuf(F, x);

Chức năng: Thay đổi vùng nhớ đệm dành cho file dạng text với kích thước cho bởi biến x. Mặc định vùng nhớ này là 128 byte.

Chú ý:

Thủ tục này phải được gọi trước các thủ tục mở file: Reset, Rewrite, Append.

3.2.6. Hàm EOLn

Cú pháp: EOLn(F);

Chức năng: Hàm trả về giá trị True nếu con trỏ đang ở cuối một dòng, ngược lại hàm trả về giá trị False.

Chú ý:

• Các thủ tục và hàm không sử dụng được đối với file dạng text: Seek, FilePos, FileSize.

• Sau đây là các thao tác cơ bản khi xuất nhập file:

Ghi dữ liệu vào file Đọc dữ liệu từ file

ASSIGN(f,FileName); REWRITE(f); ... WRITE(f,value); ... CLOSE(f); ASSIGN(f,FileName); RESET(f); ...

While Not EOF(f) Do Begin READ(f,x); ... End; ... CLOSE(f);

Một phần của tài liệu Giáo trình và bài tập pascal (Trang 72)

Tải bản đầy đủ (DOC)

(144 trang)
w