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

Delphi Discussion :

[ListBox] Supprimer doublons


Sujet :

Delphi

  1. #1
    Membre averti
    Avatar de mohamed
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 217
    Points : 393
    Points
    393
    Par défaut [ListBox] Supprimer doublons
    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.
    Si j'ai paru trouver sans chercher c'est que j'ai longtemps cherché sans trouver!

    http://taslimanka.developpez.com

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Membre averti
    Avatar de mohamed
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 217
    Points : 393
    Points
    393
    Par défaut
    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dedoublonnage(ListBox2.Items);
    Apparement listbox.items n'est pas 1 tstringlist mais plutot 1 tstrings.

    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));
    Si j'ai paru trouver sans chercher c'est que j'ai longtemps cherché sans trouver!

    http://taslimanka.developpez.com

  4. #4
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Faut adpater selon les besoins ^^

    Le premier code fonctionnera avec les memos, listbox,combobox, etc ...
    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;
    L'utilisation :

    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

    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;
    L'utilisation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dedoublonnage(ListBox1);
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  5. #5
    Membre éclairé
    Avatar de denokan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 434
    Points : 746
    Points
    746
    Par défaut
    essaye plutot de modifier la déclaration :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure Dedoublonnage(lst : TStrings);
    EDIT: oups pas assez rapide :/
    Donnez un poisson à un homme et il mangera pendant un jour... Apprenez-lui à pêcher et il s'assiéra dans une barque et boira de la bière toute la journée

  6. #6
    Membre averti
    Avatar de mohamed
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 217
    Points : 393
    Points
    393
    Par défaut
    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!!
    Si j'ai paru trouver sans chercher c'est que j'ai longtemps cherché sans trouver!

    http://taslimanka.developpez.com

  7. #7
    Membre averti
    Avatar de mohamed
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 217
    Points : 393
    Points
    393
    Par défaut
    Merci bcp les gars !!!
    Si j'ai paru trouver sans chercher c'est que j'ai longtemps cherché sans trouver!

    http://taslimanka.developpez.com

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

Discussions similaires

  1. Supprimer doublons dans requete
    Par fifoux dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 05/03/2007, 11h54
  2. [Tableaux] supprimer doublon d'une colonne
    Par melisse dans le forum Langage
    Réponses: 4
    Dernier message: 22/02/2007, 09h01
  3. ListBox sans Doublons
    Par pobrouwers dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 20/02/2007, 17h41
  4. Supprimer doublons sur 3 colonnes?
    Par pegase33 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/09/2006, 12h55
  5. [SQL Serveur 2K] Procédure pour Supprimer doublons
    Par Vesta dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 29/05/2006, 11h32

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