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.
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.
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.
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.