Maintenant, il passe par 2 caractères par chaîne, par exemple, la chaîne 1215 sera remplacée par ab. Mais j'ai rencontré un problème : la fonction omet les caractères qui ne sont pas dans le tableau et omet le dernier caractère si la chaîne a un nombre impair de caractères. S'il vous plaît aidez à changer la fonction pour que la chaîne 1214153 soit remplacée par a14b3. Merci !
Aidez-moi à modifier la fonction pour que la ligne 1214153 soit remplacée par a14b3. Merci !
Je ne comprends pas la logique, vous avez 14 dans le tableau, c'est-à-dire qu'il devrait être remplacé par "e". Vous pouvez jouer avec la parité, mais il est préférable d'ajouter des zéros, c'est-à-dire de remplacer 3 par 03.
J'ai un peu retravaillé la fonction de remplacement des caractères des chaînes de caractères par des tableaux :
Je pense que tu deviens un peu fou. Si vous avez besoin d'une fonction de remplacement de sous-chaîne, vous pouvez utiliser cette option :
// функция ищет matched_text в строке text и заменяет его на replace_textstring StringReplace(string text, string matched_text, string replace_text)
{
int pos=StringFind(text,matched_text);
while(pos>=0)
{
if(pos==0) text = StringConcatenate(replace_text,StringSubstr(text,StringLen(matched_text)));
else text = StringConcatenate(StringSubstr(text,0,pos),replace_text,StringSubstr(text,pos+StringLen(matched_text)));
pos=StringFind(text,matched_text,pos+StringLen(replace_text));
}
return(text);
}
J'ai un peu modifié la fin, je n'ai pas immédiatement remarqué la fonction de boucle.
Je ne comprends pas la logique, vous avez 14 dans le tableau, c'est-à-dire qu'il devrait être remplacé par "e". Vous pouvez jouer avec la parité, mais il est préférable d'ajouter des zéros, c'est-à-dire de remplacer 3 par 03.
Oh, désolé, je n'avais pas remarqué, alors disons 1217153 à a17b3, à propos de la parité - ajouter des zéros est bien, pouvez-vous le faire ? ou omettre le dernier caractère, je pensais que ce n'était pas important.
Lians: Oh, désolé, je n'avais pas remarqué, alors disons 1217153 sur a17b3, à propos de la parité - l'option d'ajouter des zéros fonctionnerait, pouvez-vous le faire ?
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
J'ai réécrit la fonction de remplacement des chaînes de caractères avec des tableaux :
string StrReplaceTwo(string text){
string textMod[] ={""};
string symbols1[] = {"12","15","19","13","14","16"};
string symbols2[] = {"a","b","c","d","e","f"};
string textNew="";
int textLen = StringLen(text);
for (int i1=0; i1<textLen; i1=i1+2)
{
string TwoSymbols = StringSubstr(text,i1,2);
for (int i2=0; i2<ArraySize(symbols1); i2++)
{
if (symbols1[i2]==TwoSymbols) {textNew = textNew + symbols2[ i2 ] ; i2=ArraySize(symbols1) ; }
}
}
return (textNew);
}
Maintenant, il passe par 2 caractères par chaîne, par exemple, la chaîne 1215 sera remplacée par ab. Mais j'ai rencontré un problème : la fonction omet les caractères qui ne sont pas dans le tableau et omet le dernier caractère si la chaîne a un nombre impair de caractères. S'il vous plaît aidez à changer la fonction pour que la chaîne 1214153 soit remplacée par a14b3. Merci !
Aidez-moi à modifier la fonction pour que la ligne 1214153 soit remplacée par a14b3. Merci !
Je ne comprends pas la logique, vous avez 14 dans le tableau, c'est-à-dire qu'il devrait être remplacé par "e". Vous pouvez jouer avec la parité, mais il est préférable d'ajouter des zéros, c'est-à-dire de remplacer 3 par 03.
J'ai un peu retravaillé la fonction de remplacement des caractères des chaînes de caractères par des tableaux :
Je pense que tu deviens un peu fou. Si vous avez besoin d'une fonction de remplacement de sous-chaîne, vous pouvez utiliser cette option :
J'ai un peu modifié la fin, je n'ai pas immédiatement remarqué la fonction de boucle.
Je ne comprends pas la logique, vous avez 14 dans le tableau, c'est-à-dire qu'il devrait être remplacé par "e". Vous pouvez jouer avec la parité, mais il est préférable d'ajouter des zéros, c'est-à-dire de remplacer 3 par 03.
Je pense que tu deviens un peu fou. Si vous avez besoin de la fonction de remplacement des sous-chaînes, vous pouvez utiliser cette option :
Lians:
Oh, désolé, je n'avais pas remarqué, alors disons 1217153 sur a17b3, à propos de la parité - l'option d'ajouter des zéros fonctionnerait, pouvez-vous le faire ?
Merci, mais je n'arrive pas à le compiler, il se bloque sur une chaîne de caractères :
if(x) textNew +=StrToInteger(TwoSymbols);C'est comme ça : '+=' - les deux opérandes doivent être numériques.
Comment puis-je le réparer ?
Merci, mais je n'arrive pas à le compiler, il se bloque sur une chaîne de caractères :
Voici ce qu'il dit : "+=" - les deux opérandes doivent être numériques.
Comment puis-je le réparer ?
Il ne fonctionne pas pour les chaînes de caractères dans MQL4.
Merci, mais je n'arrive pas à le compiler, il se bloque sur une chaîne de caractères :
il est écrit : '+=' - les deux opérandes doivent être numériques.
Comment puis-je le réparer ?