エラー、バグ、質問 - ページ 1051

 
marketeer:

まだですが、投稿できます。

どうやら同じスレッドから別の質問が来ているようです。市場では、どのような原理で製品が分類されているのでしょうか?ソート順を変更するにはどうしたらよいですか?例えば、「人気」というタブがあります。再生回数、ダウンロード数、レビュー、評価など、「人気」とは何でしょうか?いずれも存在しないようです。しかし、これらの指標のどれかでソートしたいのです。また、「Paid」タブでは、価格によるソートが望ましいと思います。

仕分けも今のところありません。製品は、何らかの基準でソートされている。もっと強力なフィルターがあってもいいと思う。価格帯別、五十音順など。また、提案としてサービスデスクに書き込むこともできます。
 
ユーザーがターンテーブルのプロパティダイアログで設定した線の色をプログラムで取得するにはどうしたらよいでしょうか。
 
marketeer:
インジケーターのプロパティダイアログでユーザーが設定したラインカラーをプログラムで取得するには?

そのような機能は記憶にありません。

なぜかというと、質問を変えれば解決することがあるのかもしれません。

ワンクリックで全体の配色を変更することができます。さて、パラメータに色を入力し、ユーザーがパラメータで変更できるようにします。

 
marketeer:
インジケーターのプロパティダイアログでユーザーが設定した線の色をプログラムで取得するにはどうすればよいですか?

プロットライン色

 

エラーをキャッチしにくい

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、であるべき。

値1=5, 値2=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(...)にコードを移動してreplace関数を削除してください。

+デバッグで実行すると、すべてうまくいきます。
通常コンパイル時 - バグ
 
Urain:

そんな機能は記憶にない。

なぜかというと、質問を変えれば解決することがあるのかもしれません。

ZS ワンクリックで全体の配色を変えられるようにしました。パラメーターで色を入力し、パラメーターでユーザーが変更できるようにします。

それが今のやり方です。これはナンセンスです。なぜなら、パラメータとハイライトされたカラータブの中でカラーが重複しているからです。

必要なことは簡単で、ユーザーが選択した線の色に合わせたラベルをグラフ上に貼ることです。

私の理解では、Lizarは間違っています。なぜなら、 ドキュメントに よると、PLOT_LINE_COLORは、カラーリング番号のバッファのインデックスを設定します(1つの線が異なる色で交互に描かれる場合)私の疑問はこの定数では解決されません。

 
marketeer:

...

私が理解する限り、Lizarは間違っています。 ドキュメントに よると、PLOT_LINE_COLORは、カラーリング番号でバッファのインデックスを設定します(1つのラインが交互に異なる色で描かれるとき)私の疑問は、この定数では解決されません。

こんな風に試してみてください。

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

これが今のやり方です。これはナンセンスです。なぜなら、パラメータとハイライトされたカラータブの中でカラーが重複しているからです。

必要なのは簡単で、ユーザーが選択した線の色に合わせたマーカーをグラフ上に配置することです。

私の理解では、Lizarは間違っています。 なぜなら、 ドキュメントに よると、 PLOT_LINE_COLORは、カラーリング番号のバッファのインデックスを設定します(1つの線が異なる色で交互に描かれる場合) 私の疑問は、この定数では解決されません。

2つのインジケータのバッファの色を調整し、イベントを介して接続することができます。

   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は「マルチカラー」ではなく、通常のバッファの色を設定したり読み取ったりすることができると書くべきでしょう。