SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: Akemati en Viernes 18 de Marzo de 2011, 18:02

Título: Buscar un string en un listbox
Publicado por: Akemati en Viernes 18 de Marzo de 2011, 18:02
Hola,

Alguien podría ayudarme, necesito un método para buscar un string dentro de un listbox, pero que dicha búsqueda no sólo encuentre coincidencias en el inicio de los ítems (encontré que existen LB_FINDSTRING, LB_SELECTSTRING o LB_FINDSTRINGEXACT pero sólo encuentran el primer string), pero mi ejemplo es el siguiente:

Búsqueda: Perez

Ricardo Hernandez Sanchez
...
Alejandro Perez Reyes <- Seleccione este ítem.

Muchas gracias!
Título: Re: Buscar un string en un listbox
Publicado por: rfog en Martes 22 de Marzo de 2011, 13:50
Usa la propiedad Items->Strings del listbox y hazlo a mano con el método Contains() de String...
Título: Re: Buscar un string en un listbox
Publicado por: Akemati en Martes 22 de Marzo de 2011, 14:53
Hola rfog,

Agradezco mucho tu orientación, tendrías un ejemplo a la mano? sería de mucha ayuda!!

Gracias!
Título: Re: Buscar un string en un listbox
Publicado por: Akemati en Viernes 25 de Marzo de 2011, 14:02
Bueno, aquí posteo una solución que no resuelve exactamente mi problema inicial pero que me ayudó para resolver un problema similar, el código busca entre los elementos de un Listbox la cadena de caracteres introducida desde un TEdit a partir de una posición específica (función substring) dentro de las líneas del Listbox.

Código: C++
  1. for(int i=0;i<ListBox1->Items->Count;i++)      
  2. {
  3.    if(ListBox1->Items->Strings[i].SubString(0,Edit1->Text.Length()) == Edit1->Text)
  4.    {
  5.       ListBox1->ItemIndex = i;
  6.    }
  7. }
  8.  
  9.