|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.11.2008, 16:51 | #1 |
Пользователь
Регистрация: 16.11.2008
Сообщений: 23
|
ошибка чтения файла
Надо прочитать bin файл с действительными числами. Пишу:
procedure TForm1.Button1Click(Sender: TObject); var c: real; begin Assignfile(f,'file.bin'); reset(f); while not eof(f) do begin blockread(f,c,sizeof(c)); end; CloseFile(f); end; выдается: project1.exe raised exception class EinOutError with message 'read beyond end of file'. Process stopped. Что не так? |
18.11.2008, 17:07 | #2 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
|
|
18.11.2008, 17:12 | #3 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
А f скопировано с учебника, который не дочитал до конца...
|
18.11.2008, 17:12 | #4 |
Пользователь
Регистрация: 16.11.2008
Сообщений: 23
|
в начале - как глобальная переменная. если объявить в процедуре то тоже самое...
|
18.11.2008, 17:17 | #5 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Значит в файле не действительные числа
пыщь
|
18.11.2008, 17:20 | #6 |
Пользователь
Регистрация: 16.11.2008
Сообщений: 23
|
нет там действительные точно)
|
18.11.2008, 17:44 | #7 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
ааа, блин
blockread(f,c,1); 3й параметр - не размер, а количество блоков, которые надо считать. Размер задаётся явно (f:file of real) или f:file; ... reset(f,sizeof(c));
пыщь
|
18.11.2008, 17:44 | #8 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,690
|
blockread(f,c,sizeof(c));
blockread(f,c,1); А чем собственно read(f,c) не устраивает? |
18.11.2008, 17:53 | #9 |
Пользователь
Регистрация: 16.11.2008
Сообщений: 23
|
заработало когда reset(f,1) написал...
а как read работаяет я не знаю) |
18.11.2008, 18:04 | #10 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
Reset открывает файл по файловой переменной f (она обьявляется заранее и в AssignFile связывается с указанным файлом. А read - процедура считывания данных с файла f.
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++: ошибка при открытии файла | Retiz | Помощь студентам | 2 | 30.08.2008 22:12 |
ошибка чтения | KiSH333 | БД в Delphi | 12 | 22.08.2008 11:09 |
Програма чтения из файла на дельфи | terminadoor | Помощь студентам | 18 | 03.07.2008 18:14 |
Ошибка, связанная с загрузкой из файла! | kayman | Помощь студентам | 5 | 01.06.2008 21:23 |