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

Вниз

Как записать в файл массив размером 8 точек на миллион   Найти похожие ветки 

 
yuraspb ©   (2006-11-16 16:27) [160]

Удалено модератором


 
Андрей Сенченко ©   (2006-11-16 16:27) [161]


> Anatoly Podgoretsky ©   (16.11.06 16:20) [148]
> > Сергей М.  (16.11.2006 15:04:45)  [105]
>
> Борис ты не прав!
>
> 8 * 1000000 * 6 = 48000000 ~ 50mb
> 8 * 1000000 * 8 = 48000000 = 64mb


Все срочно топтать Подгорецкого ! Наконец то облажался :) Пустячок, а все-же :)


 
yuraspb ©   (2006-11-16 16:28) [162]

Удалено модератором


 
Anatoly Podgoretsky ©   (2006-11-16 16:28) [163]

> Сергей М.  (16.11.2006 16:25:37)  [157]

Тебе тоже не стоит наезжать, из-за тебя я ветку не закрою, есть и другое,
Что не можешь послать подальше без наезда?


 
Плохиш ©   (2006-11-16 16:29) [164]


> Андрей Сенченко ©   (16.11.06 16:27) [161]

Дождался? Деточка.


 
Anatoly Podgoretsky ©   (2006-11-16 16:29) [165]

> yuraspb  (16.11.2006 16:23:34)  [154]

Ответ уже давали, повторяться нет смысла. Сам можешь перечитать ветку.


 
Андрей Сенченко ©   (2006-11-16 16:29) [166]


> Плохиш ©   (16.11.06 16:29) [164]


Не а .. случайно напоролся


 
Anatoly Podgoretsky ©   (2006-11-16 16:30) [167]

> yuraspb  (16.11.2006 16:19:27)  [147]

Наезжал или нет, это мне решать, совсем необзательно, чтобы наши представления совпадали.


 
Stanislav ©   (2006-11-16 16:30) [168]

А через TStream неполучится ?

Ты его по частям разбей.
А нафига тебе такой большой массив?


 
Плохиш ©   (2006-11-16 16:31) [169]


> Anatoly Podgoretsky ©   (16.11.06 16:28) [163]

Может стоит в "Потрепаться" отправить?


 
MikePetrichenko ©   (2006-11-16 16:31) [170]

Я рыдаю...
С просоня это в сам раз.

В который раз. Для тех кто в танке:
Memory Mapped File
Если очень нужны массивы:
array [0..0] of Byte (Integer, Real, Word).

Для обработать и читать FILE_SHARE_READ.

Открыть MSDN и читать до просветления указанные темы.


 
Anatoly Podgoretsky ©   (2006-11-16 16:32) [171]

> Андрей Сенченко  (16.11.2006 16:27:41)  [161]

А ты смотри после второго знака равно, может и топтать не придется, а за первый знак равно топтать китайцев!!!


 
yuraspb ©   (2006-11-16 16:32) [172]


> Stanislav ©   (16.11.06 16:30) [168]
> А через TStream неполучится ?
>
> Ты его по частям разбей.
> А нафига тебе такой большой массив?

через TStream не пробовал, такой надо.


 
Плохиш ©   (2006-11-16 16:32) [173]


> Плохиш ©   (16.11.06 16:31) [169]
>
> > Anatoly Podgoretsky ©   (16.11.06 16:28) [163]
>
> Может стоит в "Потрепаться" отправить?

Хотя нет, после Stanislav ©   (16.11.06 16:30) [168] можно ещё здесь подержать, посмотреть на результат :-)


 
Андрей Сенченко ©   (2006-11-16 16:36) [174]


> Anatoly Podgoretsky ©   (16.11.06 16:32) [171]


Злой Вы какой-то стали, Анатолий, за те пару лет что я здесь не был. Может Новопасситику предложить ?

*уходит топтать китайцев*


 
yuraspb ©   (2006-11-16 16:37) [175]

Да тут все какие-то злые


 
yuraspb ©   (2006-11-16 16:38) [176]


> Для обработать и читать FILE_SHARE_READ.

Спасибо, пошёл искать в мсдн


 
Anatoly Podgoretsky ©   (2006-11-16 16:41) [177]

> Андрей Сенченко  (16.11.2006 16:29:46)  [166]

Все мы случайно напоролись, кто же знал, что здесь мины.


 
Anatoly Podgoretsky ©   (2006-11-16 16:41) [178]

> Плохиш  (16.11.2006 16:31:49)  [169]

Рано, вот уже и код стал приводить, только зубы показывает.


 
Anatoly Podgoretsky ©   (2006-11-16 16:42) [179]

> Андрей Сенченко  (16.11.2006 16:36:54)  [174]

Устаем


 
Stanislav ©   (2006-11-16 16:51) [180]

У меня через stream  все работает, файл получился 64 мб.


 
ANB ©   (2006-11-16 16:51) [181]


> yuraspb ©   (16.11.06 16:38) [176]

15000 - это евро или баксов ? Я готов за 10000 все сделать.


 
ANB ©   (2006-11-16 16:52) [182]


> Я готов за 10000 все сделать

но в евро


 
ANB ©   (2006-11-16 16:54) [183]


> Stanislav ©   (16.11.06 16:51) [180]
> У меня через stream  все работает, файл получился 64 мб.
>

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


 
MikePetrichenko ©   (2006-11-16 16:57) [184]


> У меня через stream  все работает, файл получился 64 мб.

Можно и Stream. Но c Memory Mapped проще потом читать сырые данные из того же файла в который пишем и обрабатывать.

Хотя в данном случае разницы нет.


 
yuraspb ©   (2006-11-16 17:11) [185]


> ANB ©   (16.11.06 16:51) [181]
>
> > yuraspb ©   (16.11.06 16:38) [176]
>
> 15000 - это евро или баксов ? Я готов за 10000 все сделать.
>

я тебя за бесплатно не возьму


 
yuraspb ©   (2006-11-16 17:12) [186]


> Stanislav ©   (16.11.06 16:51) [180]
> У меня через stream  все работает, файл получился 64 мб.
>

Станислав спасибо, поделитесь исходниками )


 
ANB ©   (2006-11-16 17:12) [187]


> MikePetrichenko ©   (16.11.06 16:57) [184]

На хорошем компе стрим кэшируется. можно и писать и читать. а на тормозном эту хрень все равно без толку запускать.
Кроме того MMF штука не сильно простая, вряд ли автор ее одолеет.


 
Jeer ©   (2006-11-16 17:18) [188]

Мужики, да фигню нам тут вешает автор сабжа.

У него явно попытка производить случайные перестановки в чужом коде, до смысла которого мозг не в состоянии дотянуться и получить работающий результат.

Автору сабжа - начать все с нуля и, прежде всего, с описания режимов работы device.

Намек уже давался - читать порциями из АЦП и скидывать в файл(ы), именуя их по дате/времени.

Более того, практически все современные PCI-ADC имеют внутренний буфер определенного объема, что безусловно позволяет снизить частоту чтения и сброса в файл(ы)


 
yuraspb ©   (2006-11-16 17:19) [189]

Всем спасибо, Особенно Станиславу, я жду Ваш исходник


 
Stanislav ©   (2006-11-16 17:23) [190]

yuraspb ©   (16.11.06 17:19) [189]
Я его не сохранил :-)
Примерно так.
a-массив.
...
Var S:TMemoryStream;
Begin
S:=TMemoryStream.Create;
S.Write (a,Sizeof(a));
S.SaveToFile("MyFile.dat");
S.free;

end;


 
MikePetrichenko ©   (2006-11-16 17:25) [191]


> Всем спасибо, Особенно Станиславу, я жду Ваш исходник

var
 Data: TFileStream;
 AData: Byte; // Seems like device returns byte.
begin
 Data := TFileStream.Create(".\data.dat", fmCreate);

 While ReadDataFromDevice(AData) do Data.Write(AData);

 Data.Free;
end;


Это алгоритм. Полный код - $300


 
fog   (2006-11-16 17:57) [192]

Интересно, а frminit.Chart1 резиновый? отрисовать 8*100000 точек в сек.

Все так увлеклись записью на диск, что про это забыли или забили...


 
Jeer ©   (2006-11-16 18:06) [193]


> fog   (16.11.06 17:57) [192]


Там много веселого.


 
MikePetrichenko ©   (2006-11-16 19:34) [194]


> Интересно, а frminit.Chart1 резиновый? отрисовать 8*100000
> точек в сек.

Ага. А девайс выдает 800000 единиц инфы и все. Потом умирает... Что вы так к этому размеру прицепились.
Созранять нудно подряд все. Потом иметь доступ к сохраненным данным.
А отрисовывать "окно" из этих данных.


 
yuraspb ©   (2006-11-16 20:13) [195]

всё работает )


 
fog   (2006-11-16 20:23) [196]

>Что вы так к этому размеру прицепились.
Дело не в размере, хотя он тоже имеет значение :))

>Созранять нудно подряд все.
Согласен на 100 %.

Есть такое понятие - масштаб. => Так ли жизненно необходимо выводить КАЖДУЮ точку? Для примера - любой аудио редактор.



Страницы: 1 2 3 4 5 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.12.03;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.79 MB
Время: 0.053 c
15-1163684840
Тот, который спрашивает
2006-11-16 16:47
2006.12.03
Ссылки на форумы


2-1163720755
Basement
2006-11-17 02:45
2006.12.03
Правильно ли использую ZeroMemory ? И можно ли обнулить быстрее ?


1-1161265790
MegaVolt
2006-10-19 17:49
2006.12.03
Как победить OwnerDraw в ListView? Нужна помощь тех кто это делал


2-1163401115
funky
2006-11-13 09:58
2006.12.03
Считывание строк


2-1163406956
TrainerOfDolphins
2006-11-13 11:35
2006.12.03
Хранение настроек приложения в файле





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский