Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Ошибка

Автор: -Катя- 16.03.2008 20:52

Помогите!!! При запуске программы появляется сообщение об ошибке Disk read error. Что она значит и как от неё избавится?

Автор: renesko1 16.03.2008 21:39

100 disk read error

(Ошибка чтения диска)

Ошибка генерируется процедурой read в типизираванном файле при попытки осуществить
считываыние после конца файла.

(из умной книги)

Автор: -Катя- 16.03.2008 21:51

Я об этом тоже прочитала наверно в той же умной книге. А кто-нибудь сможет объяснить по-русски как от неё избавиться?

Автор: renesko1 16.03.2008 21:57

попробуй чтение файла засунуть в цикл
while not eof do
begin
читаем
end

"eof(var f) : boolean

Возр значение true если достигнут конец файла.
Это значит что прочитан последний элемент в файле или файл после открытия оказался пуст."
(из умной книги)

Автор: volvo 16.03.2008 22:03

Цитата
А кто-нибудь сможет объяснить по-русски как от неё избавиться?
Без программы - тебе на форум телепатов, причин может быть очень много...

Автор: andriano 16.03.2008 23:05

Да, телепатировать можно долго.
Навскидку, несколько различных возможных причин:
1. Файл открывается с длиной записи по умолчанию 128 байт, а попытки чения из него как с однобайтовыми записями.
2. Записи отсчитываются от 1, тогда как надо от нуля => проблема при чтении последнего блока.
3. Размер структуры в файле и программе различается.
4. Ошибка с подсчетом считанных блоков.
5. В файле совсем не столько записей, сколько ты думаешь.
Думаю, это еще далеко не все.
Так какая из возможных причин тебе больше нравится?