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

Вниз

File of...   Найти похожие ветки 

 
Влад   (2007-01-05 20:54) [0]

Столкнулся с такой проблемой. При размере файла, кратном 8 (2 longword"a) нижеследующий код работает прекрасно. Однако если размер не кратен 8, то конец файла "обрезается". Конечно, можно читать файл побайтно, но тогда проигрываешь в оптимизации. Подскажите пожалуйста решение этой проблемы.

var fi,fo:file of longword;
L,R:longword;
begin
assignfile(fi,f_in);
reset(fi);
assignfile(fo,f_out);
rewrite(fo);
while not eof(fi) do begin
read(fi,L,R);
....//преобразования
write(fo,L,R);
end;
closefile(fi);
closefile(fo);
end;


 
Palladin ©   (2007-01-05 20:55) [1]

blockread + F1
TFileStream + F1


 
Влад   (2007-01-05 20:58) [2]

А поподробнее?


 
Влад   (2007-01-05 21:03) [3]

Blockread - то же самое, дальше Count*RecSize не читает.


 
Palladin ©   (2007-01-05 21:09) [4]

для особо одаренных

var
buf:array [1..32768] of byte;
f:file;
i,n:integer;

assignfile(f,...); reset(f,1);
repeat
blockread(f,buf,sizeof(buf),n);
for i:=1 to n do четоделаемсбайтом(buf[i]);
until n=0;
closefile(f);



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

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

Наверх




Память: 0.47 MB
Время: 0.076 c
2-1167305531
vain
2006-12-28 14:32
2007.01.21
Сообщение о закрытии от Винды.


1-1164733553
Piter_Sid
2006-11-28 20:05
2007.01.21
StringGrid


2-1167664055
-John-Doe-
2007-01-01 18:07
2007.01.21
Есть TListView в режиме Raport


2-1167293326
Neket
2006-12-28 11:08
2007.01.21
Процессы


15-1167081702
IMHO
2006-12-26 00:21
2007.01.21
Об убийстве ветки "Москва, 1941-й год..."