Crowdsourced GUI. Offene Betatests. - Seite 16

 
Nikolai Semko:

Ich verstehe das immer noch nicht. Muss etwas anderes (Kernel, Engine usw.) parallel laufen, damit ein Indikator oder EA mit Ihrer Benutzeroberfläche funktioniert?

Jetzt nicht mehr. Der Motor ist eine offene Datei. Der Anschluss erfolgt wie in der Abbildung im vorherigen Beitrag gezeigt. Schauen Sie noch einmal genau hin.

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

Реter Konow
:

Jetzt nicht mehr. Der Motor ist eine offene Datei. Der Anschluss erfolgt wie in der Abbildung im vorherigen Beitrag gezeigt. Schauen Sie noch einmal genau hin.

Also gut.
Aber wie lese und/oder ändere ich ein Element im ersten Schnittstellenfenster von meinem Programm aus? Wie sieht sie aus?
In meinem Beispiel sieht das so aus

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

 
Nikolai Semko:

Also gut.
Aber wie lese und/oder ändere ich ein Element im ersten Schnittstellenfenster von meinem Programm aus? Wie sieht sie aus?
In meinem Beispiel sieht das so aus


Einfacher. Alle Funktionen der Steuerelemente werden automatisch benannt und in die Api-Datei gedruckt. Möchten Sie ein Kontrollkästchen erhalten oder ändern? Sie beginnen mit der Eingabe des Namens und Intellisense zeigt Ihnen eine Liste Ihrer Kontrollkästchen mit ähnlichen Namen an:

Hier schreiben Sie die Reaktionen:

//=====================================================================================================================
//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;
  
//=====================================================================================================================


Und hier ist seine Herausforderung:

E_Menu_Simple_checkbox(); 

Sie beginnt mit dem Präfix E_, dann folgen Fenstername und Objektname. Intellisense kümmert sich darum. Sie müssen sich nicht an alles erinnern.

 
Nikolai Semko:

Also gut.
Aber wie kann ich ein Element im ersten Schnittstellenfenster von meinem Programm aus lesen und/oder ändern? Wie sieht sie aus?
In meinem Beispiel sieht das so aus


und der grafische Konstruktor kann z.B. Defines erstellen:

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

und dann können Sie den Code noch besser lesbar machen:

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

Der grafische Konstruktor kann z.B. Defines erstellen:

und dann können Sie den Code noch besser lesbar machen:

All dies gibt es schon seit langem. Es wird jetzt seit einem Jahr getestet.

 
Реter Konow:

Einfacher. Alle Kontrollfunktionen werden automatisch benannt und in die Api-Datei gedruckt. Möchten Sie ein Kontrollkästchen erhalten oder ändern? Sie beginnen mit der Eingabe des Namens und Intellisense zeigt Ihnen eine Auswahl Ihrer Kontrollkästchen mit ähnlichen Namen an:

Hier schreiben Sie die Reaktionen:


Und hier ist seine Herausforderung:

Sie beginnt mit dem Präfix E_, dann folgen Fenstername und Objektname. Intellisense kümmert sich darum. Sie müssen sich nicht an alles erinnern.

versteh ich nicht

 
Nikolai Semko:

Das verstehe ich nicht.

Sie fügen drei Dateien ein und haben vollen Zugriff auf die gesamte im Editor erstellte Benutzeroberfläche. Einfacher geht's nicht.

 
Ist es möglich, grafische Elemente per Code zu erstellen?
 
Aliaksandr Hryshyn:
Ist es möglich, grafische Elemente per Code zu erstellen?
Das macht keinen Sinn. Wenn auch nur durch den Code der Auszeichnungssprache. Ein Editor ist die einfachste Möglichkeit.
 
Реter Konow:
Das macht keinen Sinn. Wenn auch nur im Code der Auszeichnungssprache. Der Editor ist die einfachste Option.

Sehen Sie sich an, wie die zustandslose Benutzeroberfläche funktioniert (googeln Sie es).

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

printf("fck u self");

}

er zeichnet und reagiert gleichzeitig auf die Schaltfläche