HellyBoy229
Messages postés5Date d'inscriptionjeudi 27 novembre 2003StatutMembreDernière intervention18 décembre 2003
-
17 déc. 2003 à 03:24
HellyBoy229
Messages postés5Date d'inscriptionjeudi 27 novembre 2003StatutMembreDernière intervention18 décembre 2003
-
18 déc. 2003 à 14:13
Salut,
J'essaie de faire un petit programme sauf qu'aussitot
que j'essaie de supprimer PLUSIEURS choses qui sont sélectionné, le programme plante. Voici mon petit code:
procedure TForm1.Button1Click(Sender: TObject);
Var
i: Integer;
begin
For i := 0 To listbox1.items.count-1 Do
Begin
If listbox1.selected[i] = True Then
Listbox1.items.delete(i);
end;
end;
HellyBoy229
Messages postés5Date d'inscriptionjeudi 27 novembre 2003StatutMembreDernière intervention18 décembre 2003 17 déc. 2003 à 03:33
J'avais oublié de préciser. DeleteSelected n'existe pas
en Delphi5.. c'est pour ça que j'ai des problèmes :).
J'espère que quelqu'un va pouvoir m'aider.
HellyBoy229
Messages postés5Date d'inscriptionjeudi 27 novembre 2003StatutMembreDernière intervention18 décembre 2003 17 déc. 2003 à 03:56
Merci LoOnEy!!!
J'ai trouvé un source qui montrait comment faire.
Est-ce que quelqu'un pourrait me dire pourquoi
le sien fonctionne et pas le mien?
procedure TForm1.Button1Click(Sender: TObject);
Var
i: Integer;
begin
For i:=ListBox1.Items.Count-1 downto 0 do
begin
if ListBox1.Selected[i] then
begin
ListBox1.Items.delete(i);
end;
end;
end;
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 17 déc. 2003 à 09:10
La nuance est là :
For i:=ListBox1.Items.Count-1 downto 0
Après avoir supprimé un ou plusieurs éléments de la liste, tu essayes de détruire, malgré tout, le Ième élément qui n'existe plus.
En faisant comme Looney (c'est à dire en partant de la fin de la liste), tu ne peux détruire qu'un élément existant.
May Delphi be with you
HellyBoy229
Messages postés5Date d'inscriptionjeudi 27 novembre 2003StatutMembreDernière intervention18 décembre 2003 18 déc. 2003 à 14:13
Oui, j'ai finit par comprendre cela. C'est encore le genre d'erreur que tu ne fais qu'une fois et que tu t'en veux toute ta vie tellement que c'est ridicule =D. Merci beaucoup pour votre aide et j'espère pouvoir vous reparler bientot.