Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Tri doublon [ Divers / Débutants ] (lacomm)

mercredi 19 septembre 2007 à 12:21:41 | Tri doublon

lacomm

Bonjour

J'ai des fichiers texte dans lesquels il y a différents locuteurs que je voudrais extraire
Par exemple:

loc1: bonjour
loc2: salut
loc3: coucou
loc1: hello.

Le but est d'avoir un tableau qui reprenne les différents locuteurs sans bien sur les doublons, ou les locuteurs qui reprennent la parole: loc1, loc2,loc3

'ceci est ok: chaque locuteur est extrait mais à chaque prise de parole, donc j'ai une variable avec loc1, loc2, 'loc3, loc1 si on prend l'exemple.
source() = Split(txtsource.Text, "£")
    For EnonLoc = 1 To UBound(source)
        sourceMS() = Split(source(EnonLoc), " ")
       'si on n'a pas trouvé de locuteur nouveau
       if fNomLoc= false
            nomLoc(EnonLoc) = sourceMS(0)
       end if
    
 'pour éliminer les doublons, on compare le locuteur et le locuteur suivant
        For k = EnonLoc To UBound(source) - 1
        sourceMS2() = Split(source(k + 1), " ")
                   'si les deux locuteurs sont différents on passe à l'énoncé suivant
                    If sourceMS(0) <> sourceMS2(0) Then
                         nomLoc(EnonLoc) = sourceMS2(0)
                         fNomLoc=true
                         Exit For
                    End If
                   
                    'si les deux locuteurs sont identiques
                     If sourceMS(0) = sourceMS2(0) Then
                         'on compare les deux locuteurs suivants
                            k = (k - (k - EnonLoc))
                           Exit For
                     End If
            Next k
    Next EnonLoc

J'obtiens quand même des doublons

Merci à vous



mercredi 19 septembre 2007 à 12:55:10 | Re : Tri doublon

jrivet

Membre Club
Salut,
Lorsuqe tu récupères tes locuteurs, ajoute les à un objet collectionindexée par leur nom en gerant l'erreur d'ajout d'une clé déjà existante, tu devrais pouvoir supprimer tes doublons.

@+: Ju£i€n
Pensez: Réponse acceptée

mercredi 19 septembre 2007 à 15:26:22 | Re : Tri doublon

lacomm

merci à toi
en faisant ceci

Dim dicNomLoc As New Dictionary
source() = Split(txtsource.Text, "£")
    For enonloc = 1 To UBound(source)
        sourceMS() = Split(source(enonloc), " ")
        On Error GoTo Err_Loc
        dicNomLoc.Add sourceMS(0), sourceMS(0)
Err_Loc:
        enonloc = enonloc + 1
    Next enonloc

J'obtiens bien les 2 premiers locuteurs mais après, j'ai le message d'erreur de clé déjà existante.



       

jeudi 20 septembre 2007 à 08:14:40 | Re : Tri doublon

jrivet

Membre Club
Réponse acceptée !
Salut,
Et bien il te suffit d'"ignorer" l'erreur comme suit (normalement cela fonctionne:

Dim dicNomLoc As New Dictionary
   Source() = Split(txtsource.Text, "£")
   On Error Resume Next
   For enonloc = 1 To UBound(Source)
       sourceMS() = Split(Source(enonloc), " ")
       dicNomLoc.Add sourceMS(0), sourceMS(0)
   Next enonloc
   On Error GoTo 0
By Renfield


NOTE: ATTENTION dans une boucle for il est inutile de s'occuper d'incrémenter la valeur de ta variable de boucle.

@+: Ju£i€n
Pensez: Réponse acceptée

jeudi 20 septembre 2007 à 10:29:54 | Re : Tri doublon

lacomm

salut

En effet ca marche ! merci à toi.
Il faut cependant ajouter ceci après la boucle pour récupérer les locuteurs (en parcourant le dictionnaire):

For Each locuteur In dicNomLoc
     ...... dicNomLoc(locuteur)
Next locuteur


Merci encore



Cette discussion est classé dans : source, locuteurs, enonloc, loc1, locuteur


Répondre à ce message

Sujets en rapport avec ce message

compiler un source en EXE [ par Patrice ] Bonjour à tous,Je sais qu'on peut compiler un source avec Visual Basic mais quand on met ce EXEsur un autre Ordinateur le programme ne peut fonctionne Cherche source d'un visualisateur d'image pour VB5 [ par Gsoft ] Cherche source d'un visualisateur d'image pour VB5@+ recupere le code source d'une page web via le webbrowser [ par BomberMan ] comment recupere le code source d'une page web via le composant webbrowser ou via l'api ou autre mode.merci d'avance Filtre graphique [ par Lucke ] Je recherche un source de filtre graphique par noyau de convolution pour des images au format BMP.Egalement un source de décompression video MPEG. moteur de recherche [ par Vincent ] Bonjour,je cherche le code source afin de créer un moteur de recherche qui devrait lire un fichier access ou excell. ce code source doit être en visua source correcteur orthographique [ par khalim ] Je recheche des sources de correcteurs orthographiques codées sous vb avec utilisation de dll Un zoom plus petit que dans la source de Joe Ace (#235) [ par WebMagique ] Peut-on faire un ZOOM plus petitque dans le code exemple de Joe Ace?http://www.vbfrance.com/index.asp?Val=235grand merci... Lire des source VB6 avec VB4 [ par Vincentsoft ] BonjourJe voudrai connaitre le moyen(s'il exite) de lire un projet avec VB4 un projet (.vbp) concu avec VB6.Merci de me faire connaitre le moyen car j


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.