초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 1444

 

안녕하세요, 알렉산드르 슬라브스키입니다.

러시아어 문자 M이 대사 중 하나에 포함되어 있나요?

 
Aleksandr Slavskii #:

무엇이 문제일까요?

Set - 검색 중인 문자열입니다.

txt - 찾고 있는 문자열입니다.

왜 AAA = -1 ???

안녕하세요, 알렉산더! 데이터 유형을 int 대신 문자열로 설정했어야 하지 않을까요? 숫자가 아닌 텍스트를 찾고 계십니다.

감사합니다, 블라디미르.

 
MrBrooklin #:

안녕하세요, 알렉산더! 데이터 유형을 int 대신 문자열로 설정했어야 하는 건 아닐까요? 숫자가 아닌 텍스트를 찾고 계신 것 같습니다.

감사합니다, 블라디미르.

그림에서 StringFind 함수는 문자열 유형 , 즉 검색된 문자열이 시작되는 위치의 수인 int 유형으로 데이터를 반환하는 것을 볼 수 있습니다.

이 경우 함수는 0을 반환해야 합니다.

 
Aleksandr Slavskii #:

무엇이 문제일까요?

Set - 검색 중인 문자열입니다.

txt - 찾고 있는 문자열입니다.

왜 AAA = -1 ???

그리고 왜 디버거가 txt에 6자가 있어야 하는데 7자를 계산했을까요? 그리고 Set에서는 26이어야 합니다.

 
Aleksandr Slavskii #:

그림은 StringFind 함수가 문자열 유형 , 즉 검색된 문자열이 시작되는 위치의 수인 int 유형으로 데이터를 반환하는 것을 보여줍니다.

이 경우 함수는 0을 반환해야 합니다.

알겠습니다. 설명해 주셔서 감사합니다. 이제 새로운 함수를 배웠습니다.

감사합니다, 블라디미르.

 
Alexey Viktorov #:

왜 디버거가 txt에서 7자를 계산해야 하는데 6자로 계산하나요? 그리고 26이어야 하는 Set에서

예, 예, 이것은 또한 이상합니다, 감사합니다, 여기서 무엇이 잘못되었는지, 나는 질문을 확인하기 시작했습니다 유리 바이 코프, 디버거에서 복사하여 코드에 붙여 넣었는데이 그림을 얻었습니다.

 "
 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() 함수가 오류를 출력합니다.
그러나 이것은 저에게는 정상적인 작업 상황이며 이 문제는 처리되고 해결되며 필요한 경우이 오류를 직접 잡아 출력합니다.

결과적으로 전체 로그는 잠긴 데이터베이스에 대한 메시지로 가득 차 있습니다.

질문에 답해 주세요.
사유: