GUI à l'initiative de la foule. Test bêta ouvert. - page 25

 
Vitaly Muzichenko:

C'est un chef-d'œuvre :)

Si quelque chose doit être refait, dans une semaine vous ne vous souviendrez plus de ce qui appartient à quoi.

C'est analogue à la référence "cet homme, sur ce forum, dont l'avatar est dans le fil de discussion des photos, où il porte des lunettes").

 
Реter Konow:

Je pense que c'est ce que vous vouliez dire :

Ce sont les deux fonctions qui assurent la "communication" de l'interface graphique avec le programme. Ils reçoivent les messages, les décryptent et les transmettent soit aux éléments, soit au programme.

Dans tout ce code, je n'ai vu aucune référence aux éléments eux-mêmes. Les interactions ne sont pas seulement des événements, mais aussi des propriétés et des valeurs des contrôles.

Mais c'est le code qui a le plus attiré mon attention :

send.uint_Send[i1]

seuls les types complexes peuvent être accédés par un point....

 
Алексей Барбашин:

De tout ce code, je n'ai vu aucune référence aux éléments eux-mêmes. L'interaction ne concerne pas seulement les événements, mais aussi les propriétés et les valeurs des contrôles.

Mais c'est le code qui a le plus attiré mon attention :

Seuls les types complexes.... sont accessibles par un point.

Il y a des appels d'éléments partout. Ils se trouvent dans une matrice - par conséquent, se référer à une matrice revient à se référer à un élément, un objet composé, une fenêtre ou un paramètre.

Partout où vous voyez "G_CORE", c'est une référence au noyau. Il contient des éléments.


Il s'agit de la référence à un canevas de fenêtre :

G_CORE[G_CORE[cnvs[f1]][_MAIN]][_CANVAS]

Et vous pouvez le faire de cette façon :

G_CORE[КАНВАС][_X]

или

G_CORE[КАНВАС][_Y]

или

G_CORE[КАНВАС][_X_SIZE]


Il existe de nombreuses façons de faire référence à un élément spécifique. La plus simple est G_CORE[ELEMENT][_X]. La variable "ELEMENT" reçoit automatiquement le numéro de l'élément sur lequel le curseur est placé. Je le place dans le tableau G_CORE[ELEMENT][_X] et j'obtiens la coordonnée X actuelle de cet élément.

 

Реter Konow
:

Il y a des appels d'éléments partout. Ils se trouvent dans une matrice - par conséquent, se référer à une matrice revient à se référer à un élément, un objet composite, une fenêtre ou un paramètre.

Partout où vous voyez "G_CORE", c'est la référence au noyau. A l'intérieur, ce sont des éléments.

Le type de données "matrice" n'existe pas. Peter, montre un peu de respect à tes interlocuteurs. S'il vous plaît, appelez les choses par leur nom commun, pas par celui que vous imaginez. Si vous ne connaissez pas le nom correct d'une entité, allez sur Google ou demandez à votre interlocuteur.

Vous pouvez faire référence aux unités, structures, énumérations ou classes avec un point. Vous n'aimez pas les classes, les énumérations ne peuvent pas contenir de tableaux et les unités ne peuvent être constituées que de types primitifs. Il s'avère que vous utilisez des structures dans votre travail.

Et comme vous utilisez des structures dans votre travail, on ne voit pas bien ce qui vous empêche d'aller plus loin.

Vous n'avez pas d'éléments dans un tableau. Vous avez des valeurs dans des cellules spécifiques. Essayer de nier les normes de programmation acceptées en substituant des choses évidentes par vos propres notions est une manifestation ouverte d'irrespect pour vos interlocuteurs.

Tous vos adversaires vous soutiennent, attendant que vous meniez à bien ce grand projet, alors que vous, de votre côté, vous montrez par tous les moyens possibles non seulement un mépris des normes de programmation, mais aussi un bouleversement total de la terminologie.

 
Алексей Барбашин:

Il n'existe pas de type de données appelé "matrice". Peter, ayez un peu de respect pour vos interlocuteurs. Veuillez appeler les choses par leur nom commun, et non par ce que vous pensez qu'elles sont. Si vous ne connaissez pas le nom correct d'une entité, allez sur Google ou demandez à votre interlocuteur.

Vous pouvez faire référence aux unités, structures, énumérations ou classes avec un point. Vous n'aimez pas les classes, les énumérations ne peuvent pas contenir de tableaux et les unités ne peuvent être constituées que de types primitifs. Il s'avère que vous utilisez des structures dans votre travail.

Et comme vous utilisez des structures dans votre travail, on ne voit pas bien ce qui vous empêche d'aller plus loin.

Quels types ? Je ne comprends pas de quels types vous parlez. J'ai le type int partout.

Je n'utilise pas de structures. Je n'utilise les unions qu'une fois dans une fonction particulière. Ils ne sont utilisés nulle part ailleurs.

Les unions sont nécessaires pour convertir les données et les stocker dans les ressources.

 
Реter Konow:

Quels types ? Je ne sais pas de quels types vous parlez. Je dois taper int partout.

Je n'utilise pas de structures. Je n'utilise les syndicats dans une fonction spécifique qu'UNE seule fois. Ils ne sont utilisés nulle part ailleurs.

send.uint_Send[i1] - send в данном случае не примитивный тип и не юнион
 
Алексей Барбашин:

Il s'agit uniquement de sauvegarder les données dans la ressource. Tout. En une seule fonction, une fois.

Il n'y a pas de structures, pas de classes, pas de types différents. Il existe le type int et le type string.


A propos des normes de programmation. Je les respecte. Mais je programme à ma façon.

Документация по MQL5: Основы языка / Типы данных / Целые типы / Типы char, short, int и long
Документация по MQL5: Основы языка / Типы данных / Целые типы / Типы char, short, int и long
  • www.mql5.com
Целый тип char занимает в памяти 1 байт (8 бит) и позволяет выразить в двоичной системе счисления 2^8 значений=256. Тип char может содержать как положительные, так и отрицательные значения. Диапазон изменения значений составляет от -128 до 127. uchar # Целый тип uchar также занимает в памяти 1 байт, как и тип char, но в отличие от него, uchar...
 
Реter Konow:

Il s'agit uniquement de sauvegarder les données dans la ressource. Tout. En une seule fonction, une fois.

Il n'y a pas de structures, pas de classes, pas de types différents. Il existe le type int et le type string.


A propos des normes de programmation. Je les respecte. Mais je programme à ma façon.

Quel est le type de la variable d'envoi ?

 
Алексей Барбашин:

Quel type de variable est envoyé ?

Union. Mais il est utilisé deux fois.

 

Peter, dans l'un de vos messages, vous faites référence à l'un des utilisateurs du forum : Artem Trishkin.

Prêtez attention à sa série d'articles sur la programmation des outils de trading. Prêtez une attention particulière au fait que sa boîte à outils contient la partie interface. Cette partie interface est basée sur des éléments primitifs.

Je suppose que vous pourriez montrer toute la puissance de votre boîte à outils avec Artem. Je suis sûr qu'Artem serait plus qu'heureux de promouvoir votre boîte à outils auprès d'autres programmeurs..... Mais je crains qu'Artem ait beaucoup de mal à combiner votre approche de la programmation avec la manière dont il a créé ses outils de négociation.