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

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

← →
bestolkov   (2011-07-12 09:49) [0]

Добрый день!Существует ли быстрый способ записи в файл данных динамического массива?Поэлементно уж очень долго...


← →
Сергей М. ©   (2011-07-12 09:54) [1]

Смотря что за массив ..
Кое-какие можно в два маха записать, а прочие в N махов ..


← →
bestolkov   (2011-07-12 09:57) [2]

DataArray : array of Trecord


← →
Сергей М. ©   (2011-07-12 09:58) [3]


> Trecord


Смотря что за TRecord ..


← →
bestolkov   (2011-07-12 10:02) [4]

Trecord =
B : byte;
A: array[0..3] of real
Ab:array  [0..3] of real


← →
Сергей М. ©   (2011-07-12 10:05) [5]

var
 i: Integer;
MyDynArray: array of TRecord;
..
i := Length(MyDynArray);
FileStream.WriteBuffer(i, SizeOf(i)); // раз мах
FileStream.WriteBuffer(MyDynArray[0], i*SizeOf(TRecord)); // два мах



← →
bestolkov   (2011-07-12 10:21) [6]

Исчерпывающе, большое спасибо!


← →
Омлет ©   (2011-07-12 10:22) [7]

> раз мах

Можно только второй мах оставить )

> Поэлементно уж очень долго...

Это сколько же у вас элементов?


← →
Сергей М. ©   (2011-07-12 10:25) [8]


> Можно только второй мах оставить


Разумеется, можно и только второй, если в этот файл больше ничего записано не будет.


← →
~   (2011-07-12 10:55) [9]


> Сергей М. ©   (12.07.11 10:05) [5]


тип "FileStream" нифига не озвучен.
Поясню: Есть либо писать в память, либо на хард. При больших объемах разница существенна


← →
Сергей М. ©   (2011-07-12 11:09) [10]


> Есть либо писать


Это уж автору решать - либо есть либо писать)
А объем съедаемого либо писаемого автором нифига не озвучен, зато озвучено вполне определенное требование - файл. Потому и FileStream. А уж что за ним скрывается - это домашнее задание автору)


← →
Плохиш ©   (2011-07-12 11:09) [11]


> ~   (12.07.11 10:55) [9]
>
>
> > Сергей М. ©   (12.07.11 10:05) [5]
>
>
> тип "FileStream" нифига не озвучен.

Это домашнее задание.


← →
RWolf ©   (2011-07-12 11:14) [12]

if i<>0 then
 FileStream.WriteBuffer(MyDynArray[0], i*SizeOf(TRecord));


← →
~   (2011-07-12 11:17) [13]


> Сергей М. ©   (12.07.11 11:09) [10]


"Либо" засчитано )) +1


← →
Сергей М. ©   (2011-07-12 11:22) [14]


> RWolf ©   (12.07.11 11:14) [12]
>
> if i<>0 then


Если не заморачиваться производительностью алгоритма, то это лишнее.



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

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



Память: 0.48 MB
Время: 0.006 c
15-1309984198
Юрий
2011-07-07 00:29
2011.10.30
С днем рождения ! 7 июля 2011 четверг


15-1309638600
Юрий
2011-07-03 00:30
2011.10.30
С днем рождения ! 3 июля 2011 воскресенье


15-1309877734
oleg1963lora
2011-07-05 18:55
2011.10.30
Как назвать UltraISO, Daemon и т.д. общим словом?


15-1309875609
Сергей
2011-07-05 18:20
2011.10.30
Проблема установски delphi 7 на windows 7


15-1309764636
Andy BitOff
2011-07-04 11:30
2011.10.30
Кто как решает задачу...




   Наверх