| |
| Posté le 26 juin 2021 - 18:54 |
Bonjour,
Dans une liste remplie par un simple fichier externe constituée de lignes d'un seul mot et séparées par un RC Item1 Item2 Item3 Item1 Item1
je souhaite supprimer les doublons en parcourant la liste, une idée, un bon de code SVP.
Alain |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 357 messages |
|
| Posté le 27 juin 2021 - 07:36 |
Il faut utiliser les fonction disponible sous Windev soit TableauSupprimeDoublon() soit ChaîneSupprimeDoublon()
Tab_Item est un tableau de chaîne Str_ChaineItem est une chaîne
ChaîneSupprimeDoublon(Str_ChaineItem, RC, ccNormal)
CSVVersTableau(Str_ChaineItem, Tab_Item, RC) TableauSupprimeDoublon(Tab_Item)
-- Développeur Indépendant en Free-lance. Contactez moi par MP ou mel pour avoir mes conditions d'engagements. |
| |
| |
| | | |
|
| | |
| |
| Posté le 27 juin 2021 - 08:59 |
Merci Bernard de votre réponse,
Après recherche, la fonction "ChaîneSupprimeDoublon" n'existe pas dans l'aide de WD...
Quant à la fonction "TableauSupprimeDoublon" elle est disponible qu'a partir de la versions 26 de WD, et je ne dispose pas de cette dernière.
J'essaie de réaliser une boucle classique mais sans résultat. Une autre idée.
Alain |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 293 messages |
|
| Posté le 27 juin 2021 - 19:23 |
Fait voir ton code de remplissage du tableau
-- Maître de la POO |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 748 messages |
|
| Posté le 27 juin 2021 - 20:51 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 317 messages |
|
| Posté le 27 juin 2021 - 23:55 |
Bonjour, TableauSupprimeDoublon est disponible depuis WD 16, mais en effet, ChaineSuppimeDooublon est inconnu au bataillon. Sans doute une fonction d'un composant.
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
| Posté le 28 juin 2021 - 08:11 |
Merci de vos réponses.
Effectivement la fonction "TableauSupprimeDoublon" n'est disponible que depuis WD 16, pour ma part je suis encore sous WD 15, hélas.... Mais bon j'ai pu m'en sortir avec et deux tables et une moulinette ci-dessous, ça peut servir à quelqu'un...
laligne est une chaîne res est un entier
POUR indice = 1 _A_ ListeOccurrence(TableInitiale) res++ laligne = TableInitiale[res] test est un entier = TableCherche(TableFiltrees.DonneeSSansDoublon,laligne) SI test = -1 ALORS TableAjoute(TableFiltrees,laligne) FIN FIN |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 357 messages |
|
| Posté le 28 juin 2021 - 08:42 |
Voroltinquo a écrit :
Bonjour, TableauSupprimeDoublon est disponible depuis WD 16, mais en effet, ChaineSuppimeDooublon est inconnu au bataillon. Sans doute une fonction d'un composant.
-- Il y a peut être plus simple, mais, ça tourne Je confirme qu'on ne voit pas cette fonction dans la doc mais qu'elle fonctionne sur mon poste.
-- Développeur Indépendant en Free-lance. Contactez moi par MP ou mel pour avoir mes conditions d'engagements. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 2 682 messages |
|
| Posté le 28 juin 2021 - 09:31 |
Je confirme qu'on ne voit pas cette fonction dans la doc mais qu'elle fonctionne sur mon poste. Ben alors là j'avoue que c'est formidable. La fonction n'existe pas dans l'aide, elle n'est pas reconnue par la saisie assistée, mais si on la tape en toute lettre ben elle existe.
Une fonctionnalité non documentée !!! Ca me fait bien rire 
-- Cordialement,
Philippe SAINT-BERTIN |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 748 messages |
|
| Posté le 28 juin 2021 - 12:37 |
Merci de réclamer la mise à jour de la documentation Ainsi que la mise à jour de la saisie assistée. Bernard, merci pour cette information Merci de nous dire comment tu as fait pour connaître cette fonction |
| |
| |
| | | |
|
| | |
| |
| Posté le 28 juin 2021 - 17:07 |
Bonjour,
Je serais curieux de savoir à partir de quelle version "ChaîneSupprimeDoublon" est disponible, sur WD 15 non. Je plussoie Popoy, Bernard comment avez-vous trouver cette fonction qui n'a pas d'existante référencée chez WD ?? Merci de votre réponse.
Ou si PC Soft voulait bien nous informer, se sais, je suis très optimiste ces derniers temps...
Alain |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 317 messages |
|
| Posté le 28 juin 2021 - 19:15 |
Pour revenir à la question, pourquoi supprimer les doublons ? Il suffit de ne pas les ajouter lors du remplissage de la liste.
sMaListe est chaîne sElement est chaîne
sMaliste=fChargeTexte(sCheminFichier)
POUR TOUTE chaîne sElement de sMaListe SEPAREE PAR RC SI ListeCherche(LISTE_MesItems,sElement)=-1 ALORS ListeAjoute(LISTE_MesItems,sElement) FIN FIN
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
| Posté le 29 juin 2021 - 07:51 |
Voroltinquo a écrit :
Pour revenir à la question, pourquoi supprimer les doublons ? Il suffit de ne pas les ajouter lors du remplissage de la liste. sMaListe est chaîne sElement est chaîne
sMaliste=fChargeTexte(sCheminFichier)
POUR TOUTE chaîne sElement de sMaListe SEPAREE PAR RC SI ListeCherche(LISTE_MesItems,sElement)=-1 ALORS ListeAjoute(LISTE_MesItems,sElement) FIN FIN -- Il y a peut être plus simple, mais, ça tourne
Bonjour,
C'est vrai, c'est ça qu'il faut faire. Des fois, je me dis que je devrais faire une cure de vitamines C ou même de C++
Merci, Alain |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 536 messages |
|
| Posté le 13 juillet 2021 - 09:33 |
| Le problème c'est que les chaines peuvent aussi être importées, par ex d'un WBS, et donc il faut nettoyer. |
| |
| |
| | | |
|
| | |
| |
| Posté le 20 mai 2025 - 03:28 |
a écrit :
Bonjour,
Dans une liste remplie par un simple fichier externe constituée de lignes d'un seul mot et séparées par un RC Item1 Item2 Item3 Item1 Item1
je souhaite supprimer les doublons en parcourant la liste, une idée, un bon de code SVP.
Alain
ChaîneSupprimeDoublon( LISTE_Items..Contenu ,RC, ccNormal) |
| |
| |
| | | |
|
| | |