GUI in crowdsourcing. Open beta testing. - pagina 16

 
Nikolai Semko:

Ancora non capisco. Affinché un indicatore o un EA funzioni con la tua gui, è necessario che qualcos'altro (kernel, motore, ecc.) venga eseguito in parallelo?

Non più. Il motore è un file inclusivo aperto. È collegato come mostrato nell'illustrazione del post precedente. Guarda di nuovo con attenzione.

#include<GUI_DRIVE.mqh>
Документация по MQL5: Файловые операции / FileOpen
Документация по MQL5: Файловые операции / FileOpen
  • www.mql5.com
[in]  Имя открываемого файла, может содержать подпапки. Если файл открывается для записи, то указанные подпапки будут созданы в случае их отсутствия. [in]  значение, используемое в качестве разделителя в txt или csv-файле. Если для csv-файла разделитель не указан, то по умолчанию используется символ табуляции. Если для txt-файла разделитель не...
 

Реter Konow
:

Non più. Il motore è un file inclusivo aperto. Collegato come mostrato nell'illustrazione del post precedente. Guarda di nuovo con attenzione.

Ok allora.
Ma come faccio a leggere e/o cambiare qualche elemento nella prima finestra dell'interfaccia dal mio programma? Che aspetto ha?
Nel mio esempio appare così

if (myGUI.win[0].ChecBox[2].isCheck())   myGUI.win[1].TextLabel[5].text  =  DoubleToString(rates[0].close,_Digits);

 
Nikolai Semko:

Ok, allora.
Ma come faccio a leggere e/o cambiare qualche elemento nella prima finestra dell'interfaccia dal mio programma? Che aspetto ha?
Nel mio esempio appare così


Più semplice. Tutte le funzioni dei controlli sono nominate automaticamente e stampate nel file api. Hai bisogno di ottenere o cambiare una casella di controllo? Cominci a scrivere il suo nome e intellisense ti dà una lista delle tue caselle di controllo con nomi simili:

Qui è dove si scrivono le reazioni:

//=====================================================================================================================
//WINDOW:   Menu | element: CHECKBOX  | name: Simple checkbox  |  Location: Window's Main Frame
//=====================================================================================================================
case CHECKBOX3___Simple_checkbox:
               //------------------------------------------------------------------------------------------------------
               //What to do when checkbox checked or unchecked?
               //------------------------------------------------------------------------------------------------------
               switch((int)action)
               {
                case checked:     break;
  
                case unchecked:     break;
               }
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;
  
//=====================================================================================================================


Ed ecco la sua sfida:

E_Menu_Simple_checkbox(); 

Inizia con il prefisso E_, poi il nome della finestra e il nome dell'elemento. Intellisense se ne occuperà. Non c'è bisogno di ricordare tutto.

 
Nikolai Semko:

Ok, allora.
Ma come posso leggere e/o cambiare un elemento nella prima finestra dell'interfaccia dal mio programma? Che aspetto ha?
Nel mio esempio appare così


Il costruttore grafico può creare definizioni, per esempio:

#define  close_prise_of_last_bar myGUI.win[1].TextLabel[5].text
#define  show_last_price myGUI.win[0].ChecBox[2].isCheck()

e poi si può rendere il codice ancora più leggibile:

if (show_last_price)  close_prise_of_last_bar  =  DoubleToString(rates[0].close,_Digits);
 
Nikolai Semko:

e il costruttore grafico può creare definizioni, per esempio:

e poi si può rendere il codice ancora più leggibile:

Tutto questo esiste da molto tempo. È stato testato per un anno.

 
Реter Konow:

Più semplice. Tutte le funzioni di controllo sono nominate automaticamente e stampate nel file api. Hai bisogno di ottenere o cambiare una casella di controllo? Cominci a scrivere il suo nome e intellisense ti dà una selezione delle tue caselle di controllo con nomi simili:

Qui è dove si scrivono le reazioni:


Ed ecco la sua sfida:

Inizia con il prefisso E_, poi il nome della finestra e il nome dell'elemento. Intellisense se ne occuperà. Non c'è bisogno di ricordare tutto.

non capire

 
Nikolai Semko:

Non capisco.

Si inseriscono tre file e si ha la piena proprietà di tutte le gui create nell'editor. Non potrebbe essere più semplice.

 
È possibile creare elementi grafici tramite codice?
 
Aliaksandr Hryshyn:
È possibile creare elementi grafici tramite codice?
Questo non ha senso. Se non altro per codice del linguaggio di markup. Un editore è l'opzione più semplice.
 
Реter Konow:
Questo non ha senso. Se non altro nel codice del linguaggio di markup. L'editor è l'opzione più semplice.

vedere come funziona la state-less gui (google it).

if (Button("hello world!")) {

printf("fck u self");

}

disegna e reagisce al pulsante allo stesso tempo