Mon approche. Le noyau est le moteur. - page 41

 

Depuis deux ans, j'ai l'impression de ne pas vivre, mais pour être honnête, je ne sais pas où je suis.

Je me suis coupé les veines (dans le sens de la longueur, je peux vous envoyer des photos), maintenant je ne sais pas si je suis vivant ou non - mais le sujet de Peter dit que je ne le suis pas. :(

Je suis dans la matrice :(
 
Vladimir Gribachev:

Depuis deux ans, j'ai l'impression que je ne vis pas, mais je ne sais pas où je suis.

Je me suis coupé les veines (dans le sens de la longueur, je peux vous envoyer des photos), maintenant je ne sais pas si je suis vivant ou non - mais le sujet de Peter dit que je ne le suis pas. :(

Ça doit être mauvais - je suis dans la matrice :(

Vladimir Gribachev:

Je ne sais pas comment c'est.

mais j'en ai rêvé - le moteur principal

Oh, merde !

Je dois retourner à l'asile pour me reposer.

Camarade, ne plaisante pas comme ça.)

Je ne serais pas contre un peu de fluff aussi, mais j'ai peur de la colère. Je suppose que tu ne l'es pas. Je suis surpris de votre retenue, avec une telle cote et un tel nombre de produits sur le marché =))
 
Ilya Malev:
Je ne serais pas contre un peu de badinage aussi, mais j'ai peur de la colère des justes. Je suppose que tu ne l'es pas. Je suis surpris de votre retenue, avec un tel classement et le nombre de produits sur le marché =))

La colère des admins - elle est justifiée.

J'ai vu beaucoup d'interdictions, mais quand on lit toutes les conneries qu'ils écrivent, on se rend compte que, oui, ce n'est pas suffisant pour tuer.

Qu'est-ce que j'ai dit ? Si j'ai tort sur quelque chose, je vous en prie.

 
Ilya Malev:

Camarade, ne plaisante pas comme ça.

Merci de garder l'histoire vivante. bonheur, santé, amour, prospérité, beaucoup d'argent, deux Porsche rouges et une maison en Pologne.

 
Vladimir Gribachev:

merci de préserver l'histoire. bonheur, santé, amour, prospérité, beaucoup d'argent, deux Porsche rouges et une maison en pologne.

Désolé, habitude professionnelle.

P.S. Et merci d'avoir supprimé les messages auxquels j'ai répondu sans les citer.

 

Comme promis, voici la deuxième démo du moteur. Ce moteur se connecte à un Expert Advisor de test (fichier joint ci-dessous) et lui transmet les actions de l'utilisateur.

  1. La fenêtre du moteur comporte deux onglets. Dans l'onglet "Dossiers de groupe", il y a un élément pour minimiser le groupe "G_FOLDER". En cliquant dessus, le tableau apparaîtra/disparaîtra.
  2. Dans l'onglet "Contrôleur d'apparence", il y a deux boutons. Chacun d'eux contrôle l'apparence d'un texte différent. En cliquant dessus, un texte apparaîtra et l'autre disparaîtra.
Installation :
  1. Vous trouverez ci-joint deux fichiers de connexion (Connexion externe et Propriétés de la connexion). Ils doivent être installés dans le dossier inlud. (au lieu des anciennes, si elles existent).
  2. Installez le moteur dans le dossier des indicateurs (à la place de l'ancien, s'il s'y trouve), et mettez-le sur la carte.
  3. Installez le conseiller expert de test sur le graphique. (Le fichier est joint ci-dessous, s'il n'y figure pas. Installez-le dans le dossier Experts, ouvrez-le, enregistrez-le, compilez-le et mettez-le sur le graphique).

Après ces procédures, vous pouvez tester la connexion de l'EA de test.

Lorsque vous cliquez sur des éléments du tableau, que vous saisissez du texte ou que vous sélectionnez une option, le conseiller expert de test affiche un message d'alerte contenant des commentaires sur l'événement.

Vous pouvez examiner la structure du fichier de connexion des externes. C'est très simple.

Le fichier des propriétés de connexion ne doit PAS être ouvert ou modifié.



SZY. Il y a également un fichier de code de fenêtre en bas, pour ceux qui sont intéressés à l'apprendre.

 
Dmitry Fedoseev:

Essayez de faire apparaître un ensemble de contrôles lorsque vous cliquez sur un bouton, et un autre ensemble de contrôles lorsque vous cliquez sur un autre bouton. En même temps, la fenêtre peut être minimisée et maximisée. On suppose également qu'il pourrait y avoir beaucoup de variantes.

Il serait intéressant de demander à Peter comment il pourrait résoudre cette tâche.

Ici, Dimitri, dans l'exemple ci-dessus, trois principes de contrôle du phénomène des éléments fonctionnent en même temps :

  1. Changement d'onglet.
  2. Afficher/masquer des groupes d'éléments avec un élément G_FOLDER.
  3. Afficher/masquer des groupes ou des éléments individuels à l'aide d'un contrôle de phénomène.

Labibliothèque standard (pour autant que je sache) ne possède pas de telles fonctionnalités.

Les onglets, les boutons, les boutons radio, les éléments et autres éléments peuvent être changés à l'aide de SWITCH.

SWITCH, "Элемент 1","Элемент 2","Элемент 3","Элемент 4",..., END,

Le verrouillage de groupes d'éléments ou d'éléments individuels se fait à l'aide de BLOCS.

"Элемент 1",BLOCKS,"Элемент 2","Элемент 3","Элемент 4",..., END,

Le phénomène de groupe est contrôlé par l'élément G_FOLDER.

//Объявляем элемент G_FOLDER:
//----------------------------------------------------------------------------------
GROUP,A,

__,  G_FOLDER, "Group opener 1",  

END_GROUP,
//--------------------------------------------
i,IN,"V1",                       <------------- Устанавливаем канвас на котором рисуем группу элементов.
i, AT, LEFT_TOP, 1,20,           <------------- Устанавливаем позицию группы элементов.

//Устанавливаем свойства элементов типа G_FOLDERS внутри группы:
i,G_FOLDERS, N_COLOR, (int)C'245,245,245',   N_COLOR, (int)C'245,245,245',  AH_COLOR, (int)C'245,245,245',  NH_COLOR, (int)C'245,245,245', END,
//----------------------------------------------------------------------------------
//Делаем таблицу:
//----------------------------------------------------------------------------------
GROUP,A, IS_TABLE,  ROOT,"Group opener 1", <------------------- Устанавливаем привязку явления группы к элементу "Group opener 1", (который является G_FOLDER)


__,     T_HEADER, "The name of the table", H,30,   C_HEADER, "Text cells", C_HEADER, "Checkbox cells",  C_HEADER, "R button cells", C_HEADER, "C list cells",      C_HEADER, "Edit cells", 
__,     R_HEADER, "Row header 1",    T_CELL, "text 1", CHECKBOX, "Checkbox cell 1",    R_BUTTON, "R button cell 1", C_LIST, "C list cell 1",    EDIT, "Edit cell 1",     
__,     R_HEADER, "Row header 2",    T_CELL, "text 2", CHECKBOX, "Checkbox cell 2",    R_BUTTON, "R button cell 2", C_LIST, "C list cell 2",    EDIT, "Edit cell 2",  
__,     R_HEADER, "Row header 3",    T_CELL, "text 3", CHECKBOX, "Checkbox cell 3",    R_BUTTON, "R button cell 3", C_LIST, "C list cell 3",    EDIT, "Edit cell 3",       
__,     R_HEADER, "Row header 4",    T_CELL, "text 4", CHECKBOX, "Checkbox cell 4",    R_BUTTON, "R button cell 4", C_LIST, "C list cell 4",    EDIT, "Edit cell 4", 

END_GROUP,
//----------------------------------
i,  IN, "V1",
i, Y_GAP,-1,
i, X_GAP,-1,

//Устанавливаем свойства элементов типа CHECKBOXES, R_BUTTONS, EDITS внутри группы:
//---------------------------------------------------------------------------------
i, CHECKBOXES, POINTED,0, END, 
i, R_BUTTONS,  POINTED,0, END, 
i, EDITS, POINTED,0, END, 

//Устанавливаем переключение радио-кнопок внутри таблицы:
//---------------------------------------------------------------------------------
"Radio buttons option",SWITCH, "R button cell 1", "R button cell 2","R button cell 3","R button cell 4",  END,

i,IS_ZEBRA_STYLE, <-----------------------------------Устанавливаем стиль Зебра.
i, AT, _X2X, "V1", 4, _Y2H,"Group opener 1", 5,<-----------------------------------Устанавливаем позицию группы относительно сворачивателя.
//----------------------------------------------------------------------------------

Combien de code faudrait-il écrire pour réaliser une telle chose à l'aide de la bibliothèque standard ?

C'est ce qui distingue un langage de marquage d'une bibliothèque. Légèreté et rapidité.

 
Реter Konow:

Ici, Dimitri, dans l'exemple ci-dessus, trois principes de contrôle du phénomène des éléments fonctionnent en même temps :

  1. Changement d'onglet.
  2. Affichage/masquage de groupes d'éléments à l'aide de l'élément G_FOLDER.
  3. Afficher/masquer des groupes ou des éléments individuels à l'aide d'un contrôle de phénomène.

Labibliothèque standard (pour autant que je sache) ne possède pas de telles fonctionnalités.

Les onglets, les boutons, les boutons radio, les éléments et autres éléments peuvent être changés à l'aide de SWITCH.

Le verrouillage de groupes d'éléments ou d'éléments individuels se fait à l'aide de BLOCS.

Le phénomène de groupe est contrôlé par l'élément G_FOLDER.

Combien de code faudrait-il écrire pour réaliser une telle chose à l'aide de la bibliothèque standard ?

C'est ce qui distingue un langage de marquage d'une bibliothèque. Légèreté et rapidité.

Les onglets ne sont pas du tout un contrôle intéressant - vous pouvez très bien vivre sans eux. Le nombre d'onglets est trop limité.

Et 2 et 3 - plus on va loin dans les bois, plus il y a de bois de chauffage. Je n'ai pas la moindre idée de ce que c'est et pourquoi c'est nécessaire, et je ne vais pas le découvrir. Parce qu'un ensemble de contrôles vraiment nécessaires et essentiels a été défini il y a longtemps et c'est plus que suffisant pour toute tâche de création de GUI. Mais cela ressemble à un culte - inventer ses propres noms, méthodologies, définitions... etc.

Je veux vous rappeler une fois de plus qu'une telle implémentation séparée du gui dans un indicateur pour contrôler un EA ne nécessite pas de connexion à l'EA... même si les tableaux sont utilisés au lieu de la POE. L'approche est donc tordue. Il est de travers là où il devrait être le plus parfaitement pensé, car c'est, pourrait-on dire, le "visage du produit".

 
Dmitry Fedoseev:

Les onglets ne sont pas du tout une commande intéressante ; vous pouvez très bien vivre sans eux. Le nombre d'onglets est trop limité.

Et 2 et 3 : plus on avance dans les bois, plus le bois de chauffage est gros. Je n'ai aucune idée de ce que c'est et pourquoi c'est nécessaire, et je ne vais pas le découvrir. Parce qu'un ensemble de contrôles vraiment nécessaires et essentiels a été défini il y a longtemps et c'est plus que suffisant pour toute tâche de création de GUI. Mais cela ressemble à un culte - inventer ses propres noms, méthodologies, définitions... etc.

Je veux vous rappeler une fois de plus qu'une telle implémentation séparée du gui dans un indicateur pour contrôler un EA ne nécessite pas de connexion à l'EA... même si les tableaux sont utilisés au lieu de la POE. L'approche est donc tordue. Il est de travers là où il devrait être le plus parfaitement pensé, car c'est, pourrait-on dire, le "visage du produit".

Les onglets permettent de changer complètement de toile. Et la deuxième et troisième approche est conçue pour gérer le phénomène des éléments sans changer les kanvases. Ainsi, le même kanvas est redessiné et chaque fois avec un ensemble différent d'éléments.

A propos de la connexion, je ne comprends pas votre idée. Pourquoi ne devrait-il pas être connecté à l'EA ? Comment synchroniser les paramètres ?

L'interface graphique est soit complètement intégrée au conseiller expert, soit connectée de l'extérieur. En cas de connexion externe, vous devez définir les propriétés de la connexion et synchroniser les valeurs des paramètres des deux côtés.

 

Le passage de l'interface graphique d'un conseiller expert à un indicateur est une chose discutable (juste à cause de l'architecture MT - les indicateurs fonctionnent dans le fil de l'interface et peuvent ralentir TOUT. Pour que les indicateurs ne ralentissent pas, même une partie de leurs fonctions est interdite en MT)

pas à ce sujet.

Si un utilisateur malheureux a pris quelques indicateurs (tiers) et un EA et qu'ils sont tous des interfaces graphiques avec le moteur du noyau hors du chemin. Que va-t-il se passer ?

PS/ Peter, vous avez déjà trouvé au moins un hébergement gratuit et y mettre votre produit. Si le code de base n'est pas bon. La publication des versions alpha/bêta/prévisualisation ne prend que quelques heures. Tu ne peux pas trouver le temps ?