• Advertisement

Gestion des doublons chaine [Résolu]

Tout ce qui concerne la version 11 & plus récentes de windev

**Windev est une marque déposée de Pcsoft**

Gestion des doublons chaine [Résolu]

Messagepar Phil » Mer Fév 18, 2009 6:58 am

Bonjour à tous,
A partir d'une chaine de caractères comportant plusieurs informations (Nom1, Nom2, Nom3,...) je récupère son contenu via le code:
Code: Tout sélectionner
i,n sont des entiers
sNomExtrait, sTexte sont des chaînes
sTexte = Acteurs1
SI Droite(sTexte,1) <> ", " ALORS sTexte += ", "
n  = ChaîneOccurrence(sTexte,",")
POUR i=1 A n
   sNomExtrait = ExtraitChaîne(sTexte,i,", ")
   //Trace(sNomExtrait)
      Acteurs.Prénom_NOM = sNomExtrait          
      SI HAjoute(Acteurs)=Faux ALORS
         Erreur(ErreurInfo())
         SORTIR
      FIN
FIN


Ca fonctionne parfaitement grâce à Samifred qui m'a sorti d'embarras :P
Voir: forum-windev-11-12/champ-texte-separe-par-des-virgules-t5495.html
Mais un problème subsiste:
Cette opération pourrait se représenter à plusieurs reprises avec des noms déjà extraits précédemment...
Comment faire alors pour éviter qu'un nom précédemment ajouté ne se présente plusieurs fois ?
En fait comment gérer les doublons ?

Merci d'avance...
Dernière édition par Phil le Jeu Fév 19, 2009 6:34 am, édité 1 fois.
Phil
Version utilisée: Windev 14
http://mediaparadise-way.com
Phil
Membre Confirmé
 
Messages: 164
Inscription: Mar Déc 12, 2006 11:48 am
Localisation: BELGIQUE

Advertisement

Re: Gestion des doublons sur récupération de chaine

Messagepar Samifred » Mer Fév 18, 2009 8:17 am

Tout simplement en cherchant si il existe déjà...

Code: Tout sélectionner
i,n sont des entiers
sNomExtrait, sTexte sont des chaînes
sTexte = Acteurs1
SI Droite(sTexte,1) <> ", " ALORS sTexte += ", "
n  = ChaîneOccurrence(sTexte,",")
POUR i=1 A n
   sNomExtrait = ExtraitChaîne(sTexte,i,", ")
   //Trace(sNomExtrait)
   HLitRecherchePremier(Acteurs,Prénon_NOM, sNomExtrait)
    SI pas Htrouve(Acteurs) ALORS
         Acteurs.Prénom_NOM = sNomExtrait   
         SI HAjoute(Acteurs)=Faux ALORS
             Erreur(ErreurInfo())
             SORTIR
         FIN
     FIN
FIN


J'ai pas testé, mais normalement pas de problème.
Cordialement, en espérant que ma collaboration soit profitable. Fred Image
PS: Il est important d'indiquer, dans la question, la version WD utilisée.
Note: Pas de question par MP, merci.
Avatar de l’utilisateur
Samifred
 
Messages: 3552
Inscription: Sam Nov 26, 2005 12:16 pm
Localisation: 128.0.0.0

Re: Gestion des doublons sur récupération de chaine

Messagepar Phil » Mer Fév 18, 2009 8:27 am

Comme d'hab, c'est du gateau !
Grand merci Samifred :P
Phil
Version utilisée: Windev 14
http://mediaparadise-way.com
Phil
Membre Confirmé
 
Messages: 164
Inscription: Mar Déc 12, 2006 11:48 am
Localisation: BELGIQUE



  • Advertisement

Retourner vers Forum windev 11 & plus récentes

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité