크라우드소싱 GUI. 오픈 베타 테스트. - 페이지 14

 

그는 바로 그 사람이다. 나는 그를 보았다. 스케치를 스케치했습니다. 회의는 짧았습니다. 그는 덜거덕거렸고 나는 거의 이해하지 못했습니다. 그러나 구부러진 디스플레이에 헐렁한 먼지로 얼룩져 있을 때 그는 3과 20을 보여주었고 이것이 데이트라는 것을 깨달았습니다. 그리고는 마치 없었던 것처럼 스스로 치솟은 먼지 속으로 사라졌다.



그는 나타날 것이다.

 

보조 마크업.



그리드와 약간의 종소리와 휘파람을 추가하겠습니다.

 

속성 창.


 

ㅋ...
보세요, Peter는 결국 그런 속도로 모든 사람을 죽일 것입니다.

쉿, 물론 OOP라면 탈 수 있다.

 
Nikolai Semko :

ㅋ...
보세요, Peter는 결국 그런 속도로 모든 사람을 죽일 것입니다.

쉿, 물론 OOP라면 탈 수 있다.

솔직히 말하면, 니콜라이, 나는 오랫동안 내 일에 대한 부당한 평가를 견뎌냈습니다. 누구나 코드 스타일을 판단합니다. 접근 방식의 진정한 강점을 보여줄 수 없었고 말로 무언가를 증명해야했습니다. 마크업 언어를 공개해도 소용이 없었다. 사람들은 어떤 것도 적절하게 평가할 수 없었습니다. 이제 모든 것이 달라질 것입니다. 비주얼 편집기를 통해 실제 결과를 "느끼게" 할 수 있으며 모든 사람이 직접 볼 수 있습니다. 이번에는 평가가 객관적일 것입니다. '외국인'의 이미지를 위태롭게 하겠다.

 

Peter, 문제는 사람이 아닙니다. 당신 자신이 올바르게 평가하지 못했습니다.

여기에서 토론할 수 있습니다. 이 작업을 위해 30분의 시간이 있습니다.

 
당신은 나의 열정을 시험해 볼 수 있습니다
 
Реter Konow :


Peter, 그러나 주요 질문은 여전히 열려 있습니다.
귀하의 창작물을 단순한 사용자에게 어떻게 사용합니까?

물론 엔진과 코어는 보이지 않지만 포함된 라이브러리와 Visual Constructor가 생성하는 mqh 파일만 볼 수 있습니다(일반 표시기 또는 Expert Advisor의 형태로 만들어짐).

제 생각에는 다음과 같아야 합니다.

 //+------------------------------------------------------------------+
//|                                                 TestPeterGui.mq5 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#include "myGUI.mqh"          // это файл сгенерированный визуальным конструктором, он содержит 
                             // созданный экземпляр класса CGuiFromPeter с именем myGUI, который 
                             // и есть уже созданный в визуальном конструкторе ГУИ, который может 
                             // состоять из любого количества окон 
#include <GuiFromPeter.mqh> // это главная библиотека, которую необязательно указывать, т.к. эта строка может быть в предыдущем файле


int OnInit ()
  {
   myGUI.init();   // возможно это не обязательно
   return ( INIT_SUCCEEDED );
  }

void OnDeinit ( const int reason)
  {
   myGUI.deinit();   // возможно это не обязательно
  }

void OnTick ()
  {
   myGUI. OnTick ();
   MqlRates rates[];
   int start_pos= 0 ,count= 1 ;
   if ( CopyRates ( _Symbol , _Period ,start_pos,count,rates)!=count) return ;
   if (myGUI.win[0].ChecBox[ 2 ].isCheck())   myGUI.win[ 1 ].TextLabel[ 5 ].text  =  DoubleToString (rates[ 0 ].close, _Digits );
   if (myGUI.win[ 1 ].ChecBox[ 3 ].isCheck())   myGUI.win[ 1 ].TextLabel[ 6 ].text  =  DoubleToString (rates[ 0 ].high, _Digits );
   myGUI.Update();  
  }

void OnTimer ()
  {
   myGUI.onTimer(); 
   
  }

void OnChartEvent ( const int id,
                   const long &lparam,
                   const double &dparam,
                   const string &sparam)
  {
   myGUI.onChartEvent(id,lparam,dparam,sparam);   
  }
//+------------------------------------------------------------------+

따라서 어쨌든 모든 것이 명확하고 이해할 수 있습니다. 그리고 초보 프로그래머 도 첫날부터 사용할 수 있습니다.

위협, 객체 배열의 요소(예: TextLabel[6])를 정의의 도움으로 교체하는 것이 훨씬 낫습니다. 정의의 도움으로 myGUI.mqh에 이미 있을 것이며 더 이해하기 쉬운 이름(예: hight_price_of_last_bar)으로

 
Nikolai Semko :

Peter, 그러나 주요 질문은 여전히 열려 있습니다.
귀하의 창작물을 단순한 사용자에게 어떻게 사용합니까?

물론 엔진이나 코어는 보이지 않고 포함된 라이브러리와 Visual Builder(일반 표시기 또는 Expert Advisor로 제작)에서 생성한 mqh 파일만 볼 수 있습니다.

제 생각에는 다음과 같아야 합니다.

따라서 어쨌든 모든 것이 명확하고 이해할 수 있습니다. 그리고 초보 프로그래머 도 첫날부터 사용할 수 있습니다.

그래서 보인다. 마크업 언어부터. 그것에 대한 설명에는 그러한 연결이 있습니다.

 
Реter Konow :

그래서 보인다.

저것들. 이미 클래스에서 코드를 다시 작성했습니까?