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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    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
    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.

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    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 236
    Modérateur Delphi

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

  3. #3
    Membre expérimenté
    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
    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));

  4. #4
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    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 236
    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 émérite
    Avatar de denokan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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
    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 :/

  6. #6
    Membre expérimenté
    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
    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!!

  7. #7
    Membre expérimenté
    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
    Par défaut
    Merci bcp les gars !!!

+ 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