D On in d= ini, li m, inc
Những đặc điểm bổ sung về file 11.1 Các file nội tại (Internal Files)
11.3. Các file truy cập trực tiếp (Direct-Access Files)
Các bản ghi trong các file truy cập trực tiếp được truy cập không theo cách tuần tự, mà theo thứ tự được chỉ định trong chương trình. Khi một file trực tiếp được mở,
chỉ định ACCESS trong lệnh OPEN phải đặt là ‘DIRECT’ và độ dài của bản ghi phải được cho với chỉ định RECL. Các lệnh READ và WRITE phải chứa chỉ định REC để cung cấp số hiệu của bản ghi cần truy cập.
Dạng tổng quát của các lệnh READ hoặc WRITE với file truy cập trực tiếp như sau:
READ (Số hiệu file, nhãn lệnh FORMAT,
* REC = Biểu thứ nguyên) Danh sách biến
WRITE (Số hiệu file, nhãn lệnh FORMAT,
* REC = Biểu thức nguyên) Danh sách biến
trực tiếp. Tuỳ chọn END có thể chỉ dùng với lệnh READ. Khi tổ chức file truy cập trực tiếp, người ta thường sử dụng số thứ tự hoặc số hiệu phân biệt - một phần của bản ghi làm số hiệu bản ghi. Thí dụ các số hiệu phân biệt của sinh viên trong một trường đại học thường bắt đầu bằng 00001 rồi đến 00002... Do đó thơng tin về sinh viên số 00210 có thể được lưu trong bản ghi 210. Đơi khi có thể thực hiện một số tính tốn với một trường của bản ghi để nhận được số hiệu của nó.
File truy cập trực tiếp thường được tạo ra bằng cách ghi thông tin vào một cách tuần tự, với bản ghi bắt đầu bằng 1 và tăng lên 1 mỗi lần có một bản ghi mới được viết vào. File này có thể xử lý theo thứ tự tuần tự bằng cách thay đổi số hiệu bản ghi từ 1 đến tổng số tất cả các bản ghi. Tuy nhiên, ưu điểm của file trực tiếp sẽ thể hiện rõ khi chúng ta muốn cập nhật thông tin trong một số bản ghi của file. Thay vì đọc từng bản ghi một cách tuần tự, tìm bản ghi mà ta muốn cập nhật, ta chỉ cần chỉ định số hiệu bản ghi và bản ghi đó tự động được xử lý. Khi cập nhật thông tin xong, ta có thể ghi thơng tin mới vào bản ghi. Nếu trong lệnh READ ta chỉ định một số hiệu bản ghi mà bản ghi đó khơng tồn tại thì sẽ xảy ra lỗi. Để khơi phục lỗi, chỉ định ERR cần phải có mặt trong lệnh READ.