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

Запись/чтение динамического массива в/из файла - как?   Найти похожие ветки 

 
Vi   (2005-05-21 07:36) [0]

var a:array[0..10] of longword; <----- если задано статически, то получается -

fileopen, fileseek, fileread(дескриптор файла,a,sizeof(a)); fileclose(дескриптор файла);

если массив создан с setlength = не получается.
как осуществить?

получается только с динамическим массивом байтов...
getmem(dd,sk); fileseek(d,ofs,0); fileread(d,dd^,sk);


 
begin...end ©   (2005-05-21 08:02) [1]

var
 a: array of Longword;
begin
 SetLength(a, 11);
 ...
 // Чтение
 FileRead(дескриптор_файла, a[0], Length(a) * SizeOf(a[0]));
 ...
 // Запись
 FileWrite(дескриптор_файла, a[0], Length(a) * SizeOf(a[0]));
 ...
end.


 
charlie   (2005-05-21 08:04) [2]

var
 A: array of LongWord;
 LW: LongWord;

 // запись
 with TFileStream.Create("F:\array", fmCreate) do
 try
   LW := Length(A);
   Write(LW, SizeOf(LongWord));
   Write(PChar(A)^, LW*SizeOf(LongWord));
 finally
   Free
 end;

 //чтение
 with TFileStream.Create("F:\array", fmOpenRead) do
 try
   Read(LW, SizeOf(LongWord));
   SetLength(A, LW);
   Read(PChar(A)^, LW*SizeOf(LongWord));
 finally
   Free
 end;


 
Vi   (2005-05-21 08:25) [3]

Спасибо! то что нужно!



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

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



Память: 0.45 MB
Время: 0.021 c
1-1116501587
Vir
2005-05-19 15:19
2005.06.06
Смена фокуса


14-1116586617
lookin
2005-05-20 14:56
2005.06.06
Новый альбом ДДТ


6-1111511576
Radgar
2005-03-22 20:12
2005.06.06
ServerSocket


4-1111909900
Shiza
2005-03-27 11:51
2005.06.06
Запись CD. Попробуем вместе?


10-1093519090
araven
2004-08-26 15:18
2005.06.06
Список активных DCOM приложений




   Наверх