begin process at 2012 02 16 07:05:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

Débutants

 > 

Tri doublon


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Tri doublon

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ée 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. 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

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,933 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales