PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → remplacer des caracteres par des  autres dans une chaine sous windev
remplacer des caracteres par des autres dans une chaine sous windev
Iniciado por Ibtissem, 01,sep. 2020 01:09 - 2 respuestas
Miembro registrado
12 mensajes
Publicado el 01,septiembre 2020 - 01:09
Bonjour,
Quelqu'un connaitrait il l'équialent de la fonction replace pour remplacer un caractere par autre dans une chaine

sai_sh est une chaine ="123456789"
je veux remplacer chaque nombre

example :
change 1 par :\x31\
change 2 par :\x32\
change 3 par :\x33\
change 4 par :\x34\
change 5 par :\x35\
change 6 par :\x36\
change 7 par :\x37\
change 8 par :\x38\
change 9 par :\x39\

Reslat finale 123456789 >> \x31\x32\x33\x34\x35\x36\x37\x38\x39

Et Merci
Miembro registrado
4.363 mensajes
Publicado el 01,septiembre 2020 - 02:48
Bonjour,
Il faut considérer ta chaîne comme un tableau de caractère et boucler sur l'indice de ce tableau, en prenant soin de prendre en compte la taille de la modification.
Procedure RemplaceMultiple(sMaChaine est chaîne)
nPosCaractère est un entier
nTailleAjout est un entier

POUR nPosCaractère=1 _À_ Taille(sMaChaine)
sMaChaine[nPosCaractère+nTailleAjout]=ChaîneConstruit("\x3%1",sMaChaine[nPosCaractère+nTailleAjout])
nTailleAjout+=3
FIN

Utilisation :
sChaineTest est une chaîne

sChaineTest="123456789"
TraceConstruit("Avant modification : %1",sChaineTest)
RemplaceMultiple(sChaineTest)
TraceConstruit("Après modification : %1",sChaineTest)


--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
12 mensajes
Publicado el 01,septiembre 2020 - 13:51
Merci infiniment...................... mon frère
ça a marche très très bien