Errori, bug, domande - pagina 1051

 
marketeer:

Non ancora, ma posso pubblicarlo.

Apparentemente un'altra domanda proviene dallo stesso thread. Qual è il principio secondo il quale i prodotti sono ordinati nel mercato? Come posso cambiare l'ordine di ordinamento? Per esempio, ho la scheda "Popolare". Cos'è "popolare" - visualizzazioni, download, recensioni, rating? Nessuno di questi sembra esistere. Tuttavia, vorrei ordinare per uno qualsiasi di questi indicatori. E nella scheda "Paid", l'ordinamento per prezzo sarebbe auspicabile.

Al momento non c'è nemmeno un ordinamento. I prodotti sono ordinati secondo alcuni criteri propri. Sarebbe bene avere un filtro più potente. Per fascia di prezzo, in ordine alfabetico, ecc. Si potrebbe anche scrivere al Service Desk come suggerimento.
 
Come posso ottenere programmaticamente il colore della linea che l'utente ha impostato nel dialogo delle proprietà della piattaforma girevole?
 
marketeer:
Come posso ottenere programmaticamente il colore della linea che l'utente ha impostato nel dialogo delle proprietà di un indicatore?

Non ricordo tale caratteristica.

Perché? Forse se si cambia la domanda, ci sarà una soluzione.

È possibile cambiare l'intero schema di colori con un solo clic. Bene inserire il colore nei parametri e lasciare che l'utente lo cambi nei parametri.

 
marketeer:
Come posso ottenere programmaticamente il colore della linea che l'utente ha impostato nel dialogo delle proprietà di un indicatore?

COLORE_LINEA_TRAMA

 

Errore difficile da catturare

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(); 
}

Risultato: valore1=5, valore2=8, e dovrebbe essere

valore1=5, valore2=5

Se rimuovo questo. o rimuovo il prefisso virtuale da A::set(...) o rimuovo la funzione replace spostando il codice in 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);}

tutto è OK

 
A100:

Se rimuovete questo. o rimuovete il prefisso virtuale da A::set(...) o rimuovete la funzione replace, spostando il codice in A::set(...),

+ se lo si esegue in debug, tutto va bene.
in compilazione normale - bug
 
Urain:

Non ricordo una tale caratteristica.

Perché? Forse se si cambia la domanda, ci sarà una soluzione.

ZS Ho ottenuto di cambiare l'intera combinazione di colori con un clic. Bene inserire un colore nei parametri, e lasciare che l'utente lo cambi nei parametri.

Questo è il modo in cui si fa ora. Questo non ha senso, perché i colori sono duplicati nei parametri e nella scheda dei colori evidenziati.

La necessità è semplice: bisogna mettere delle etichette sul grafico che corrispondano ai colori delle linee selezionate dagli utenti.

Per quanto ho capito, Lizar si sbaglia, perché PLOT_LINE_COLOR, secondo la documentazione, imposta l'indice del buffer con i numeri di colorazione (quando una linea è disegnata alternativamente con colori diversi). La mia domanda non è risolta con questa costante.

 
marketeer:

...

Per quanto ho capito, Lizar si sbaglia, perché PLOT_LINE_COLOR, secondo la documentazione, imposta l'indice del buffer con i numeri di colorazione (quando una linea è disegnata alternativamente in diversi colori). La mia domanda non è risolta con questa costante.

Prova così:

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

Questo è il modo in cui si fa ora. Questo non ha senso, perché i colori sono duplicati nei parametri e nella scheda dei colori evidenziati.

La necessità è semplice: bisogna mettere dei marcatori sul grafico che corrispondano ai colori delle linee selezionate dagli utenti.

Per quantoho capito, Lizar si sbaglia, perché PLOT_LINE_COLOR, secondo la documentazione, imposta l'indice del buffer con i numeri di colorazione (quando una linea è disegnata alternativamente con colori diversi). La mia domanda non è risolta con questa costante.

Ho coordinato i colori dei buffer di due indicatori correlati attraverso gli eventi:

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

Chiamo questo evento (da un altro indicatore) come segue:

      EventChartCustom(ChartID(),MYEVENT_PLOT_FILE,(long) PlotIndexGetInteger(0,PLOT_LINE_COLOR),0,FName);
Tutto funziona.
 
MetaDriver:

Non è vero, è così.

Grazie, farò una prova. Ma comunque, c'è da qualche parte nella documentazione per leggere di questo? Voglio dire, dovrebbe essere scritto chePLOT_LINE_COLOR permette di impostare e leggere il colore di un buffer regolare, non uno "multicolore".