| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Сортировка числовых данных и вывод на график |
| Автор: ValerkaT 25.8.2008, 11:38 |
| есть программа она считывает данные эксперимента (числовые) с устройства и записывает в файл, надо чтобы эти данные отсортировывались по возрастанию и выводились на график с помощью компоненты chart или dbchart. Подробнее - имеется плата АЦП 16-и разрядная, на ней релюшки - сопротивления, программно эти релюшки переключаются, одно положение реле - первое измерение в вольтах по трем каналам, другое положение - второе измерение и т.д. всего 18 измерений. часть кода: //вычисление значений в вольах по трем каналам double volt1=(*ch1*maxVolts/2048)*1000; double volt2=(*ch2*maxVolts/2048)/StrToFloat(editRShumtL->Text)*1000; double volt3=(*ch3*maxVolts/2048)/StrToFloat(editRShuntR->Text)*1000; //запись в файл значений по тем каналам WriteToFile(numbofeq,volt1,volt2,volt3) как отсортировать этизначения по возрастанию и вывести их на гафик? |
| Автор: mrbrooks 25.8.2008, 12:31 |
| решение -> база данных + dbchart |
| Автор: ValerkaT 25.8.2008, 14:05 |
| дело в том что имеется три канала измерение проходит по трем каналам, то есть 3 массива получается, одно измерение 3 строки - 1-й, 2-й, 3-й канал, как отсортировать по первому каналу, чтобы в других двух каналах значения соответствовали первому каналу и как это все записать в БД, чтобы потом построить график по полученным знчениям |
| Автор: mrbrooks 25.8.2008, 14:42 |
| собственноя здесь ничего сложного не вижу. пишешь в базу данных инфу скажем через АДО в Аксес. Далее sql-запросом сортируешь по полю в которое пишешь данные снятые с девайса. Так же создай поле метки времени в момент записи данных. Я правда не совсем понимаю зачем их сортировать по возрастанию (данный от девайса то бишь), но раз надо так надо. Потом на графике строй данные в соответствие со значениями твоих полей. Вообще имхо посмотри в разделе по БД там есть мануалы для новичков. Для тебя самое раз. ЗЫ. Да и как ты данные получаешь, по com-порту или ethernet? |
| Автор: ValerkaT 25.8.2008, 14:52 |
| данные по usb, программа уже сть с инициализацией устройства и т.д. и т.п. она только эти данные в файл пишет, этот файл я в экселе обрабатываю написаны макросы сортировка графики все есть, но дело в том что при эксперименте образец может неправильно лечь на стенд, а чтобы это проверить надо провести измерения потом в экселе уже смотреть график и по нему можно сказать как лег образец криво или нет, а так программа вывела график сразу видно криво лежит или нет |
| Автор: ValerkaT 25.8.2008, 15:10 |
| в редактировании компоненты DBChart нашел во вкладке Series -> Data Source, какмне этот дата сурс создать из получаемых данных? |
| Автор: mrbrooks 25.8.2008, 15:56 |
| ValerkaT, яж грю почитай мануал или книгу по БД в Бормане. На форму кидай TAdoConnection TAdoTable TDataSourse TDBChart. И читай мануалы. действительно глупол все это здесь описывать. |