PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2024 → extraction de chaînes
extraction de chaînes
Iniciado por jaubert, 27,mar. 2006 19:46 - 5 respuestas
Publicado el 27,marzo 2006 - 19:46
bonjour,

ci-dessous, un bout de code qui me pose problème

nom est une chaîne = "S30.G01.00.01"
SousChaîne est une chaîne = ExtraitChaîne(nom,rangPremier, ".")
TANTQUE SousChaîne <> EOT
NomComplet = NomComplet + SousChaîne
SousChaîne = ExtraitChaîne(nom, rangSuivant, ",")
FIN

Le but de ce code est de partir de cette chaîne :
nom est une chaîne = "S30.G01.00.01"
Pour arriver à :
NomComplet = "S30G010001"

Or, j'obtiens ceci
NomComplet = "S30G01.00.01"

C'est à dire que je ne passe que deux fois dans la boucle tantque.
La 1ère fois ça marche bien : extraction de la sous chaîne S30 et NomComplet=S30
mais SousChaine prend comme valeur G01.00.01 et après ça plante.

Pourquoi ?

Windev 10

Cordialement,

J.
Publicado el 27,marzo 2006 - 19:52
Bonjour,

il semblerait que tu ais mis une "," a la place d'un "." dans

SousChaîne = ExtraitChaîne(nom, rangSuivant, ",")

A+

--
Francis MOREL
Publicado el 27,marzo 2006 - 20:05
ton extraitchaine dans ta boucle contient une virgule et non un point
mais plus simplement utilise la fonction REMPLACE
NomComplet= Remplace(Nom, ".", "")


yrsnms a écrit :
bonjour,

ci-dessous, un bout de code qui me pose problème

nom est une chaîne = "S30.G01.00.01"
SousChaîne est une chaîne = ExtraitChaîne(nom,rangPremier, ".")
TANTQUE SousChaîne <> EOT
NomComplet = NomComplet + SousChaîne
SousChaîne = ExtraitChaîne(nom, rangSuivant, ",")
FIN

Le but de ce code est de partir de cette chaîne :
nom est une chaîne = "S30.G01.00.01"
Pour arriver à :
NomComplet = "S30G010001"

Or, j'obtiens ceci
NomComplet = "S30G01.00.01"

C'est à dire que je ne passe que deux fois dans la boucle tantque.
La 1ère fois ça marche bien : extraction de la sous chaîne S30 et NomComplet=S30
mais SousChaine prend comme valeur G01.00.01 et après ça plante.

Pourquoi ?

Windev 10

Cordialement,

J.
Publicado el 27,marzo 2006 - 20:06
Remplacer la virgule par le point dans la boucle sur la fonction extraitchaine
Publicado el 27,marzo 2006 - 20:06
Bonjour,

Pourquoi utiliser ExtraitChaine() ? Utilise plutôt Remplace() ça fonctionne
très bien.
NomComplet=remplace(Nom,".","")

Bon dev.
Patrick.


"yrsnms" <jaubert@cer26.cernet.fr> a écrit dans le message de news:
44280680$1@news.pcsoft.fr...

bonjour,

ci-dessous, un bout de code qui me pose problème

nom est une chaîne = "S30.G01.00.01"
SousChaîne est une chaîne = ExtraitChaîne(nom,rangPremier, ".")
TANTQUE SousChaîne <> EOT
NomComplet = NomComplet + SousChaîne
SousChaîne = ExtraitChaîne(nom, rangSuivant, ",")
FIN

Le but de ce code est de partir de cette chaîne :
nom est une chaîne = "S30.G01.00.01"
Pour arriver à :
NomComplet = "S30G010001"

Or, j'obtiens ceci
NomComplet = "S30G01.00.01"

C'est à dire que je ne passe que deux fois dans la boucle tantque.
La 1ère fois ça marche bien : extraction de la sous chaîne S30 et
NomComplet=S30
mais SousChaine prend comme valeur G01.00.01 et après ça plante.

Pourquoi ?

Windev 10

Cordialement,

J.
Publicado el 27,marzo 2006 - 20:49
Bonjour,
NomComplet = remplace(nom,".","") résume bien ton code.

Frédéric.