Discussione sull’articolo "Controlli Grafici Personalizzati. Parte 3. Moduli" - pagina 2

 
Urain:

Ho fatto tutto bene.

Date le possibilità di ME è abbastanza comodo, il minimalismo giapponese nell'era del kitsch totale, c'è tutto, niente di superfluo.

Chi vuole fare il loop degli oggetti può implementare una shell postfix dove può scrivere quello che vuole.


Nikolay, pensi che in MQL5 questo sia ordinato e conforme alle possibilità?


         void OnHideEvent(){
            // 7. Chiamata del metodo Hide() per tutti i controlli del modulo
            m_hm.Hide(); 
            m_vm1.Hide(); 
            m_vm2.Hide(); 
            m_vm3.Hide();             
            m_fr1.Hide();
            m_fr2.Hide();               
            m_ib.Hide();
            m_sib.Hide();
            m_dib.Hide();
            m_cb.Hide();  
            m_chb.Hide();  
            m_rg1.Hide();  
            m_rg2.Hide();  
            m_lms1.Hide();
            m_lms2.Hide();
            m_but.Hide();
         }

        void OnWindowChangeEvent(int aSubWindow){
            // 8. Вызов метода SetSubWindow() для всех элементов управления формы. Номер подокна находится в аргументе aSubWindow.
            m_hm.SetSubWindow(aSubWindow);
            m_vm1.SetSubWindow(aSubWindow);
            m_vm2.SetSubWindow(aSubWindow);
            m_vm3.SetSubWindow(aSubWindow); 
            m_fr1.SetSubWindow(aSubWindow);
            m_fr2.SetSubWindow(aSubWindow);            
            m_ib.SetSubWindow(aSubWindow);
            m_sib.SetSubWindow(aSubWindow);
            m_dib.SetSubWindow(aSubWindow);
            m_cb.SetSubWindow(aSubWindow);
            m_chb.SetSubWindow(aSubWindow);
            m_rg1.SetSubWindow(aSubWindow);
            m_rg2.SetSubWindow(aSubWindow);
            m_lms1.SetSubWindow(aSubWindow);
            m_lms2.SetSubWindow(aSubWindow);
            m_but.SetSubWindow(aSubWindow);
            
         }

 
sergeev:

Nikolay, pensi che questo sia pulito e conforme alle possibilità di MQL5?

No, i giapponesi sono contrari. Dovrebbe essere esattamente di tre righe.
 
sergeev:

Nikolay, pensi che in MQL5 questo sia ordinato e conforme alle possibilità?

Se non avete abbastanza tempo per scrivere, usate un modello.

Non bisogna avere troppa voglia di realizzare tutte le possibilità, stiamo scrivendo codici, non creando immagini con le lettere.

Non vedo alcun problema.

 
è solo un'opinione. Sono più un tipo che dipinge codici. Esteta. :)
 
sergeev:

è solo un'opinione. Sono più un tipo che dipinge codici. Esteta. :)

In effetti, Integer fornisce un'API con un livello di astrazione un po' più basso di quello desiderato.

Beh, perfezionala per te stesso, inseriscila nel codice e forse la tua API sarà più popolare.

 
papaklass:

Non avresti dovuto tirarti indietro.

perché c'è anche l'etica professionale. Integer è un professionista e non ha bisogno di insegnamenti.

Ma se il dottore dice obitorio, allora obitorio sia.

 
Urain:

In effetti, Integer fornisce un'API con un livello di astrazione un po' più basso di quello desiderato.

Bene, affinatela a vostro piacimento, inseritela nel codice e forse la vostra API sarà più popolare.

È improbabile che una libreria in cui ogni classe abbia lo stesso insieme di metodi, metà dei quali non validi, diventi popolare.

 
papaklass:

Non avresti dovuto tirarti indietro. Hai assolutamente ragione. Una persona che si posiziona come programmatore professionista è obbligata a scrivere codice corretto e bello. I principianti avranno qualcosa da cui imparare.

Il signor sergeev, essendo caduto in qualche equivoco fondamentale e posizionale, suggerisce qualcosa come la combinazione di variabili come bool, int, double, string, ecc. in un array.

Ma lei, signor papaklass, da vero troll, sente un rumore ma non sa dove sia.

Документация по MQL5: Основы языка / Типы данных / Целые типы / Тип bool
Документация по MQL5: Основы языка / Типы данных / Целые типы / Тип bool
  • www.mql5.com
Основы языка / Типы данных / Целые типы / Тип bool - Документация по MQL5
 
Integer:

Il signor sergeev, ... propone qualcosa come la combinazione in un array di variabili come bool, int, double, string, ecc.

...

Questo è possibile in linea di principio, ma

questa universalizzazione porta a un consumo eccessivo di risorse nell'implementazione finale. La grafica è già pesante in termini di risorse.

E a questo prezzo si acquista solo una classe più astratta, tra l'altro non è detto che sia più comprensibile nell'uso.

Ma è un dato di fatto che più l'implementazione è complessa, più è buggata.

 
Urain:

E per questo prezzo si acquista solo una classe più astratta, tra l'altro non è detto che sia più comprensibile nell'uso.

Imho, ti sbagli. Anche Dmitry si sbaglia, anche Alex si sbaglia :) . (Tutti si sbagliano! )))) )

Ancora una volta, imho, Dmitry ha scelto l'opzione migliore in termini di lavoro da scrivere/utilizzare.

Scrivere qualcosa di più semplice da usare (non da capire!) sarebbe stato molto più difficile.