Вверх ↑
Этот топик читают: Гость
Ответов: 1925
Рейтинг: 172
#1: 2019-11-04 13:45:19 ЛС | профиль | цитата
Буду писать сюда о найденных в них ошибках.
1. Offset в PlotHistogram - почему-то отображает цвет вместо числа (nesco, поправь ini!)
2. Точки св-в Max/MinX/Y самого Plotter выдают странные значения. Вот вам схема:
Add(Plotter,16744840,588,154)
{
Left=25
Top=100
Width=445
Height=185
Color=16777215
Name="own_rate"
MinH=-0.001
MinW=-1.5
MaxW=35
Point(doMaxH)
Point(MaxY)
}
Add(PlotHistogram,11543609,406,210)
{
Grapher="own_rate"
Step=3
Name="22"
Axis="11"
link(onAdd,11661144:doEvent1,[])
}
Add(PlotAxis,395775,406,266)
{
Grapher="own_rate"
Name="11"
Color=0
}
Add(PlotSeriesMarker,1928897,455,266)
{
Grapher="own_rate"
HAlign=1
TextList=#6:Январь|7:Февраль|4:Март|6:Апрель|3:Май|4:Июнь|4:Июль|6:Август|8:Сентябрь|7:Октябрь|6:Ноябрь|7:Декабрь|
Series="22"
}
Add(Math,5516945,588,217)
{
Op2=4
ResultType=0
link(onResult,13051532:doWork3,[(632,223)(632,197)(571,197)])
link(Op1,5392838:Var2,[])
}
Add(Hub,11661144,462,210)
{
link(onEvent1,11561095:doMessage,[])
link(onEvent2,5516945:doOperation,[])
}
Add(HubEx,13051532,567,161)
{
link(onEvent,16744840:doMaxH,[])
}
Add(For,7127810,350,210)
{
Start=11
End=22
link(onEvent,11543609:doAdd,[])
}
Add(Message,11561095,511,210)
{
link(Message,5392838:Var1,[(517,201)])
}
Add(GetDataEx,5392838,588,196)
{
link(Data,16744840:MaxY,[])
}
Add(MainForm,2953706,84,84)
{
Width=507
Height=541
Position=1
link(onCreate,7127810:doFor,[(233,104)(233,216)])
}
Мне нужно, чтобы макс. значение по Y было на 4 больше максимального значения серий. MaxY должен всегда показывать макс. значение всех серий, но выдаваемое сообщение, как видите, выдаёт установленное значение doMaxH вместо правильного, что мы и видим в коде:
#pas
function THIPlotter.graphMaxY:real;
var i:integer;
r:real;
begin
if SeriesCount = 0 then
Result := 0
else
if _prop_MaxH ‹› 0 Then Result := _prop_MaxH Else
begin
Result := -$FFFFFF;
for i := 0 to SeriesCount-1 do
if Series[i].Count › 0 then
begin
r := Series[i].graphMaxY;
if r › Result then
Result := r;
end;
if Result = -$FFFFFF then
Result := 0;
end;
end;
Т.е. если _prop_MaxH установлено, то выдаётся именно оно, а серии уже не проверяются. КМК, это ошибка: именно серии должны прогоняться всегда, вне зависимости от _prop_MaxH.
nesco, что скажешь?

Редактировалось 1 раз(а), последний 2019-11-04 13:46:39
карма: 9
0
vip
#1.1контекстная реклама от партнеров
Разработчик
Ответов: 26061
Рейтинг: 2120
#2: 2019-11-04 15:55:42 ЛС | профиль | цитата
3042 писал(а):
что скажешь?

А что я должен сказать? Я не автор компонента, и почему автор сделал именно так мне не известно. Правильно ли это или неправильно, нужно ли это или не нужно, пусть скажут те, кто часто использует плоттер. Я же не пользуюсь этим компонентом, поэтому ничего дельного сказать не могу.
карма: 22

0
Ответов: 1925
Рейтинг: 172
#3: 2019-11-04 16:36:31 ЛС | профиль | цитата
А это:
3042 писал(а):
1. Offset в PlotHistogram - почему-то отображает цвет вместо числа (nesco, поправь ini!)


Это же глюк в ini:

Offset=Сдвиг гистограммы по оси X|8|0
Там вместо 8 надо 7 - это тип Real. Он в pas и описан как real.
карма: 9
0
Разработчик
Ответов: 26061
Рейтинг: 2120
#4: 2019-11-04 18:44:09 ЛС | профиль | цитата
3042 писал(а):
Это же глюк в ini

Это поправим (я бы сегодня поправил, но доступ к SVN только с работы). Я же в предыдущем посте ответил на второй вопрос.

Редактировалось 2 раз(а), последний 2019-11-04 18:48:59
карма: 22

0
Главный модератор
Ответов: 2997
Рейтинг: 395
#5: 2019-11-04 20:10:54 ЛС | профиль | цитата
3042 писал(а):
Там вместо 8 надо 7 - это тип Real

Исправлено.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 1925
Рейтинг: 172
#6: 2019-11-05 01:45:03 ЛС | профиль | цитата
nesco писал(а):
Я не автор компонента, и почему автор сделал именно так мне не известно.

Ну, автора нам вряд ли дождаться . Хотя соавтором указан Galkov, а он тут появляется.

В общем, я пока делаю так: обнуляю этот MaxH, чтобы снизу получить правильные значения, а потом снова устанавливаю. Может, кому пригодится.

Add(Plotter,16744840,287,1785)
{
Left=5
Top=350
Width=200
Height=185
Color=16777215
Name="own_rate"
GridX=4
GridY=5
MinH=-0.001
MinW=-1.5
MaxW=35
Point(doMaxH)
Point(MaxY)
}
Add(Math,3330745,189,1841)
{
Op2=10
ResultType=0
link(onResult,3929030:doWork3,[(235,1847)])
link(Op1,16744840:MaxY,[(195,1829)(293,1829)])
}
Add(DoData,6426951,189,1792)
{
Data=Integer(0)
link(onEventData,3929030:doWork2,[])
}
Add(Hub,10568966,154,1792)
{
link(onEvent1,6426951:doData,[])
link(onEvent2,3330745:doOperation,[(178,1805)(178,1847)])
}
Add(HubEx,3929030,231,1792)
{
link(onEvent,16744840:doMaxH,[])
}
карма: 9
0
Разработчик
Ответов: 26061
Рейтинг: 2120
#7: 2019-11-05 12:26:04 ЛС | профиль | цитата
Nic писал(а):
Исправлено.

Почему-то потребовало перечитать рабочую копию. Видимо потому, что не я правил. А сначала выдало, что нет никаких изменений.

Редактировалось 1 раз(а), последний 2019-11-05 12:31:48
карма: 22

0
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)