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

 

Bonjour, Aleksandr Slavskii.

La lettre russe M se trouvait-elle par hasard dans l'une des lignes ?

 
Aleksandr Slavskii #:

Qu'est-ce qui pourrait ne pas fonctionner ?

Set - la chaîne de caractères dans laquelle nous effectuons la recherche.

txt - ce que nous recherchons.

pourquoi aaa = -1 ? ??

Bonjour Alexander, peut-être aurais-tu dû définir le type de données à string au lieu de int ? Vous recherchez du texte, pas un nombre.

Cordialement, Vladimir.

 
MrBrooklin #:

Bonjour Alexander, peut-être que le type de données aurait dû être défini comme string au lieu de int ? Je pense que vous recherchez du texte et non un nombre.

Cordialement, Vladimir.

Sur l'image, vous pouvez voir que la fonction StringFind renvoie des données de type string , de type int , à savoir le numéro de la position à partir de laquelle la chaîne recherchée commence.

Dans ce cas, la fonction aurait dû renvoyer zéro.

 
Aleksandr Slavskii #:

Qu'est-ce qui ne va pas ?

Set - la chaîne de caractères dans laquelle nous effectuons la recherche.

txt - ce que nous recherchons.

pourquoi aaa = -1 ? ??

Et pourquoi le débogueur a compté 7 caractères dans txt alors qu'il devrait y en avoir 6 ? Et dans Set, c'est censé être 26.

 
Aleksandr Slavskii #:

L'image montre que la fonction StringFind renvoie des données de type string, de type int , à savoir le numéro de la position à partir de laquelle commence la chaîne recherchée.

Dans ce cas, la fonction aurait dû renvoyer zéro.

Je vois. Merci pour cet éclaircissement. J'ai maintenant appris une nouvelle fonction pour moi.

Cordialement, Vladimir.

 
Alexey Viktorov #:

Pourquoi le débogueur a-t-il compté 7 caractères dans txt alors qu'il devrait en compter 6 ? Et dans Set alors qu'il devrait y en avoir 26

Oui, oui, et c'est également étrange, merci, qu'est-ce qui ne va pas ici, j'ai commencé à vérifier la question de Yuriy Bykov, j'ai copié à partir du débogueur et collé dans le code, j'ai obtenu cette image.

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

J'ai obtenu la césure sur une autre ligne quelque part.

Merci à tous pour votre aide. Je vais me pencher sur la question.

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

Les éléments surlignés en jaune ne peuvent-ils pas avoir cet effet ? Je clarifie les choses dans un but d'auto-apprentissage.

StringFind

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

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

Параметры

string_value

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

match_substring

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

start_pos=0

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

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

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

Je vous prie d'agréer, Vladimir, mes salutations distinguées.

 
MrBrooklin #:

Le surlignage en jaune ne peut-il pas avoir cet effet ? Juste pour clarifier les choses à des fins d'auto-apprentissage.

Cordialement, Vladimir.

int start_pos=0 Valeur par défaut

Si vous ne le spécifiez pas lorsque vous le passez à une fonction, zéro sera substitué.

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

C'est la même chose.

 
Aleksandr Slavskii #:

int start_pos=0 Valeur par défaut

Si elle n'est pas spécifiée lors de sa transmission à la fonction, zéro sera substitué.

C'est la même chose.

Je comprends, Alexandre. Maintenant, je vais savoir.

Amitiés, Vladimir.

 
Evgeny Dyuka #:

Est-il possible d'annuler l'affichage des erreurs de connexion à la base de données ?
Par exemple, la fonction DatabaseOpen() affiche une erreur chaque fois que la base de données est verrouillée et que la fonction ne peut pas y accéder.
Mais il s'agit d'une situation de travail normale pour moi et ce problème est traité et résolu et, si nécessaire, j'attraperai et afficherai cette erreur moi-même.

En conséquence, tout le journal est rempli de messages concernant la base verrouillée.

Répondez à la question, s'il vous plaît
Raison: