Bonjour tout le monde G 1 cherché 1 peu partout comment supprimer les doublons d'1 listbox mais je ne trouve rien.
Avez-vous 1 solution pour ca?
Merci.
Bonjour tout le monde G 1 cherché 1 peu partout comment supprimer les doublons d'1 listbox mais je ne trouve rien.
Avez-vous 1 solution pour ca?
Merci.
tu n'as pas bien cherché :
http://www.developpez.net/forums/sho...hlight=listbox
Modérateur Delphi
Le guide du bon forumeur :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
Merci Malatar mais en utilisant ce code j'ai 1 pbleme:
[Erreur] Main.pas(948): Les types des paramètres VAR originaux et formels doivent être identiques
Code :Apparement listbox.items n'est pas 1 tstringlist mais plutot 1 tstrings.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Dedoublonnage(ListBox2.Items);
J'ai alors essayé de caster ca mais ca ne marche pas.
code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Dedoublonnage(TStringList(ListBox2.Items));
Faut adpater selon les besoins ^^
Le premier code fonctionnera avec les memos, listbox,combobox, etc ...
L'utilisation :
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 procedure Dedoublonnage(lst : TStrings); var iEncours : Integer; begin // on commence au dernier element de ta liste iEncours := lst.count -1; while iEncours >= 0 do begin while lst.indexof(lst.Strings[iEncours]) <> iEncours do begin lst.delete(lst.indexof(lst.strings[iEnCours])); // décale de 1 vu qu'on a supprimer un element avant dec(iEnCours); end; // on passe a l'item précédent dec(iEnCours); end; end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Dedoublonage(Combobox1.Items); Dedoublonage(ListBox1.Items); Dedoublonage(Memo1.Lines);
Ou alors tu adaptes pour qu'il soit spécifique à 1 composants
L'utilisation
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 procedure Dedoublonnage(var lst : TListBox); var iEncours : Integer; begin // on commence au dernier element de ta liste iEncours := lst.Items.count -1; while iEncours >= 0 do begin while lst.Items.indexof(lst.Items.Strings[iEncours]) <> iEncours do begin lst.Items.delete(lst.Items.indexof(lst.Items.strings[iEnCours])); // décale de 1 vu qu'on a supprimer un element avant dec(iEnCours); end; // on passe a l'item précédent dec(iEnCours); end; end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Dedoublonnage(ListBox1);
Modérateur Delphi
Le guide du bon forumeur :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
essaye plutot de modifier la déclaration :
EDIT: oups pas assez rapide :/
Code : Sélectionner tout - Visualiser dans une fenêtre à part procedure Dedoublonnage(lst : TStrings);
Merci les gars ca marche!!Super!!
En fait je suis désolé!! Je suis débutant sur delphi!!
Ps:
Par contre si vous avez 1 autre exple cette fois ci concernant les listview
(suppressions des doublons tjrs),
je le prends!!
Encore merci les gars!!
Partager