Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.01;
Скачать: CL | DM;

Вниз

размер блока кратен размеру файты. eof не работает.   Найти похожие ветки 

 
Zirus ©   (2003-04-18 10:42) [0]

Здравствуйте! Имеем двоичный файл случайного размера. Читаем блоки по 64 байт. Если размер файла кратен 64 - eof не работает! в blockread(fi,x,64,i) i никогда не будет меньше 64, даже если файл закончился! Также не помогает условие if filepos(fi)>filesize(fi) then r:=0! Тут программа вылетает с ошибкой... Как можно решить данную проблему?


var x: array[1..64] of byte;
i: integer;
f: file;
begin
if OpenDialog1.Execute then
begin
AssignFile(fi, OpenDialog1.FileName);
reset(fi,1);
end;
if r=0 then ...
1:
if r=1 then begin
blockread(fi,x,64,i);
if i<64 then r:=0;
if eof(fi)=true then r:=0;
...
end;
goto 1


 
Palladin ©   (2003-04-18 10:57) [1]

Reset(fi,1)
repeat
BlockRead(fi,x,64,i)
блабла
until i=0;
closefile(fi);


 
Cobalt ©   (2003-04-18 12:17) [2]

filepos(fi) >=filesize(fi)


 
Anatoly Podgoretsky ©   (2003-04-18 12:24) [3]

Palladin © (18.04.03 10:57)
goto куда девал зараза?


 
Palladin ©   (2003-04-18 12:28) [4]

:)
ой...
куда то исчезло незаметно...



Страницы: 1 вся ветка

Текущий архив: 2003.05.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-531
Алексей
2003-04-21 08:39
2003.05.01
Как выполнить exe файл из программы на Делфи?


7-816
SB
2003-03-11 15:37
2003.05.01
Падает print диалог в Windows XP


4-829
cult
2003-03-04 13:15
2003.05.01
Как происходит закрытие меню?


3-406
anton2v
2003-04-11 14:47
2003.05.01
Программное задание IDLanguage


4-827
Sirus
2003-03-04 08:42
2003.05.01
Как создать форму со свойствами Панели задач или Панели Office???