[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 46

 

Bonjour, j'ai besoin d'aide pour refaire le code. La partie principale du code est jointe en fichier. Le code construit un tableau. J'ai trouvé comment insérer mes valeurs dans le contenu de la table, mais j'ai essayé sans succès de faire la même chose avec la couleur de la police.

Et donc, vous devez faire un contrôle de la couleur du texte comme cela est fait avec Content :

   // Готовим массив с содержимым таблицы      
      for(int i=0;i<20;i++)
      {
       for(int j=0;j<2;j++)
       {
        Content[i][j]="Колонка "+(j+1)+", строка "+(i+1);
       }
      }

c'est-à-dire à peu près comme ça :

aContentTextColor [i][j] // i, j номер колонки и строки - присваивать им цвет
Dossiers :
1.mq4  8 kb
 
Kondratiev_A_A:

Bonjour, j'ai besoin d'aide pour refaire le code. La partie principale du code est jointe en fichier. Le code construit un tableau. J'ai trouvé comment insérer mes valeurs dans le contenu de la table, mais j'ai essayé sans succès de faire la même chose avec la couleur de la police.

Vous devez donc contrôler la couleur du texte comme vous le faites avec le contenu :

c'est-à-dire quelque chose comme ça :

augmenter le nombre d'éléments par "lignes" (par exemple, for(int j=0;j<4;j++) et dans la déclaration du tableau, également, en conséquence) et écrire dans les codes de couleur des 2ème et 3ème (par des nombres) éléments, ce qui est pratique pour une interprétation ultérieure

ou pour une couleur, vous pouvez définir le second tableau de même dimension, comme pour le contenu

 
smshev:

augmenter le nombre d'éléments par "ligne" (for(int j=0;j<4;j++) et aussi dans la déclaration du tableau, respectivement) et écrire dans les 2ème et 3ème (par numéro) éléments les codes de couleur sous une forme pratique pour une interprétation ultérieure

ou pour la couleur, vous pouvez créer un second tableau de même dimension que pour le contenu

Merci pour la réponse !

J'ai essayé la deuxième option avec l'ajout du tableau, mais l'autre code est lié - j'ai essayé de modifier l'autre code de façon purement logique par analogie avec le contenu - erreurs.

Je ne comprends pas avec la première variante, mais j'ai le sentiment que ça ne marchera pas - ce ne sera pas compact)

 
Kondratiev_A_A:

Merci pour la réponse !

J'ai essayé la deuxième option avec l'ajout du tableau, mais l'autre code est lié - j'ai essayé de modifier l'autre code de façon purement logique par analogie avec le contenu - erreurs.

Je ne comprends pas la première variante, mais j'ai l'impression que ça ne marchera pas - ce ne sera pas compact).

Permettez-moi d'expliquer la première variante :

déclarer un tableau non pas, par exemple, <chaîne Contenu[100][2] >, mais<chaîne Contenu [100][3]>, en traitement de boucle en plus de votre chaîne <Contenu[i][j]="Colonne "+(j+1)+", chaîne "+(i+1);>.

ajoutez < Contenu[i][j+1]="Vert" > si vous n'avez besoin que d'une seule couleur par ligne. Ou ="1", selon la façon dont vous décidez de coder les couleurs à cet endroit.

 
smshev:

Laissez-moi vous expliquer la première option :

déclarer un tableau non pas, par exemple, <chaîne Contenu[100][2] >, mais<chaîne Contenu [100][3]>, dans la boucle de traitement à côté de votre chaîne <Contenu[i][j]="Colonne "+(j+1)+", chaîne "+(i+1);>.

ajoutez < Contenu[i][j+1]="Vert" > si vous n'avez besoin que d'une seule couleur par ligne. Ou ="1", selon la façon dont vous décidez de coder les couleurs à cet endroit.


Je vois ce que je veux dire maintenant, merci !
 
Lians:

atztek, alors regardez le code, si vous savez à quoi ressemble le code de la fonction et qu'il est positionné comme ceci :

ZS : si la fonction est dans INIT() ou DEINIT() vous pouvez l'essayer sans le code :)

Certaines opérations que la fonction est autorisée à faire dans deinit ne sont pas autorisées dans start, etc. (il est utilisé plusieurs fois dans différentes parties du code). J'ai pensé qu'il y avait peut-être une commande qui vous permet de vérifier.
Et en général, il a été résolu en ajoutant une variable externe supplémentaire à la liste des variables de fonction.

 
smshev:

Laissez-moi vous expliquer la première option :

déclarer un tableau non pas, par exemple, <chaîne Contenu[100][2] >, mais<chaîne Contenu [100][3]>, dans la boucle de traitement à côté de votre chaîne <Contenu[i][j]="Colonne "+(j+1)+", chaîne "+(i+1);>.

ajoutez < Contenu[i][j+1]="Vert" > si vous n'avez besoin que d'une seule couleur par ligne. Ou ="1", selon la façon dont vous décidez de coder les couleurs à cet endroit.


Malheureusement, je n'ai pas compris pourquoi le nombre de colonnes est passé de 2 à 3. Et pourquoi attribuer une valeur (valeur de chaîne de caractères) à Green ? Ce n'est pas clair pour moi...
 
atztek:

Certaines opérations que les fonctions sont autorisées à effectuer dans deinit ne sont pas autorisées dans start, etc. (il est utilisé plusieurs fois dans différentes parties du code). J'ai pensé qu'il y avait peut-être une commande qui vous permet de vérifier.
Et en général, il a été résolu en ajoutant une variable externe supplémentaire à la liste des variables de fonction.

Il est préférable de définir une variable à un niveau global, à laquelle la valeur doit être attribuée en fonction de la fonction dans laquelle se trouve le programme. Il n'est donc pas nécessaire de surveiller le paramètre transmis à la fonction utilisateur, qui est une source potentielle d'erreurs.
 

Les gars, s'il vous plaît, conseillez-nous !

J'ai besoin que le programme maintienne le SL à dix pips du prix et que, lorsque la clôture se fait au niveau du SL, il change l'ordre en un ordre opposé. Comment cela peut-il être fait ?

 
alsu:
Il est préférable de définir une variable au niveau global, à laquelle on peut attribuer une valeur en fonction de la fonction dans laquelle se trouve le programme. Il n'est donc pas nécessaire de garder la trace du paramètre passé dans la fonction utilisateur, ce qui est une source potentielle d'erreurs.
C'est vrai, mais on peut quand même faire des erreurs en assignant des valeurs différentes à une variable globale;-)
Merci !