![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
L a conversion de type forcée ici, peut-elle être placée à l'intérieur d'une fonction afin que l'utilisateur n'ait pas à écrire (chaîne) à l'extérieur de la fonction ?
Je n'ai pas vraiment compris la question, donc ma réponse peut être hors sujet.
Vous pourriez procéder de la manière suivante :
La fonction double renvoie à une variable de type chaîne de caractères en utilisant une conversion forcée à l'étape du retour de la valeur.
Je peux faire encore plus simple :
w7_s_p4_EDIT_Comment_2((string)w6_d_p5_S_EDIT_Spin_the_value());
Théoriquement, vous pouvez le faire de cette façon :
w7_s_p4_EDIT_Comment_2(w6_d_p5_S_EDIT_Spin_the_value());
Le compilateur convertit lui-même le double en chaîne de caractères, mais je ne voudrais pas le recommander.
Je ne comprends pas vraiment la question, donc ma réponse sera peut-être hors sujet.
Vous pouvez procéder de la manière suivante :
La fonction double renvoie une variable de type chaîne de caractères par conversion forcée dans l'étape de retour de valeur.
Théoriquement, c'est possible :
Le compilateur lui-même convertira double en chaîne, mais je ne le recommande pas.
Poursuite du thème de la définition des propriétés et du renvoi et de la transmission des valeurs entre les éléments.
Nous avons examiné plusieurs options :
1. Définir du texte dans un champ de saisie.
w7_s_p4_EDIT_Comment_1("Some random text");
2. Attribution d'une nouvelle valeur au curseur.
w6_i_p3_H_SLIDER_Roll_the_value(33);
3. Sélection d'un nombre arbitraire pour le champ de saisie avec boutons.
w6_d_p5_S_EDIT_Spin_the_value(423.11);
4. Envoyé plusieurs chaînes de texte aux cellules du tableau Infocomptes.
5. Enfin, nous avons renvoyé la nouvelle valeur de l'élément S_EDIT et l'avons envoyée à deux fenêtres différentes : la cellule du tableau Infocomptes et le champ de saisie de texte de la fenêtre Paramètres exemple 2.
double Spin_edit_value = w6_d_p5_S_EDIT_Spin_the_value();//Делаем возврат значения параметра (тип double).
w7_s_p4_EDIT_Comment_2((string)Spin_edit_value);
//---------------------------------------------------------------------------------------------------
Pour terminer ce sujet et passer au suivant, nous devons effectuer quelques opérations :
1. changer la couleur de la barre de défilement.
2. Changer la couleur de la base S_EDIT et du texte.
3. Modifier les couleurs du bouton à l'état enfoncé et à l'état non enfoncé.
4. Vérifier l'envoi de valeurs aux éléments lors de l'événement timer.
//---------------------------------------------------------------------------------------------------
1. changer la couleur de la barre de défilement :
Résultat :
Attribuer une couleur différente à la barre de défilement :
Résultat : Attribuer une couleur différente à la barre de défilement : Résultat :
//---------------------------------------------------------------------------------------------------
2. Changez la couleur du texte et de la base de l'élément S_EDIT :
Obtenons la couleur originale de la base du champ de saisie avec boutons :
Produisons-la dans le journal :
Attribuons une couleur différente à la base du champ :
Résultat :
Définition de la couleur du texte du champ S_EDIT (le préfixe de propriété p4 est utilisé au lieu de p5, car j'ai oublié d'ajouter la propriété de couleur de texte pour S_EDIT. le bogue sera corrigé dans la prochaine version).
//---------------------------------------------------------------------------------------------------
3. Modifier les couleurs du bouton dans les états pressé et non pressé :
Modifier la couleur du bouton à l'état neutre :
Définissez une couleur différente pour l'état activé du bouton:
Vous pouvez également modifier la couleur du texte du bouton à l'état neutre et à l'état enfoncé, mais sur une petite police de caractères, cela n'est pas perceptible. Choisissons donc une autre fenêtre :
Résultat :
Résultat : Résultat :
//---------------------------------------------------------------------------------------------------
4. Vérifiez l'envoi de valeurs aux éléments lors d'un événement de type "timer" :
Résultat :
//------------------------------------------------------------------------------------------------
Ce sujet est terminé.
Nous passons maintenant aux sujets suivants :
9. Retour de la valeur précédente (_V_LAST). Quand et dans quels cas la dernière valeur est requise (à ne pas confondre avec la valeur actuelle).
10. Tester la configuration des états ON/OFF/LOCK_ON/LOCK_OFF/LOCK/UNLOCK pour différents types d'éléments.
A l'intérieur de la fonction w7_s_p4_EDIT_Comment_2, puis convertir le type
Vous pouvez le faire. Mais il y aura un avertissement supplémentaire, car il s'agit d'une conversion de type implicite. Techniquement, vous pouvez simplement envoyer un nombre. Sans variable. Je laisse cela à la discrétion de chacun.
A l'intérieur de la fonction w7_s_p4_EDIT_Comment_2, convertir le type
Il n'y a rien dans la fonction w7_s_p4_EDIT_Comment_2. Il s'agit d'un wrapper qui appelle la fonction centrale. Et la fonction enveloppante ne peut renvoyer qu'une valeur de son propre type.
h ini #: La fonction w7_s_p4_EDIT_Comment_2 ne peut-elle pas générer une version surchargée correspondante qui prend le type double ?
La fonction w7_s_p4_EDIT_Comment_2 ne contient rien. Il s'agit simplement d'une enveloppe qui appelle une fonction centrale. Les fonctions enveloppantes ne peuvent renvoyer que des valeurs de leur propre type.
Ce n'est pas le cas, car il s'agit d'une fonction enveloppante. Il n'est pas nécessaire de la compliquer. Tout le travail est fait par la fonction centrale.C'est vrai.