• Viernes 8 de Noviembre de 2024, 07:14

Autor Tema:  Buscar un string en un listbox  (Leído 2918 veces)

Akemati

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Buscar un string en un listbox
« en: Viernes 18 de Marzo de 2011, 18:02 »
0
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!

rfog

  • Miembro MUY activo
  • ***
  • Mensajes: 166
    • Ver Perfil
Re: Buscar un string en un listbox
« Respuesta #1 en: Martes 22 de Marzo de 2011, 13:50 »
0
Usa la propiedad Items->Strings del listbox y hazlo a mano con el método Contains() de String...
Microsoft Visual C++ MVP - Mi blog sobre programación: http://geeks.ms/blogs/rfog

Akemati

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Buscar un string en un listbox
« Respuesta #2 en: Martes 22 de Marzo de 2011, 14:53 »
0
Hola rfog,

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

Gracias!

Akemati

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Buscar un string en un listbox
« Respuesta #3 en: Viernes 25 de Marzo de 2011, 14:02 »
0
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.