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:
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.
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
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!
Partager