Discussão do artigo "Controles gráficos personalizados. Parte 3. Formas" - página 2

 
Urain:

Eu fiz tudo certo.

Dadas as possibilidades do ME, é bastante conveniente, o minimalismo japonês na era do kitsch total, tudo está lá, nada supérfluo.

Aqueles que quiserem fazer um loop pelos objetos podem implementar um shell postfix onde podem escrever o que quiserem.


Nikolay, você acha que, na MQL5, isso parece estar bem organizado e de acordo com as possibilidades?


         void OnHideEvent(){
            // 7. Chamada do método Hide() para todos os controles de formulário
            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, você acha que isso está bem organizado e de acordo com as possibilidades da MQL5?

Não, os japoneses são contra isso. Deveria ter exatamente três linhas.
 
sergeev:

Nikolay, você acha que, na MQL5, isso fica bem organizado e de acordo com as possibilidades?

Se você não tiver tempo suficiente para digitar, use um modelo.

Não se preocupe muito em realizar todas as possibilidades, pois estamos escrevendo códigos, não criando imagens a partir de letras.

Não estou vendo nenhum problema.

 
É apenas uma opinião. Sou mais do tipo que gosta de pintar códigos. Esteta. :)
 
sergeev:

É apenas uma opinião. Sou mais do tipo que gosta de pintar códigos. Esteta. :)

Na verdade, o Integer oferece uma API com um nível de abstração um pouco menor do que você queria.

Bem, refine-a para você, coloque-a na base de código e talvez sua API seja mais popular.

 
papaklass:

Você não deveria ter recuado.

Porque também existe a ética profissional. O Integer é um profissional e não precisa ser ensinado.

Mas se o médico disser morgue, então será morgue.

 
Urain:

Na verdade, o Integer oferece uma API com um nível de abstração um pouco inferior ao que você queria.

Bem, refine-a a seu gosto, coloque-a na base de código e talvez sua API se torne mais popular.

É improvável que uma biblioteca em que cada classe tenha o mesmo conjunto de métodos, metade dos quais será inválida, se torne popular.

 
papaklass:

Você não deveria ter recuado. Você está absolutamente certo. Uma pessoa que se posiciona como um programador legal e profissional é obrigada a escrever um código correto e bonito. Os iniciantes terão algo com que aprender.

O Sr. Sergeev, tendo caído em algum equívoco fundamental e posicional, sugere algo como combinar variáveis como bool, int, double, string etc. em uma matriz.

Mas você, Sr. papaklass, como um verdadeiro troll, ouve um ruído, mas não sabe onde ele está.

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

O Sr. Sergeev, ... propõe algo como combinar em um único array variáveis como bool, int, double, string, etc.

...

Em princípio, isso é possível, mas

essa universalização leva ao consumo excessivo de recursos na implementação final. Os gráficos já são pesados em termos de recursos.

E, por esse preço, você compra apenas uma classe mais abstrata, a propósito, não é fato que ela será mais compreensível em uso.

Mas é um fato que, quanto mais complexa for a implementação, mais bugs ela terá.

 
Urain:

E, por esse preço, você compra apenas uma classe mais abstrata, o que, aliás, não significa que ela será mais compreensível no uso.

Na minha opinião, você está errado. Dmitry também está errado, Alex também está errado :) . (Todos estão errados! )))) )

Mais uma vez, na minha opinião, Dmitry escolheu a melhor opção em termos de trabalho para escrever/usar.

Escrever algo mais simples de usar (não de entender!) seria muito mais difícil.