初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 458

 

テキストから数字を作る方法を教えてください。

テキストstring="OpenOrder_Part=1 "が存在します。

1という数字を区切って "int "に変換したい。

 
-Aleks-:

テキストから数字を作る方法を教えてください。

テキストstring="OpenOrder_Part=1 "が存在します。

1という数字を区切って "int "に変換したい。

=" とStringToInteger() の後にある記号を探す
 
-Aleks-:

テキストから数字を作る方法を教えてください。

テキストstring="OpenOrder_Part=1 "が存在します。

1という数字を区切って "int "に変換したい。

一目瞭然 - "="デリミタで文字列を分割します。StringSplit()関数 です。そして、StringToInteger()。
 
Artyom Trishkin:
=" と StringToInteger() の後にある記号を探す

ありがとうございます。

不思議なことに、StringToInteger() は不要で、この関数がなくても数字は足し算されます。


たぽちゅん
一応、"="デリミタで文字列を分割すること。StringSplit()関数です。そして、StringToInteger()。

ありがとうございました。うまくいったのですが、今度は文字列を正しくコード化することができません。しかも、桁の位置がわからないとどうしたらいいのかわからないし...。

こんな風に書いています。

int CountPendingOrder_OS=1;

string comm="CountPendingOrder_OS_"+CountPendingOrder_OS;

どうしたものか
 
-Aleks-:

ありがとうございます。

不思議なことに、StringToInteger()は必要ありませんでした。この関数がなくても、数字は足し算されます。


ありがとうございました。うまくいったのですが、今度は文字列を正しくコーディングすることができません - テキストと数字を組み合わせてください。しかも、桁の位置がわからないと、どうしたらいいのかわからないし...。

私はこのように書いています。

int CountPendingOrder_OS=1;

string comm="CountPendingOrder_OS_"+CountPendingOrder_OS;

どうしたんですか?

そのため、StringToInteger() が必要だったのです。でも、もっとシンプルでいいんです。

文字列 comm = ""+(文字列)CountPendingOrder_OS.

文字列の部分と整数の部分をつなげようとしているのですね。そのため、エラーが発生するのです。整数部分を文字列に変換する必要があります。この場合、明示的な変換を行う必要があります。

 
Tapochun:

そのため、StringToInteger()関数が 必要になったのです。でも、もっとシンプルでいいんです。

文字列 comm = ""+(文字列)CountPendingOrder_OS.

文字列の部分と整数の部分をつなげようとしているのですね。そのため、エラーが発生するのです。整数部分を文字列に変換する必要があります。この場合、明示的な変換を行う必要があります。

ありがとうございます。しかし、IntegerToString()が数字のゼロを処理できない のはもどかしいですね。
 
-Aleks-:
ありがとうございます。しかし、IntegerToString()が数字のゼロを処理 できないのがもどかしいですね。"プレースホルダー "に置き換わって しまいます
その後、明示的な変換を行う。
 
Tapochun:
その後、明示的な変換を行う。

どうですか?:)ここまでゼロチェックで...。


また、エラーが出たのですが、どう解釈したらいいのかわかりません...。

2015.10.15 14:54:46.709 2011.06.29 10:50 EAの重大なエラーのためテストパス停止

2015.10.15 14:54:46.709 2011.06.29 10:50 アクセス違反 read to 0x00000006 in 'C:\Users<...>⑭Kamikadze_MA-9.ex4'.

 
-Aleks-:

...

また、エラーが出たのですが、どう解釈したらいいのかわかりません...。

2015.10.15 14:54:46.709 2011.06.29 10:50 EAの重大なエラーのためテストパス停止

2015.10.15 14:54:46.709 2011.06.29 10:50 アクセス違反 read to 0x00000006 in 'C:\Users<...>⑭Kamikadze_MA-9.ex4'.

servicedeskの このエラーで
 
-Aleks-:

どうですか?:)ここまでゼロチェックで...。


また、エラーが出たのですが、どう解釈したらいいのかわかりません...。

2015.10.15 14:54:46.709 2011.06.29 10:50 EAの重大なエラーのためテストパス停止

2015.10.15 14:54:46.709 2011.06.29 10:50 アクセス違反 read to 0x00000006 in 'C:\Users<...>⑭Kamikadze_MA-9.ex4'.

上記で説明した、変数名の前に(string)を記述する。

MT5?

理由: