IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Traitement Comparatif de commentaires avec un lexique [WD20]


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2015
    Messages : 12
    Points : 14
    Points
    14
    Par défaut Traitement Comparatif de commentaires avec un lexique
    Bonjour Mesdames et Messieurs,
    Je vous écris car je suis sur un projet WinDev un peu épineux... Je veux réaliser une comparaison entre des commentaires laissés par des clients et un lexique constitué en amont.
    J'ai déjà réussi à créer mon lexique à récupérer les commentaires, mais lors de la démarche de comparaison, ça coince.
    Pour réaliser ce traitement, j'ai créé une fenêtre comprenant un champ table avec une varible ID(identifiant numérique), une autre avec mes commentaires(variable textuelle) et les 11 autres correspondant aux thèmes de mon lexique (11 variables booléennes).
    Pour la récupération de mon lexique, j'ai utilisé un champ liste me permettant de récupérer le vocabulaire d'un domaine à la fois. Le champ liste s'alimente grâce à une combo avec le nom des thèmes proposés.
    J'en suis donc rendu à la partie la plus importante, la comparaison, mais là y a pas moyen, j'ai essayer et rien ne marche...
    Pour l'instant en éveloppement sur cette action mais ca ne marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    sComm est une chaîne
    nPos est un entier
    j,i sont des entiers
    nOcculist est un entier
    nbLigne est un entier
    slexique est une chaîne
    srech est une chaîne
     
    //----------Récupération du nom dans le combo pour le choix de colonne & récupération du lexique affilié au thèmes-------------
    nOcculist=LISTE_sousthèmes..Occurrence
    POUR i=1 A nOcculist
    	srech=COMBO_Lex..ValeurAffichée
    	slexique=LISTE_sousthèmes[i]
    	nbLigne=TABLE_Treat..Occurrence
     
    		POUR j=1 A nbLigne
    		sComm=TABLE_Treat.COL_Comm[j]
    		SI sComm="" ALORS 
    			j++		
     
    //----------Parcourir toute les chaînes du lexique pour les comparer avec nos commentaires----------
    			POUR TOUTE CHAÎNE sComm DE  TABLE_Treat.COL_Comm[j]
    						nPos=Position(sComm,slexique,0,SansCasse)
    						SI nPos>0 ALORS
    							{"COL_"+srech}[i]=Vrai
    						SINON
    							{"COL_"+srech}[i]=Faux
    						FIN	
    			FIN
    	FIN
                  FIN
    FIN
    //----------Vérification si le lexique est rempli ou non----------
    SI LISTE_sousthèmes..Occurrence=0 ALORS
    	Erreur("ERREUR : Veuillez sélectionner un thème et remplir la liste")
    FIN
    Dès que je lance le traitement, il l'effectue pour n lignes correspondant au nombre d'occurrences de la liste et de plus, je ne suis pas sûr que le traitement avec la fonction POSITION() soit le plus efficace, les booléens ne se remplissent pas ou pas au bon endroit.
    Voilà, je continue à travailler dessus, mais si quelqu'un a une petite astuce pour débloquer ca, je suis preneur!
    Bonne journée à tous et bon développement!

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2015
    Messages : 12
    Points : 14
    Points
    14
    Par défaut Solution
    Pour les curieux qui ont un traitement un peu similaire à celui-ci, je vous laisse le code, ca peut servir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    sComm est une chaîne
    nPos est un entier
    j,i sont des entiers
    nOcculist est un entier
    nbLigne est un entier
    slexique est une chaîne
    //sNomCol est une chaîne
    srech est une chaîne
     
    //----------Récupération du nom dans le combo pour le choix de colonne & récupération du lexique affilié au thèmes-------------
     
    nbLigne=TABLE_Treat..Occurrence
    POUR j=1 A nbLigne
    sComm=TABLE_Treat.COL_Comm[j]
    SI sComm<>"" ALORS 
     
     
    		nOcculist=LISTE_sousthèmes..Occurrence
    		POUR i=1 A nOcculist
    		srech=COMBO_Lex..ValeurAffichée
    		slexique=LISTE_sousthèmes[i]
    //----------Parcourir toute les chaînes du lexique pour les comparer avec nos commentaires----------
    //			POUR  slexique DE  LISTE_sousthèmes[i]
    						nPos=Position(sComm,slexique,0,SansCasse+DepuisDébut)
    						SI nPos>0 ALORS
    							{"COL_"+srech}[j]=Vrai
    							//Permet de sortir de la boucle*
    							SORTIR
    						SINON
    							{"COL_"+srech}[j]=Faux
    //						FIN	
    			FIN
    	FIN
    	FIN
    FIN

  3. #3
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Question : tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [...]
    SINON
    	{"COL_"+srech}[j]=Faux
    FIN
    Est-ce vraiment utile ?

    Par défaut, tes interrupteurs ne sont il pas déjà à faux ?

    Si je dis cela, c'est surtout parce que cela peut te faire gagner du temps de traitement.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2015
    Messages : 12
    Points : 14
    Points
    14
    Par défaut
    Tu as raison, je l'ai d'ailleurs supprimé après pour accélérer le traitement.
    Ca évite une perte de 5secondes sur 1890 lignes et donc fois 11 pour les variables, soit une bonne diminution!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Traitement d'un formulaire avec beaucoup de checkbox
    Par sushi_ dans le forum Langage
    Réponses: 4
    Dernier message: 06/06/2007, 12h37
  2. [CSV] Traitement fichiers txt/csv avec php
    Par cirtey dans le forum Langage
    Réponses: 4
    Dernier message: 26/01/2007, 16h46
  3. [JDOM] création de balise commentaire avec JDOM
    Par chgabelle dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 30/06/2006, 19h23
  4. [ORACLE 9i] : Commentaire avec <RetourChariot>
    Par Etienne maheu dans le forum Oracle
    Réponses: 8
    Dernier message: 24/04/2006, 15h24
  5. traitement des caractères spéciaux avec XSLT
    Par Mirgue dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 19/07/2004, 16h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo