Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.06;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.037 c
14-1116741159
veking
2005-05-22 09:52
2005.06.06
Восстановление данных после форматирывания


1-1116676673
antol
2005-05-21 15:57
2005.06.06
как ввести логическое выражение


14-1116438116
pkm
2005-05-18 21:41
2005.06.06
Скачать Help для delphi.


1-1116576122
Layner
2005-05-20 12:02
2005.06.06
Перевод из числа FLOAT в Single (запись из 4 байт)


6-1111177483
Виньдовьсь
2005-03-18 23:24
2005.06.06
Получение MX записей