Ir al contenido


Foto

[RESUELTO] Problema eliminando items desde un Listbox de acuerdo a un parámetro


  • Por favor identifícate para responder
4 respuestas en este tema

#1 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 14 enero 2011 - 10:33

Pues eso tengo dos ListBox donde paso información entre ellas --> <--  de acuerdo a un parámetro o contenga alguna palabra, por ejemplo, el siguiente code me sirve para agregar items de un listbox a otro:



delphi
  1. var
  2.   i: Integer;
  3. begin
  4.   if LIPList.Count > 0 then begin
  5.     for i := 0 to LIPList.Count -1 do begin
  6.       if AnsiContainsStr(LIPList.Items.Strings,'CDO') then
  7.         SIPList.Items.Add(LIPList.Items.Strings);
  8.     end; //for i
  9.   end; //IF
  10. end;



La misma me funciona perfectamente, aquí estoy agregando todos los Items que contengan la palabra 'CDO' a otro listbox, se entiende?, mi problema radica en la eliminación de dichos items que contenga la Palabra 'CDO', he hecho lo siguiente:



delphi
  1. var
  2.   i: Integer;
  3. begin
  4.   if SIPList.Items.Count > 0 then begin
  5.     for i := 0 to SIPList.Items.Count -1 do begin
  6.       if AnsiContainsStr(SIPList.Items.Strings,'CDO') then
  7.         SIPList.Items.Delete(SIPList.Items.IndexOf(SIPList.Items.Strings));
  8.     end; //for i
  9.   end; //IF
  10. end;



Pero me lanza el siguiente error:



delphi
  1. ---------------------------
  2. Debugger Exception Notification
  3. ---------------------------
  4. Project PDownloader.exe raised exception class EStringListError with message 'List index out of bounds (13)'. Process stopped. Use Step or Run to continue.
  5. ---------------------------
  6. OK  Help 
  7. ---------------------------



Así que no veo que estoy haciendo mal pues.  8o|

Saludos.

  • 0

#2 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.137 mensajes

Escrito 14 enero 2011 - 10:53



delphi
  1. var
  2.   i: Integer;
  3. begin
  4.   if SIPList.Items.Count > 0 then begin
  5.     for i := 0 to SIPList.Items.Count -1 do begin
  6.       if AnsiContainsStr(SIPList.Items.Strings[i],'CDO') then
  7.         SIPList.Items.Delete(i);
  8.     end; //for i
  9.   end; //IF
  10. end;


  • 0

#3 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 14 enero 2011 - 10:53

Estos errorcitos, suelen resolverse volteando a mirar a la luna :)



delphi
  1.     for i := SIPList.Items.Count -1 downto 0 do
  2.     begin
  3.     end;



Salud OS
  • 0

#4 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 14 enero 2011 - 11:21

Estos errorcitos, suelen resolverse volteando a mirar a la luna :)



delphi
  1.     for i := SIPList.Items.Count -1 downto 0 do
  2.     begin
  3.     end;



Salud OS


Ah no manches bro, efectivamente esa era la solución :D, gracias a ambos (y).

Saludos.
  • 0

#5 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 14 enero 2011 - 02:27


Estos errorcitos, suelen resolverse volteando a mirar a la luna :)



delphi
  1.     for i := SIPList.Items.Count -1 downto 0 do
  2.     begin
  3.     end;



Salud OS


Ah no manches bro, efectivamente esa era la solución :D, gracias a ambos (y).

Saludos.


Ni te fijes que es un asunto más común de lo que crees :)

Salud OS
  • 0




IP.Board spam blocked by CleanTalk.