![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запись в файл данных динамического массива
bestolkov © (2011-07-12 09:49:00)Добрый день!Существует ли быстрый способ записи в файл данных динамического массива?Поэлементно уж очень долго...
Сергей М. (2011-07-12 11:22:00) [1]
> RWolf © (12.07.11 11:14) [12]
>
> if i<>0 then
Если не заморачиваться производительностью алгоритма, то это лишнее.
~ (2011-07-12 11:17:00) [2]
> Сергей М. © (12.07.11 11:09) [10]
"Либо" засчитано )) +1
RWolf (2011-07-12 11:14:00) [3]
if i<>0 then
FileStream.WriteBuffer(MyDynArray[0], i*SizeOf(TRecord));
Сергей М. (2011-07-12 11:09:00) [4]
> Есть либо писать
Это уж автору решать - либо есть либо писать)
А объем съедаемого либо писаемого автором нифига не озвучен, зато озвучено вполне определенное требование - файл. Потому и FileStream. А уж что за ним скрывается - это домашнее задание автору)
Плохиш (2011-07-12 11:09:00) [5]
> ~ (12.07.11 10:55) [9]
>
>
> > Сергей М. © (12.07.11 10:05) [5]
>
>
> тип "FileStream" нифига не озвучен.
Это домашнее задание.
~ (2011-07-12 10:55:00) [6]
> Сергей М. © (12.07.11 10:05) [5]
тип "FileStream" нифига не озвучен.
Поясню: Есть либо писать в память, либо на хард. При больших объемах разница существенна
Сергей М. (2011-07-12 10:25:00) [7]
> Можно только второй мах оставить
Разумеется, можно и только второй, если в этот файл больше ничего записано не будет.
Омлет (2011-07-12 10:22:00) [8]> раз мах
Можно только второй мах оставить )
> Поэлементно уж очень долго...
Это сколько же у вас элементов?
bestolkov (2011-07-12 10:21:00) [9]Исчерпывающе, большое спасибо!
Сергей М. (2011-07-12 10:05:00) [10]
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:02:00) [11]Trecord =
B : byte;
A: array[0..3] of real
Ab:array [0..3] of real
Сергей М. (2011-07-12 09:58:00) [12]
> Trecord
Смотря что за TRecord ..
bestolkov (2011-07-12 09:57:00) [13]DataArray : array of Trecord
Сергей М. (2011-07-12 09:54:00) [14]Смотря что за массив ..
Кое-какие можно в два маха записать, а прочие в N махов ..