Fusion de listes

Toidil Messages postés 23 Date d'inscription samedi 10 septembre 2005 Statut Membre Dernière intervention 8 juillet 2015 - 19 sept. 2010 à 13:29
Toidil Messages postés 23 Date d'inscription samedi 10 septembre 2005 Statut Membre Dernière intervention 8 juillet 2015 - 20 sept. 2010 à 12:37
Toidil

Bonjour,

je désire fusionner 2 listes : listeA et listeB dans une listeC en ne retenant
pour la listeC que les éléments de la listeA absent dans la listeB.
J'ai tenté d'utiliser TList.Assign mais sans résultat.

Si vous avez une solution je suis preneur ...

Merci d'avance.

2 réponses

Utilisateur anonyme
20 sept. 2010 à 08:08
Salut

Question tellement basique que la moindre recherche sur ce site ou google, t'aurais donné la réponse sans parler de l'aide (Touche F1) qui indique deux propriétés relatives à TStringList


TStringList.Duplicates

TStringList Voir aussi

Indique si l'ajout de chaînes dupliquées aux listes triées est autorisé.

property Duplicates: TDuplicates;

Description

Affectez une valeur à la propriété Duplicates pour spécifier comment la liste réagit à l'ajout d'une chaîne dupliquée dans une liste triée. La propriété CaseSensitive détermine si deux chaînes sont considérées comme dupliquées lorsqu'elles ne diffèrent que par la casse.

Duplicates doit avoir une des valeurs suivantes.

Valeur Signification

dupIgnore Ignore les tentatives d'ajout de chaînes en double à la liste.
dupError Déclenche une exception EStringListError lors d'une tentative d'ajout de chaînes dupliquées à la liste triée.
dupAccept Autorise les chaînes dupliquées dans la liste triée.

Définissez Duplicates avant d'ajouter des chaînes à la liste. L'initialisation de Duplicates à dupIgnore ou à dupError n'a aucun effet sur les chaînes en double se trouvant déjà dans la liste.

Remarque : Duplicates n'a aucun effet si la liste n'est pas triée.



TStringList.Sorted

TStringList Voir aussi Exemple

Spécifie si les chaînes de la liste doivent être automatiquement triées.

property Sorted: Boolean;

Description

Affectez la valeur True à Sorted pour trier automatiquement les chaînes de la liste en ordre croissant. Si Sorted a la valeur False, les chaînes restent à la position où elles sont insérées. Si Sorted a la valeur False, il est possible, à tout moment, de trier une liste en ordre croissant en appelant la méthode Sort.

Si Sorted a la valeur True, n'utilisez pas Insert pour insérer des chaînes dans la liste. Il faut au contraire, utiliser Add qui insère la nouvelle chaîne à l'emplacement approprié dans la liste. Si Sorted a la valeur False, utilisez Insert pour insérer des chaînes à un emplacement arbitraire de la liste et Add pour ajouter des chaînes en fin de la liste.

Remarque : La propriété CaseSensitive détermine si les chaînes de la liste sont triées en tenant compte de la casse ou non. L'ordre de tri prend en considération la localisation du système sur lequel l'application fonctionne.


Maintenant que tu as tout entre les mains à toi de bosser
0
Toidil Messages postés 23 Date d'inscription samedi 10 septembre 2005 Statut Membre Dernière intervention 8 juillet 2015 1
20 sept. 2010 à 12:37
Toidil

Bonjour,
J'utilise TList, mes pointeurs(Record) ne sont pas compatibles avec TStringList.
Après quelques essais j'arrive à résoudre mon problème avec
Auxi.Assign(Liste1,laDestUnique,Liste2) la fusion de liste1-liste2 se trouve dans auxi.En remplaçant laDestUnique par laSrcUnique,laXOr,laOr,laAnd ou laCopy le résultat varie.
Merci Francky, tes renseignements peuvent m'être utiles une prochaine fois.
0
Rejoignez-nous