Форум: "Основная";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];
ВнизЗапись/чтение динамического массива в/из файла - как? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.993 c