Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.03;
Скачать: CL | DM;

Вниз

Как записать в файл массив размером 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;
Скачать: CL | DM;

Наверх




Память: 0.81 MB
Время: 0.054 c
6-1152890949
_kos
2006-07-14 19:29
2006.12.03
Socket в цикле


1-1161673010
Чапаев
2006-10-24 10:56
2006.12.03
Про многоязычное приложение... ETM.


3-1159443609
Alex870
2006-09-28 15:40
2006.12.03
Обновление TADOTable


2-1163670719
galyc
2006-11-16 12:51
2006.12.03
правильность ввода пути


2-1163476380
begg
2006-11-14 06:53
2006.12.03
Help me pls