C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Нужна помощь с построением графиков, TeeChart v6 или еще что?
TestErRr
Отправлено: 11.04.2005, 17:04


Не зарегистрирован







Доброго время суток.
В проэкте требуется построить ряд графиков по полученным значениям в результате работы. Решил строить их с помощью модуля TeeChart v6, но никак не могу его настроить =[
Создаю Серию типа Lines с помощью TeeChart, потом пытабсь добавить новую точку используя метод SeriesA->AddXY(int XX,int YY); = результат нулевой.
Помогите плз ксли кто знает как с ним работать ну или посоветуйти какой нидь другой компанент для построения графиков.

Спасибо.
Rius
Отправлено: 11.04.2005, 18:40


Мастер участка

Группа: Участник
Сообщений: 321



Была таже проблема с TChart 4, решилась (как бы вы думали?) установкой основного цвета поверхности компонента в отличный от clBtnFace. В пятом Chart'e вообще Access Violation при вызове AddXY, то ли руки кривые, то ли паскалевский компонент под 5-й Билдер на 6-ом с глюками ставится...
можешь выслать 6?

Отредактировано Rius — 11/04/2005, 21:41
ZonD
Отправлено: 11.04.2005, 18:50


Ученик-кочегар

Группа: Участник
Сообщений: 7



QUOTE (Rius @ 11/04/2005, 18:40)
Была таже проблема с TChart 4, решилась (как бы вы думали?) установкой основного цвета поверхности компонента в отличный от clBtnFace. В пятом Chart'e вообще Access Violation при вызове AddXY, то ли руки кривые, то ли паскалевский компонент под 5-й Билдер на 6-ом с глюками ставится...
можешь выслать 6?


дай мне майл — вышлю 13мб, а вообще скачать можно здесь http://www.teechart.net/files/vcl/public/T...rt6Builder6.EXE
Лекарство я тебе на майл послал.

А смена цвета не помогла =[

Отредактировано ZonD — 11/04/2005, 18:56
Rius
Отправлено: 11.04.2005, 19:20


Мастер участка

Группа: Участник
Сообщений: 321



Thanks, завтра на работе качну.

Вот такой код в 4-ом точно работает (вчера только с ним воевал)
CODE
Randomize();
...
Series1->AddXY((double)(Time()), RandG(0, 100), "", clGreen);
if(Series1->XValues->Count() > 10)
{
       Series1->XValues->Delete(0);
       Series1->YValues->Delete(0);
}
Caption = Series1->XValues->Count();
** Harold
Отправлено: 11.04.2005, 20:29


Не зарегистрирован







CODE

Series1->AddXY(iTimerCount,(StrToFloat(edit1->Text)),"",clAqua);

Такое тоже легко работает. И строит графики часами. И не одну серию, а четыре.
TeeChart 4.04 (стандартный встроенный в Builder) Компонент TDBChart с закладки DataControls — не помню почему его взял, а не TChart.
Чуть "обвязки" добавишь и будет тебе "интеллектуальный" автомасштабирующийся экранчик с разметкой.... Хороший компонент, правда, медленный. Но, раз в секунду — при современных компах пойдет.
user posted image
** Андрей
Отправлено: 12.04.2005, 10:33


Не зарегистрирован







А можно урлу на лекарство поиметь??
ZonD
Отправлено: 12.04.2005, 17:34


Ученик-кочегар

Группа: Участник
Сообщений: 7



Naprimer

Отредактировано ZonD — 12/04/2005, 17:34
Rius
Отправлено: 13.04.2005, 20:24


Мастер участка

Группа: Участник
Сообщений: 321



ZonD Возможно проблема из-за неполного удаления прежних пакетов. У меня тоже отказалось рисоваться.
Потом полностью удалил все файлы предыдущего TeeChart, поставил начисто и при компиляции вывалились такие ошибки:
CODE
Build
 [C++ Error] TeeProcs.hpp(163): E2316 'TTeeShadow' is not a member of 'Tecanvas'
 [C++ Error] TeeProcs.hpp(163): E2040 Declaration terminated incorrectly
 [C++ Error] TeeProcs.hpp(185): E2316 'TTeeShadow' is not a member of 'Tecanvas'
 [C++ Error] TeeProcs.hpp(185): E2293 ) expected
 [C++ Error] TeeProcs.hpp(255): E2316 'TChartBrush' is not a member of 'Tecanvas'
 [C++ Error] TeeProcs.hpp(255): E2293 ) expected
 [C++ Error] TeeProcs.hpp(288): E2316 'TTeeShadow' is not a member of 'Tecanvas'
 [C++ Error] TeeProcs.hpp(288): E2040 Declaration terminated incorrectly
 [C++ Error] TeeProcs.hpp(381): E2257 , expected
 [C++ Error] TeeProcs.hpp(422): E2316 'TChartBrush' is not a member of 'Tecanvas'
 [C++ Error] TeeProcs.hpp(422): E2303 Type name expected
 [C++ Error] TeeProcs.hpp(423): E2316 'TChartBrush' is not a member of 'Tecanvas'
 [C++ Error] TeeProcs.hpp(423): E2040 Declaration terminated incorrectly
 [C++ Error] TeeProcs.hpp(426): E2303 Type name expected
 [C++ Error] TeeProcs.hpp(427): E2303 Type name expected
 [C++ Error] TeeProcs.hpp(430): E2316 'TChartBrush' is not a member of 'Tecanvas'
 [C++ Error] TeeProcs.hpp(430): E2272 Identifier expected
 [C++ Error] TeeProcs.hpp(436): E2356 Type mismatch in redeclaration of 'TTeeZoomBrush'
 [C++ Error] TeeProcs.hpp(421): E2344 Earlier declaration of 'TTeeZoomBrush'
 [C++ Error] TeeProcs.hpp(490): E2316 'TTeeGradient' is not a member of 'Tecanvas'
 [C++ Error] TeeProcs.hpp(490): E2040 Declaration terminated incorrectly
 [C++ Error] TeeProcs.hpp(498): E2316 'TTeeGradient' is not a member of 'Tecanvas'
 [C++ Error] TeeProcs.hpp(498): E2040 Declaration terminated incorrectly
 [C++ Error] TeeProcs.hpp(511): E2316 'TTeeGradient' is not a member of 'Tecanvas'
 [C++ Error] TeeProcs.hpp(511): E2293 ) expected
 [C++ Error] TeeProcs.hpp(511): E2228 Too many error or warning messages

'TTeeShadow' в namespace Tecanvas смотрел — есть, почему не видит — непонятно. Возможно bpl были скомпилированы по-другому
Rius
Отправлено: 13.04.2005, 20:58


Мастер участка

Группа: Участник
Сообщений: 321



Ура!!! Поставилась, редиска!
Короче, удалил все файлы (не вподряд, а по смыслу), какие нашел Total Commander на диске C:\ (где у меня стоит BCB) по маске tee, относящиеся к TChart (видно по именам файлов), и не находящиеся в каталоге TeeChart6.
Затем был произведен прицельный отстрел файлов:
C:\Borland\CBuilder6\Include\Vcl\chart.hpp
C:\Borland\CBuilder6\Include\Vcl\series.hpp
C:\Borland\CBuilder6\Include\Vcl\tecanvas.hpp
C:\Borland\CBuilder6\Lib\Obj\tecanvas.dcu

Дело в том, что в установке TeeChart 6 есть свои версии этих файлов, а Builder берет первые найденные, естественно из своих собственных директорий.

Четвертый раунд Rius vs TeeChart 4/5/6 закончился в мою пользу!
** Андрей
Отправлено: 14.04.2005, 08:11


Не зарегистрирован







Спасибо огромное за лекарство. Но возник такой вопрос. А как это все скрестить потом с ФастРепортом например или ФибПлюс??? Они в ступор выпадают при загрузке, типа нетути tee.bpl и хоть треснись.

Вернуться в Вопросы программирования в C++Builder