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

 

こんにちは、アレクサンドル・スラヴスキー

ロシア語の「M」は、たまたまセリフの中にあったのですか?

 
Aleksandr Slavskii #:

何が問題なのか

Set - 検索対象の文字列。

txt - 何を探しているか。

なぜaaa = -1 ?

こんにちは、アレクサンダー!データ型をintではなくstringにするべきだったのでは?あなたが探しているのは数値ではなくテキストです。

ありがとう、ウラジミール。

 
MrBrooklin #:

こんにちは、アレクサンダー!データ型はintではなくstringにすべきだったのでは?あなたが探しているのは数値ではなくテキストだと思います。

ありがとう、ウラジミール。

図では、StringFind関数は 文字列型、int型 、つまり検索された文字列が始まる位置の番号を持つデータを返して いることがわかります。

この場合、関数はゼロを返すはずです。

 
Aleksandr Slavskii #:

何が問題なのか

Set - 検索対象の文字列。

txt - 何を探しているか。

なぜaaa = -1 ?

また、デバッガはtxtに6文字のはずなのに、なぜ7文字とカウントしたのでしょうか?Setでは26文字のはずなのに。

 
Aleksandr Slavskii #:

この図は、StringFind関数が文字列 つまり検索された文字列が始まる位置の数をint 型でデータを返して いることを示している。

この場合、関数はゼロを返すはずである。

なるほど。分かりやすい説明をありがとう。私にとって新しい関数を学ぶことができました。

ありがとう、ウラジミール。

 
Alexey Viktorov #:

デバッガはなぜtxtで6文字のはずが7文字もカウントするのでしょうか?そしてSetでは26文字のはずなのに

はい、はい、そしてこれはまたおかしい、ありがとう、ここで何が間違っているか、私は質問Yuriy Bykovを 点検し始めた 、私はデバッガからコピーし、コードに貼り付けた、私はこの映像を得た。

 "
 RiskMM" (length: 7)        
 "RiskMM=0.3/0.3/0.3/0.3/0.3" (length: 26)

私は どこかから 別の行にハイフンを得た。

あなたの助けをありがとう。調べてみます。

Yuriy Bykov
Yuriy Bykov
  • 2023.01.13
  • www.mql5.com
Профиль трейдера
 

黄色で強調された部分にその効果はないのでしょうか?自習のために説明しているのです。

StringFind

Поиск подстроки в строке.

int  StringFind(
   string  string_value,        // строка, в которой ищем
   string  match_substring,     // что ищем
   int     start_pos=0          // с какой позиции начинать поиск
   );

Параметры

string_value

[in]  Строка, в которой производится поиск.

match_substring

[in]  Искомая подстрока.

start_pos=0

[in]  Позиция в строке, с которой должен быть начат поиск.

Возвращаемое значение

Возвращает номер позиции в строке, с которой начинается искомая подстрока, либо -1, если подстрока не найдена.

よろしく、ウラジミール。

 
MrBrooklin #:

黄色で強調された部分にその効果はないのでしょうか?自習のために明らかにしておきます。

よろしく、ウラジミール。

int start_pos=0デフォルト値

関数に渡すときに指定しないと、0が代入される。

StringFind(Set, txt);
StringFind(Set, txt, 0);

同じです。

 
Aleksandr Slavskii #:

int start_pos=0デフォルト値

関数に渡す際に指定しなかった場合、0が代入される。

これは同じである。

わかったよ、アレクサンダー。これでわかるよ。

ウラジーミル

 
Evgeny Dyuka #:


例えば、DatabaseOpen()関数は、データベースがロックされ、関数がアクセスできないたびにエラーを出力します。
しかし、これは私にとって通常の作業状況であり、この問題は処理され、解決され、必要であれば、私自身がこのエラーをキャッチし、出力します。

その結果、ログ全体がロックされたベースに関するメッセージでいっぱいになっています。

質問に答えてください
理由: