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

Вниз

Бинарные файлы   Найти похожие ветки 

 
VKSam ©   (2004-09-06 15:55) [0]

Как читать из бинарного файла определенное количество байт. При этом чтобы в функцию BlockRead(file, buf, count) массив buf был динамическим. если объявлять buf: array of char и устанавливать setlength(buf,n) при чтении блока переменная buf пуста. Что можно сделать в связи с этим.


 
Reindeer Moss Eater ©   (2004-09-06 15:57) [1]

Что можно сделать в связи с этим.
Прочитать про работу с указателями.


 
Defunct ©   (2004-09-06 16:20) [2]

>  Что можно сделать в связи с этим.

Вам не нужен SetLength, вам нужен GetMem/FreeMem.

PByteArray = ^TByteArray;
TByteArray = array[1..$10000] of byte/char;

P : PByteArray;

GetMem(P, <скока надо>);
BlockRead( F, P^, <скока надо>);


 
PVOzerski ©   (2004-09-06 17:22) [3]

>чтобы в функцию BlockRead(file, buf, count) массив buf был динамическим
[2] - это вполне правильный путь, притом годится и для ранних версий Delphi. Но можно работать и с динамическими массивами array of <тип>. Только тогда писать надо в начальный элемент массива, вот так: BlockRead(file, buf[0], count). Естественно, SetLength должен быть раньше, чем BlockRead.


 
Суслик ©   (2004-09-06 17:30) [4]

Если не ошибаюсь то и так можно
BlockRead(file, pointer(buf)^, count).


 
RomeoGolf   (2004-09-06 17:40) [5]

А что, обязательно через буфер? А если, скажем, File Of Byte, и читать нужное количество байт в массив. Я примерно так и делал, хотя, возможно, неправильно понял вопрос.


 
PVOzerski ©   (2004-09-06 18:48) [6]

2RomeoGolf:
Так, конечно, можно, но будет очень медленно. Ощутимо медленнее, чем сразу в массив через blockread.


 
VKSam ©   (2004-09-07 13:54) [7]

Огромное спасибо!


 
VKSam ©   (2004-09-07 13:54) [8]

Огромное спасибо!



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

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

Наверх




Память: 0.48 MB
Время: 0.028 c
1-1094044863
GrayFace
2004-09-01 17:21
2004.09.19
Чем отличается Ctrl+F1 от F1?


1-1094424402
Tom
2004-09-06 02:46
2004.09.19
Картинка в StringGrid


14-1093733971
Тупой
2004-08-29 02:59
2004.09.19
Люди а как с КОДОМ? а


14-1093920830
КаПиБаРа
2004-08-31 06:53
2004.09.19
Помогите скачать файл


14-1093938568
Prohodil Mimo
2004-08-31 11:49
2004.09.19
Алгоритм шифрования паролей на суд народа :о)