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

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

Наверх




Память: 0.49 MB
Время: 0.016 c
2-1310461223
Abibas
2011-07-12 13:00
2011.10.30
Вопрос по keybd_event


15-1309946338
LDV
2011-07-06 13:58
2011.10.30
Не создается поле в таблице БД


2-1310431807
R_R
2011-07-12 04:50
2011.10.30
TNMUdp


15-1309811398
Юрий
2011-07-05 00:29
2011.10.30
С днем рождения ! 5 июля 2011 вторник


1-1269527151
dorik
2010-03-25 17:25
2011.10.30
Проблема при расчете контрольной суммы и внесении ее в файл.