PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → extraction de chaînes
extraction de chaînes
Started by jaubert, Mar., 27 2006 7:46 PM - 5 replies
Posted on March, 27 2006 - 7:46 PM
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.
Posted on March, 27 2006 - 7:52 PM
Bonjour,

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

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

A+

--
Francis MOREL
Posted on March, 27 2006 - 8:05 PM
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.
Posted on March, 27 2006 - 8:06 PM
Remplacer la virgule par le point dans la boucle sur la fonction extraitchaine
Posted on March, 27 2006 - 8:06 PM
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.
Posted on March, 27 2006 - 8:49 PM
Bonjour,
NomComplet = remplace(nom,".","") résume bien ton code.

Frédéric.