Questions des débutants MQL5 MT5 MetaTrader 5 - page 458

 

Pouvez-vous me dire comment faire des chiffres à partir d'un texte ?

Il y a un texte string="OpenOrder_Part=1" ;

Je dois séparer le chiffre 1 et le convertir en "int".

 
-Aleks-:

Pouvez-vous me dire comment faire des chiffres à partir d'un texte ?

Il y a un texte string="OpenOrder_Part=1" ;

Je dois séparer le chiffre 1 et le convertir en "int".

Cherchez les signes après "=" et StringToInteger()
 
-Aleks-:

Pouvez-vous me dire comment faire des chiffres à partir d'un texte ?

Il y a un texte string="OpenOrder_Part=1" ;

Je dois séparer le chiffre 1 et le convertir en "int".

En un coup d'œil - diviser la chaîne par le délimiteur "=". La fonction StringSplit(). Et ensuite StringToInteger().
 
Artyom Trishkin:
Cherchez les signes après "=" et StringToInteger()

Merci.

Étrangement, StringToInteger() n'était pas nécessaire - les chiffres s'additionnent sans cette fonction.


Tapochun:
En un coup d'œil, pour diviser une chaîne de caractères avec le délimiteur "=". La fonction StringSplit(). Et ensuite StringToInteger().

Merci ! Cela a bien fonctionné, mais maintenant je ne peux pas coder la chaîne correctement - combiner du texte avec des chiffres. Et ce n'est pas clair ce qu'il faut faire si je ne sais pas où est le chiffre...

J'écris comme ceci

int CountPendingOrder_OS=1;

string comm="CountPendingOrder_OS_"+CountPendingOrder_OS;

Qu'est-ce qui ne va pas ?
 
-Aleks-:

Merci.

Étrangement, StringToInteger() n'était pas nécessaire - les chiffres s'additionnent sans cette fonction.


Merci ! Cela a bien fonctionné, mais maintenant je ne peux pas coder la chaîne correctement - combiner le texte avec les chiffres. Et je ne sais pas comment faire, si je ne sais pas où se trouve le chiffre...

Je l'écris comme ceci

int CountPendingOrder_OS=1;

string comm="CountPendingOrder_OS_"+CountPendingOrder_OS;

Qu'est-ce qu'il y a ?

C'est pourquoi j'avais besoin de StringToInteger(). Mais cela pourrait être plus simple.

string comm = ""+(string)CountPendingOrder_OS.

Vous essayez de connecter la partie chaîne à la partie entière. C'est pourquoi il y a une erreur. Vous devez convertir la partie entière en chaîne de caractères. Dans ce cas, vous devez utiliser une conversion explicite.

 
Tapochun:

C'est pourquoi la fonction StringToInteger() était nécessaire. Mais cela pourrait être plus simple.

string comm = ""+(string)CountPendingOrder_OS.

Vous essayez de connecter la partie chaîne à la partie entière. C'est pourquoi il y a une erreur. Vous devez convertir la partie entière en chaîne de caractères. Dans ce cas, vous devez utiliser une conversion explicite.

Merci, mais c'est frustrant que IntegerToString() ne puisse pas gérer le zéro numérique - il le remplace par "placeholder" !
 
-Aleks-:
Merci, mais c'est frustrant que IntegerToString() ne puisse pas gérer le zéro numérique - il le remplace par un "placeholder" !
Utilisez ensuite la conversion explicite.
 
Tapochun:
Utilisez ensuite la conversion explicite.

Comment ça ? :) J'ai fait un contrôle zéro jusqu'à présent...


J'ai également relevé une erreur, mais je ne sais pas comment l'interpréter...

2015.10.15 14:54:46.709 2011.06.29 10:50 La passe d'essai a été interrompue en raison d'une erreur critique dans l'EA.

2015.10.15 14:54:46.709 2011.06.29 10:50 Violation d'accès en lecture à 0x00000006 dans 'C:\Users\<...>\Kamikadze_MA-9.ex4'.

 
-Aleks-:

...

J'ai également relevé une erreur, mais je ne sais pas comment l'interpréter...

2015.10.15 14:54:46.709 2011.06.29 10:50 La passe d'essai a été interrompue en raison d'une erreur critique dans l'EA.

2015.10.15 14:54:46.709 2011.06.29 10:50 Violation d'accès en lecture à 0x00000006 dans 'C:\Users\<...>\Kamikadze_MA-9.ex4'.

Avec cette erreur dans Servicedesk.
 
-Aleks-:

Comment ça ? :) J'ai fait un contrôle zéro jusqu'à présent...


J'ai également relevé une erreur, mais je ne sais pas comment l'interpréter...

2015.10.15 14:54:46.709 2011.06.29 10:50 La passe d'essai a été interrompue en raison d'une erreur critique dans l'EA.

2015.10.15 14:54:46.709 2011.06.29 10:50 Violation d'accès en lecture à 0x00000006 dans 'C:\Users\<...>\Kamikadze_MA-9.ex4'.

Je l'ai décrit ci-dessus : (string) avant le nom de la variable.

MT5 ?

Raison: