文章 "自定义图形控件。第 3 部分 表单" - 页 2

 
Urain:

我做的一切都是对的。

考虑到 ME 的各种可能性,我觉得它还是挺方便的,在这个完全媚俗的时代,日本的极简主义可谓应有尽有,没有任何多余的东西。

那些想在对象中循环的人可以实现一个后缀外壳,在那里他们可以写任何他们想写的东西。


尼古拉,你认为在 MQL5 中这看起来整洁并符合可能性吗?


         void OnHideEvent(){
            // 7.为所有表单控件调用 Hide() 方法
            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:

尼古拉,你认为这看起来整洁并符合 MQL5 的可能性吗?

不,日本人反对这样做,应该是三行。
 
sergeev:

尼古拉,你认为在 MQL5 中,这看起来整洁并符合可能性吗?

如果您没有足够的时间打字,可以使用模板。

您不应该太喜欢实现所有的可能性,我们是在写代码,而不是用字母来创建图片。

我看不出有什么问题。

 
这只是一种观点。我更喜欢画代码。Aesthete.:)
 
sergeev:

这只是一种观点。我更喜欢画代码。Aesthete.:)

事实上,Integer 提供的 API 的抽象程度比你想要的要低一些。

好吧,那就自己完善一下,把它放到代码库中,也许你的 API 会更受欢迎。

 
papaklass:

你不应该退缩

因为还有职业道德英特尔是专业人士,不需要教

但如果医生说停尸房,那就停尸房吧

 
Urain:

事实上,Integer 提供的应用程序接口的抽象程度比你想要的要低一些。

好吧,按照你的喜好完善它,把它放到代码库中,也许你的 API 会更受欢迎。

如果一个库中的每个类都有相同的方法集,其中一半是无效的,那么这个库就不可能流行起来。

 
papaklass:

你不应该退缩。你说得很对。一个把自己定位为很酷的专业程序员的人,有义务写出正确、漂亮的代码。初学者可以从中学到一些东西。

sergeev 先生陷入了一些基本的定位误区,他建议将bool、int、double、string 等变量合并到一个数组中。

但是,你,papaklass 先生,作为一个真正的巨魔,听到了噪音,却不知道噪音在哪里。

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

sergeev 先生...他提出了把bool、int、double、string 等变量合并到一个数组中的建议。

...

这在原则上是可行的,但

这种通用化会导致最终实现时过度消耗资源。图形处理本来就需要大量资源。

顺便说一下,这并不是说它在使用中会更容易理解。

但事实是,实现越复杂,错误就越多。

 
Urain:

顺便说一句,并不是说它在使用中会更容易理解。

我认为,你错了。德米特里也错了,亚历克斯也错了:)。(每个人都错了! )))))

同样,在我看来,德米特里选择了在编写/使用上最省力的方案。

写一些更简单易用的东西(而不是理解!)会更加困难。