![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Чтение двоичного файла. [D6]
Raiv © (2002-07-10 14:16:00)Как прочесть двоичный файл в динамический массив array of Char и использовать j-тый элемент этого массива.
Raiv (2002-07-10 15:17:00) [1]БОЛЬШОЕ БОЛЬШОЕ СПАСИБО! Все заработало - только Инет глючит. Провайдера пора на рее повесить.
McSimm (2002-07-10 15:17:00) [2]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
Skier (2002-07-10 14:50:00) [3]>Raiv
Приведи, пожалуйста, полностью код чтения из файла.
Eugene Lachinov (2002-07-10 14:47:00) [4]BlockRead(FromF, Pointer(Buf)^, FSize, NumRead);
Raiv (2002-07-10 14:47:00) [5]Суть дела в том, что если я опишу так:
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);
то черта лысого из этого массивы что вытащишь.
Raiv (2002-07-10 14:46:00) [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:41:00) [7]>Raiv
> Как прочитать из Buf[i] какое либо значение?
> Просто Buf[10]:="a" - нельзя.
Не понял ! Говоришь "прочитать", а сам делаешь присваивание...
Логика где ты ? :)
Raiv (2002-07-10 14:34:00) [8]Пример части кода
FSize:=FileSize(FromF);
SetLength(Buf,FSize);
.......
BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
Как прочитать из Buf[i] какое либо значение?
Просто Buf[10]:="a" - нельзя.
Skier (2002-07-10 14:29:00) [9]>Raiv
А зачем динамический массив, есть же TFileStream ?