Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.10.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.004 c
2-1310110990
leon2011
2011-07-08 11:43
2011.10.30
Как из UTF8 получить WideString


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


15-1310070597
Юрий
2011-07-08 00:29
2011.10.30
С днем рождения ! 8 июля 2011 пятница


15-1309445404
картман_
2011-06-30 18:50
2011.10.30
московское метро


11-1238569778
Дмитрий
2009-04-01 11:09
2011.10.30
Не компилируется KOLComObj





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский