Вниз
Скачать: 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.009 c
1-70822
eruc
2002-07-09 17:51
2002.07.22
string ???


1-70725
AlexAlex
2002-07-11 10:05
2002.07.22
Работа с TShellListView


14-70894
Sirus
2002-06-15 16:41
2002.07.22
Нужно работать с файлом *.DBF без BDE... То есть прога должна


1-70781
eruc
2002-07-09 22:10
2002.07.22
ListBox1


8-70835
Olgerd
2002-03-15 20:08
2002.07.22
Текст на прозрачной фоне.




   Наверх