![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#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. Что не так? |
![]() |
![]() |
![]() |
#2 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
![]()
А f скопировано с учебника, который не дочитал до конца...
![]() |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 16.11.2008
Сообщений: 23
|
![]()
в начале - как глобальная переменная. если объявить в процедуре то тоже самое...
|
![]() |
![]() |
![]() |
#5 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Значит в файле не действительные числа
пыщь
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 16.11.2008
Сообщений: 23
|
![]()
нет там действительные точно)
|
![]() |
![]() |
![]() |
#7 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
ааа, блин
![]() blockread(f,c,1); 3й параметр - не размер, а количество блоков, которые надо считать. Размер задаётся явно (f:file of real) или f:file; ... reset(f,sizeof(c));
пыщь
|
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
![]()
blockread(f,c,sizeof(c));
blockread(f,c,1); А чем собственно read(f,c) не устраивает? |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 16.11.2008
Сообщений: 23
|
![]()
заработало когда reset(f,1) написал...
а как read работаяет я не знаю) |
![]() |
![]() |
![]() |
#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 |