Recherche un composant gestion de list [Résolu]

Signaler
Messages postés
23
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
8 février 2005
-
Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
-
Bonjour,
je suis à la recherche d'un composant delphi permettant la gestion de liste, avec des boutons pour creer de nouveaux éléments, les supprimer, et changer l'ordre dans la liste. Je ne sais pas comment ce composant s'appelle, mais j'ai sa photo si cela peut vous aider à me renseigner (http://membres.lycos.fr/ptitmanu03/composant.jpg).
Donc ma question, car il en faut une, est connaissait vous un tel composant en delphi et ou peut on le trouver ? Est ce un composant standard ?
D'avance merci et bonne journée.
Emmanuel.

5 réponses

Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
7
Hello,

Je ne pense pas que ce soit un composant standard de delphi mais tu peux le faire toi meme avec les composants standard comme ceci :
*Un TListBox : Pour afficher ta liste
*Un Tedit : Pour inserer le nom du champ que tu veux inserer dans la liste
*4 TSpeedButton (ou autre boutons) placés au dessus du list box avec pour role :
-Ajout d un champ
-Suppresion d'un champ
-Monter un champ
-Descendre un champ
*Un Tpanel : Pour placer les 5 composants dessus.

*Ensuite pour ajouter un champ tu fais :
ListBox1.ITems.Add(Edit1.Text);

*Pour supprimer un champ :
ListBox1.DeleteSelected;

*Pour monter un champ :
procedure TForm1.MonterClick(Sender: TObject);

var
I,Rep : Integer;
Champs : TStrings;
Temp : String;

begin
Champs := TStringList.Create;

   Try
   Rep := 0;
   Champs.AddStrings(ListeChamps2.Items);
   Rep := ListeBox1.ItemIndex;

      If not(Rep=0) then
      begin
      Temp := Champs.Strings[Rep-1];
      Champs.Strings[Rep-1] := Champs.Strings[Rep];
      Champs.Strings[Rep] := Temp;
      ListeBox1.Items := Champs;
      ListeBox1.Selected[Rep-1] := True;
      end;
   Finally
   Champs.Free;
   end;
end;

*Puis pour descendre un champ :
procedure TForm1.DescendreClick(Sender: TObject);

var
I,Rep : Integer;
Champs : TStrings;
Temp : String;

begin
Champs := TStringList.Create;

   Try
   Rep := ListeChamps2.Count-1;
   Champs.AddStrings(ListeChamps2.Items);
   Rep := ListeBox1.ItemIndex;

      If not(Rep=ListeChamps2.Count-1) then
      begin
      Temp := Champs.Strings[Rep+1];
      Champs.Strings[Rep+1] := Champs.Strings[Rep];
      Champs.Strings[Rep] := Temp;
      ListeBox1.Items := Champs;
      ListeBox1.Selected[Rep+1] := True;
      end;
   Finally
   Champs.Free;
   end;
end;


PS : Je t'ai codé les deux fonctions pour monter et descendre vite fait donc peut etre qu'il y a mieux. Enfin moi j'aurai fait comme ca.

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
7
Ps : Tu peux enlever la variable local I pour monter et descendre c'est un oubli de ma part.
Tu peux aussi virer l'initialisation de la variable Rep apres le try.

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
7
Si tu le souhaites je peux te deposer une source sur le site que tu pourras télécharger.
Dis moi si tu veux je la mettrai en ligne.

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Messages postés
23
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
8 février 2005

Salut,
Je te remercie pour le coup de main. C'est sympa de ta part. Le fond de ma question etait de savoir si un tel composant que l'on retrouve assez regulierement, existait en Delphi ou s'il fallait le recoder. je ne suis pas partisan de refaire la roue à chaque fois. C'est formateur, mais bon s'il existe des trucs deja tout fait, c'est plus rapide et tres bien fait.
Je vais regarder de pres les sources que tu proposes et je ferais surement un composant repondant à mes besoins. Et s'il est bien fait, je le mettrais à disposition.
Bonne journée.

Emmanuel.
Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
7
Ouais effectivement ca pourrait être sympa d'en faire un composant.

Bon courage.

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.