Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 458

 

Pode dizer-me como fazer números a partir de texto?

Há uma cadeia de texto="OpenOrder_Part=1";

Preciso de separar o dígito 1 e convertê-lo em "int".

 
-Aleks-:

Pode dizer-me como fazer números a partir de texto?

Há uma cadeia de texto="OpenOrder_Part=1";

Preciso de separar o dígito 1 e convertê-lo em "int".

Procurar sinais depois de "=" e StringToInteger()
 
-Aleks-:

Pode dizer-me como fazer números a partir de texto?

Há uma cadeia de texto="OpenOrder_Part=1";

Preciso de separar o dígito 1 e convertê-lo em "int".

Num relance - dividir o fio pelo delimitador "=". A função StringSplit(). E depois StringToInteger().
 
Artyom Trishkin:
Procurar sinais depois de "=" e StringToInteger()

Obrigado.

Estranhamente, StringToInteger() não era necessário - os números somam-se sem esta função.


Tapochun:
Num relance, para dividir um fio com "=" delimitador. A função StringSplit(). E depois StringToInteger().

Obrigado! Funcionou bem, mas agora não consigo codificar correctamente a cadeia - combinar texto com dígitos. E não está claro o que fazer se não souber onde está o dígito...

Eu escrevo assim

int CountPendingOrder_OS=1;

string comm="CountPendingOrder_OS_"+CountPendingOrder_OS;

o que é que está errado?
 
-Aleks-:

Obrigado.

Estranhamente, StringToInteger() não era necessário - os números somam-se sem esta função.


Obrigado! Funcionou bem, mas agora não consigo codificar correctamente a cadeia - combinar o texto com os números. E não está claro como o fazer, se não sei onde está o dígito...

Escrevo-o desta forma

int CountPendingOrder_OS=1;

string comm="CountPendingOrder_OS_"+CountPendingOrder_OS;

O que é que está errado?

É por isso que precisava de StringToInteger(). Mas poderia ser mais simples.

string comm = ""+(string)CountPendingOrder_OS.

Está a tentar concatenar a parte das cordas com a parte inteira. É por isso que existe um erro. Deve-se converter a parte inteira na parte de corda. Neste caso, é necessário utilizar conversão explícita.

 
Tapochun:

É por isso que a função StringToInteger() era necessária. Mas poderia ser mais simples.

string comm = ""+(string)CountPendingOrder_OS.

Está a tentar ligar a parte da corda à parte inteira. É por isso que existe um erro. Deve-se converter a parte inteira na parte de corda. Neste caso, é necessário utilizar conversão explícita.

Obrigado, mas é frustrante que a IntegerToString() não consiga lidar com o zero numérico - substitui-o por "placeholder"!
 
-Aleks-:
Obrigado, mas é frustrante que a IntegerToString() não consiga lidar com o zero numérico - substitui-o por um "placeholder"!
Em seguida, utilizar conversão explícita.
 
Tapochun:
Em seguida, utilizar conversão explícita.

Como assim? :) Até agora, fiz uma verificação zero...


Também apanhei um erro, mas não sei como interpretá-lo...

2015.10.15 14:54:46.709 2011.06.29 10:50 Os testes de aprovação terminaram devido a um erro crítico na EA

2015.10.15 14:54:46.709 2011.06.29 10:50 Violação de acesso lido a 0x00000006 em 'C:\Users\\\i}...>Kamikadze_MA-9.ex4'.

 
-Aleks-:

...

Também apanhei um erro, mas não sei como interpretá-lo...

2015.10.15 14:54:46.709 2011.06.29 10:50 Os testes de aprovação terminaram devido a um erro crítico na EA

2015.10.15 14:54:46.709 2011.06.29 10:50 Violação de acesso lido a 0x00000006 em 'C:\Users\\\i}...>Kamikadze_MA-9.ex4'.

Com este erro no servicedesk.
 
-Aleks-:

Como assim? :) Até agora, fiz uma verificação zero...


Também apanhei um erro, mas não sei como interpretá-lo...

2015.10.15 14:54:46.709 2011.06.29 10:50 Os testes de aprovação terminaram devido a um erro crítico na EA

2015.10.15 14:54:46.709 2011.06.29 10:50 Violação de acesso lido a 0x00000006 em 'C:\Users\\\i}...>Kamikadze_MA-9.ex4'.

Descrevi-o acima: (string) antes do nome da variável.

MT5?

Razão: