Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.06.19;
Скачать: [xml.tar.bz2];

Вниз

Чтение двоичных файлов   Найти похожие ветки 

 
Zirus   (2003-04-12 15:53) [0]

Здравствуйте! Имеем файл. Требуется прочитать его readblock-ами. (Какой оптимальный размер блока?) И как создать буффер на 1к(пусть будет такой буффер)?
Как быть, когда до конца файла осталось <8 байт - а блок=8 байт? Вылетает ошибка!


 
MBo   (2003-04-12 16:15) [1]

>Вылетает ошибка!
Ты не используешь последний параметр процедуры - количество реально считанных записей. С ним будет все нормально.

размер блока разумно делать пропорциональным размеру кластера винчестера - 512,1024,2048, 4096 байт и т.д. Для больших винчестеров - 4096 и более предпочтительно.

var Buf:array[0..4095] of byte;


 
Zirus   (2003-04-12 16:48) [2]

Спасибо!
если кому понадобится - вот текст(копирование файла).

procedure TForm1.Button1Click(Sender: TObject);
var x: array[1..16384] of byte;
y: integer;
f,f1:file;
begin
assignfile(f,"C:\baikal\MapRastr\Map0.bmp");
assignfile(f1,"c:\6.");
rewrite(f1);
reset(f1,1);
reset(f,1);
while eof(f)=false do begin
blockread(f,x,16384,y);
//edit1.text:=edit1.text+x;
blockwrite(f1,x,y);
end;
closefile(f);
closefile(f1);
end;


 
MBo   (2003-04-12 16:53) [3]

BTW, СopyFile имеется


 
Anatoly Podgoretsky   (2003-04-12 18:21) [4]

И особоизвращенная версия СopyFileEx

Надо вхять за правило не писать, тчо что имеет ся в системе


 
Zirus   (2003-04-14 12:27) [5]

1) моя версия копирования работает на 10-15% быстрее аналогичной виндовой.
2) копирование - частный случай. мне надо было не для этого.


 
Anatoly Podgoretsky   (2003-04-14 12:33) [6]

Есть маленькая разница, виндоуская работает, а твоя нет.
Вот совсем быстрая неработающая процедура
procedure CopyFu(Src,Dst: string);
begin
end;


 
LEON   (2003-04-14 22:29) [7]

а в досе то нет?



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

Форум: "Система";
Текущий архив: 2003.06.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
3-60080
first_aid@hotbox.ru
2003-05-27 11:52
2003.06.19
Как заставить обновится вычисляемое поле


11-60098
Alexander
2002-09-22 12:30
2003.06.19
Странное поведение свойства Align:


11-60099
Alexander
2002-09-25 16:06
2003.06.19
Эквивалентны ли функции StrIComp из StrUtils и StrComp из KOL?


3-60029
prihod
2003-05-27 15:52
2003.06.19
??? Как обновлять TDBGrid ???


1-60165
tasman
2003-06-06 06:51
2003.06.19
Динамическое назначение event у компоненты NMPop3 (из FastNet)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский