je désirerais supprimer un élément dans une listbox dont le texte
correspondrait à un choix de l'utilisateur. la suppression fonctionne
très bien pour n'importe quel élément mais pas pour le dernier....
quelqu'un aurait une idée? voilà mon code
curseur := 0;
deleted := false;
while (curseur < listbox2.Count -1) and not(deleted) do
begin
if listbox2.Items.Strings[curseur]
= lenom then // parcours de la listbox pour trouver l'élément à
supprimer
begin
listbox2.Items.Delete(curseur); //suppression dans la
listbox
deleted := true;
end;
inc(curseur,1); //incrémentation du curseur pour passer à
l'élément suivant
Je ne comprends pas bien s'il s'agit de supprimer toutes les occurences d'une chaîne saisie par l'utilisateur ou de supprimer la première occurrence trouvée !
Dans la deuxième hypothèse, il suffit de faire :
<!--StartFragment-->
with ListBox2.Items do
if IndexOf(LeNom) <> -1 then
Delete(IndexOf(LeNom));
<HR color=#008000>Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Lol Delphiprog, c'est toi qui a fait le plus simple... En revanche c'est pas optimisé je pense : il vaudrai mieu stocker l'index parcequ'il fait la recherche deux fois de suite et donc c'est deux fois plus long que la méthode au dessus...
merci à vous c nickel, je n'ai testé que la dernière solution donnée
parce que la + courte et je n'ai que très peu de tps entre midi, enfin
les autres devraient marcher aussi :)