Delphi - Borrado multiple en listbox

 
Vista:

Borrado multiple en listbox

Publicado por Gelmin Martínez (58 intervenciones) el 11/09/2003 19:53:34
Tengo un problemita...
Quiero que un listbox que tiene seleccion multiple, al presionar la tecla 'Delete' se borren todos los items que estén seleccionados.
lo he intentado con un for
for i:=0 to ListBox1.items.count-1 do
if listbox1.items.selected[i] then
listbox1.items.delete[i];
me borra los que tengo seleccionados, pero me deja uno sin borrar
y me envia un error que tiene algo como 'Out of baunds (1)' o algo por el estilo lo corro paso a paso y veo que se van borrando los items seleccionados pero el 'ListBox1.items.count' no actualiza rapidamente todo lo que se borra y se queda atrás, ¿hay alguna otra forma de hacerlo? o que le puedo hacer a ese codigo.
Saludos...!
Gelmin Martínez (NICARAGUA)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Borrado multiple en listbox

Publicado por Fer (269 intervenciones) el 12/09/2003 09:12:36
Cuando eliminas elementos de una lista, listbox, stringlist, etc. nunca puedes utilizar un bucle for i:=0 to Count - 1 ya que, a medida que elimines elementos, el valor de count cambia y puede ocurrir que el índice (i) se salga del rango (error index out of bounds).

Creo que esto te servirá:

procedure TForm1.BitBtn1Click(Sender: TObject);
var
i: integer;
begin

i:= ListBox1.Items.Count - 1;

while ListBox1.SelCount > 0 do begin

if ListBox1.Selected[i] then
ListBox1.Items.Delete(i);

Dec(i);

end;

end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias fer, Así si Funciona...!

Publicado por Gelmin Martínez (58 intervenciones) el 12/09/2003 23:29:55
Gracias programador no conocía la propiedad 'SelCount' del listbox, eso era lo que necesitava.
Saludos...!
Gelmin Martínez (Nicaragua)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Borrado multiple en listbox

Publicado por MARCO (3 intervenciones) el 17/09/2003 06:02:10
BURRO NO SABES ESO ES SENSILLO OTRO DIA TE ENSEÑO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Borrado multiple en listbox

Publicado por MARCO (3 intervenciones) el 17/09/2003 06:02:12
BURRO NO SABES ESO ES SENSILLO OTRO DIA TE ENSEÑO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Borrado multiple en listbox

Publicado por MARCO (3 intervenciones) el 17/09/2003 06:02:16
BURRO NO SABES ESO ES SENSILLO OTRO DIA TE ENSEÑO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Que mala Onda...!

Publicado por Gelmin Martínez (58 intervenciones) el 17/09/2003 23:53:32
Siempre hay alguien que no tiene nada que hacer, que se dedica a molestar, no creo que los foros de consulta se hayan hecho para eso, seamos mas serios programador.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar