错误、漏洞、问题 - 页 1051

 
marketeer:

还没有,但我可以把它贴出来。

显然,另一个问题来自同一个主题。市场中产品分类的原则是什么?我如何改变排序顺序?例如,我有 "流行 "标签。什么是 "流行"--观点、下载、评论、评级?这些似乎都不存在。然而,我想按这些指标中的任何一个来排序。在 "付费 "选项卡上,最好能按价格进行排序。

目前也没有进行分类。产品按其自身的一些标准进行排序。如果有一个更强大的过滤器就好了。按价格范围,按字母顺序,等等。你也可以写信给服务台作为建议。
 
我如何以编程方式获得用户在转盘的属性对话框中设置的线条颜色?
 
marketeer:
如何以编程方式获得用户在指标的属性对话框中设置的线条颜色?

我不记得有这样的功能。

为什么? 也许如果你改变问题,就会有一个解决方案。

你可以通过一次点击改变整个颜色方案。那么在参数中输入颜色,让用户在参数中改变它。

 
marketeer:
如何以编程方式获得用户在指标的属性对话框中设置的线的颜色?

plot_line_color

 

难以捕捉的错误

int replace( int& a, const int b ) {
        int prev = a;
        a = b;
        return ( prev );
}

class A { public:
        A() : value( 5 ) {}
        virtual int      get() const     { return ( value ); }
        virtual int      set( int _New ) {return (replace(this.value, _New));}
        virtual void     print();
        int    value;
};

void A::print() {
        Print( "value1=" + get()   );
        Print( "value2=" + set( 8 ));
}

void OnStart() {
        A a;
        a.print(); 
}

结果:value1=5,value2=8,并且应该是

value1=5, value2=5

如果我把这个去掉,或者把A::set(...)的前缀virtual去掉,或者把代码移到A::set(...)中,把替换函数去掉。

//убрать this.
virtual int   set( int _New ) { return ( replace( value, _New ) ); }      

//или убрать у set virtual
      int   set( int _New ) { return ( replace( this.value, _New ) ); }

//или убрать функцию replace, путем переноса кода в A::set(...)

virtual int set(int _New) {int prev=this.value; this.value=_New; return (prev);}

一切顺利

 
A100:

如果删除这个。或者删除A::set(...)的虚拟前缀,或者删除替换函数,将代码移到A::set(...)。

+ 如果你在调试中运行它,一切都很好。
在正常的编译中 - 错误
 
Urain:

我不记得有这样的功能。

为什么? 也许如果你改变问题,就会有一个解决方案。

ZS 我让它一键改变整个颜色方案。那么在参数中输入一种颜色,并让用户在参数中改变它。

这就是现在的做法。这是无稽之谈,因为颜色在参数和突出显示的颜色标签中是重复的。

需求很简单--你需要在图上贴上与用户所选线条颜色相匹配的标签。

据我所知,Lizar是错误的,因为根据文档,PLOT_LINE_COLOR是用着色数字设置缓冲区的索引(当一条线交替用不同颜色绘制时)。我的问题并没有因为这个常数而得到解决。

 
marketeer:

...

据我所知,Lizar是错误的,因为根据文档,PLOT_LINE_COLOR是用着色数字设置缓冲区索引(当一条线交替用不同颜色绘制时)。我的问题并没有因为这个常数而得到解决。

像这样试试吧。

color line_color=PlotIndexGetInteger(0,PLOT_LINE_COLOR);
 
marketeer:

这就是现在的做法。这是无稽之谈,因为颜色在参数和突出显示的颜色标签中是重复的。

需求很简单--你需要在图上放置与用户所选线条颜色相匹配的标记。

据我所知,Lizar是错误的, 因为 根据文档,PLOT_LINE_COLOR是用着色数字设置缓冲区的索引(当一条线交替用不同颜色绘制时)。 我的问题并没有因为这个常数而得到解决。

我有两个指标的缓冲区的颜色是协调的,它们通过事件连接。

   if((id==MYEVENT_PLOT_FILE+CHARTEVENT_CUSTOM) && (sparam==FName)) 
   {
      if(lparam!=0) PlotIndexSetInteger(2,PLOT_LINE_COLOR,(int)lparam);
      FileRedraw();
      ChartRedraw(0);
   } 

我(从另一个指标)调用这个事件如下。

      EventChartCustom(ChartID(),MYEVENT_PLOT_FILE,(long) PlotIndexGetInteger(0,PLOT_LINE_COLOR),0,FName);
一切正常。
 
MetaDriver:

不对,确实如此。

谢谢,我会试一试的。但是,在文档中是否有任何地方可以读到这方面的内容?我的意思是,应该这样写:PLOT_LINE_COLOR 允许设置和读取普通缓冲区的颜色,而不是 "多色 "缓冲区。