Voici une petite procedure qui permet de supprimer des items d'une listebox, en connaissant leur texte(et non pas leur index) ;)
Pour l'utiliser:
ListBox -> la listbox
Texte -> le texte des items a supprimer
Num -> le nombre de position de l'item si il y en a plusieurs du même texte(le 1er,2eme,10eme), mettre -1 pour supprimer tous les items.
Source / Exemple :
procedure SupprimeItem(ListBox:TListBox;Texte:string;Num:integer=-1);
var a,b:integer;
begin
b:=0;
a:=0;
while a<=ListBox.Count-1 do begin //boucle de toute la liste
//si il trouve un item et qu'il faut un numéro précis alors il ajoute 1
if (ListBox.Items.Strings[a] = Texte) and (Num>0) then b:=b+1;
//kan il arrive au nombre précis, alos il supprime
if b=Num then begin
ListBox.Items.Delete(a);
exit; //fin
end;
//si il trouve un item et qu'il fout tous les supprimer
if (ListBox.Items.Strings[a] = Texte) and (Num=-1) then begin
ListBox.Items.Delete(a);//supprime
a:=a-1; //logique car il ya un élément en moin dans la liste
end;
inc(a,1);//incrémente de 1(pour l'item suivant ;)
end;
end;
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.