Trả lời :
Rất tiếc là bạn không trình bày chính xác source code của đoạn chương trình Pascal gây lỗi nên chúng tôi không thể trả lời chính xác được. Về nguyên tắc, việc mở file để đọc nội dung của nó luôn thành công bất chấp file đó có thuộc tính Read-Only hay không. Lưu ý là trước khi gọi hàm Reset(f) để mở file, bạn nên thiết lập biến FileMode = READ_ONLY để mở thành công file có thuộc tính Read-Only. Sau đây là 1 chương trình Pascal nhỏ demo cho việc mở 1 file text (đang có thuộc tính Read-Only hay đang nằm trên CDROM), đọc từng byte vào rồi hiển thị ký tự tương ứng của byte đó ra màn hình.
{Chương trình demo cho việc Reset file Read-Only}
Program TestReadFile;
var
f: File of Byte;
FileName : String;
code : Byte;
begin
FileName := 'd:\at1ed.txt';
{$I-}
Assign(f, FileName);
FileMode := 0; { thiết lập chế độ truy xuất Read-Only }
Reset(f);
{$I+}
if(IOResult = 0) then
{đọc từng byte và hiển thị lên màn hình }
while (not eof(f)) do begin
Read(f,code);
write(chr(code));
end
else
' nếu có lỗi thì thường là không có file
writeln('Khong co file ',FileName);
readln;
end.