Вниз
Скачать: CL | DM;

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

 
Raiv ©   (2002-07-10 14:16) [0]

Как прочесть двоичный файл в динамический массив array of Char и использовать j-тый элемент этого массива.


 
Skier ©   (2002-07-10 14:29) [1]

>Raiv
А зачем динамический массив, есть же TFileStream ?


 
Raiv ©   (2002-07-10 14:34) [2]

Пример части кода
FSize:=FileSize(FromF);
SetLength(Buf,FSize);
.......
BlockRead(FromF, Buf, SizeOf(Buf), NumRead);

Как прочитать из Buf[i] какое либо значение?
Просто Buf[10]:="a" - нельзя.


 
Skier ©   (2002-07-10 14:41) [3]

>Raiv


> Как прочитать из Buf[i] какое либо значение?
> Просто Buf[10]:="a" - нельзя.


Не понял ! Говоришь "прочитать", а сам делаешь присваивание...
Логика где ты ? :)


 
Raiv ©   (2002-07-10 14:46) [4]

Суть дела в том, что если я опишу так:
Buf: array [1..400000]of Char;
то нет никаких проблем:
a:=Buf[10] или наоборот Buf[15]:="C"
а вот если описать
Buf: array of Char;
.....
FSize:=FileSize(FromF);
SetLength(Buf,FSize);
......
BlockRead(FromF, Buf, SizeOf(Buf), NumRead);

то черта лысого из этого массивы что вытащишь.


 
Eugene Lachinov ©   (2002-07-10 14:47) [5]

BlockRead(FromF, Pointer(Buf)^, FSize, NumRead);


 
Raiv ©   (2002-07-10 14:47) [6]

Суть дела в том, что если я опишу так:
Buf: array [1..400000]of Char;
то нет никаких проблем:
a:=Buf[10] или наоборот Buf[15]:="C"
а вот если описать
Buf: array of Char;
.....
FSize:=FileSize(FromF);
SetLength(Buf,FSize);
......
BlockRead(FromF, Buf, SizeOf(Buf), NumRead);

то черта лысого из этого массивы что вытащишь.


 
Skier ©   (2002-07-10 14:50) [7]

>Raiv
Приведи, пожалуйста, полностью код чтения из файла.


 
Raiv ©   (2002-07-10 15:17) [8]

БОЛЬШОЕ БОЛЬШОЕ СПАСИБО! Все заработало - только Инет глючит. Провайдера пора на рее повесить.


 
McSimm ©   (2002-07-10 15:17) [9]

var Buf: array of Char;
F: File of Char;
FSize: Integer;
begin
AssignFile(F, "....");
Reset(F);
try
FSize := FileSize(F);
SetLength(Buf, FSize);
BlockRead(F, Buf[0], FSize)
finally
CloseFile(F)
end



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
8-70834
Baron
2002-03-09 18:18
2002.07.22
GLScene


1-70735
Fiend
2002-07-11 16:54
2002.07.22
Handles и Named Pipes


1-70791
Cowboy
2002-07-10 09:11
2002.07.22
Drag&Drop и DblClick


14-70873
Григорий Ситнин
2002-06-24 12:35
2002.07.22
Power Designer 9


6-70841
mrcat
2002-05-13 13:11
2002.07.22
Сокетный клиент/сервер




   Наверх