Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Mostrar Lista De Coincidencias En Un Combobox Mientras Se Escribe??
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Mostrar Lista De Coincidencias En Un Combobox Mientras Se Escribe?? 
 
a ver si alguien me ayuda con esto que me tiene enloquecido, me tiene dos programas sin funcionar por no estar bien la rutina o algo que desconozco.

el objetivo es que al escribir sobre un combobox donde se escriben nombres, cuando uno tipea y si se encuentra alguna coincidencia en una lista x la agregue en la lista del combobox así se puede agregar fácilmente a combobox.text.

aquí dejo un código que esta mal

'
gambas class file

Public EstosNombres As New String[]

Public Sub Form_Open()

  Me.Center
  
  EstosNombres.Add("JOSE")
  EstosNombres.Add("JUAN")
  EstosNombres.Add("JOSELO")
  EstosNombres.Add("MARIA")
  EstosNombres.Add("MARCELO")
  EstosNombres.Add("MARCOS")

End



Private Sub CargarListaMarcas()
  Dim marca As String
  cbxNombre.Clear

  For Each marca In EstosNombres
     If InStr(Left(UCase(marca), Len(cbxNombre.Text)), UCase(cbxNombre.Text)) <> 0 Then
         cbxNombre.Add(marca)
     Endif
  Next
  
End

Public Sub cbxNombre_KeyRelease()

   cbxNombre.Text = UCase$(cbxNombre.Text)
  
 If Len(cbxNombre.Text) <> 0 Then
     CargarListaMarcas()
  Else
     cbxNombre.Clear
  Endif

End


combobox.list.clear funciona?
cual es la diferencia con combobox.clear?
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mostrar Lista De Coincidencias En Un Combobox Mientras Se Escribe?? 
 
v3ctor escribió: [Ver mensaje]
combobox.list.clear funciona?
cual es la diferencia con combobox.clear?


...digo esto:
Public Sub Button1_Click()

  With ComboBox1
    .List = ["rosa", "rosae", "rosae", "rosam", "rosa", "rosa"]
    Print .List.Count
    Wait 1
    .Clear    
    Print .List.Count
  End With
  
  Wait 2
  Print
  
  With ComboBox1
    .List = ["rosa", "rosae", "rosae", "rosam", "rosa", "rosa"]
    Print .List.Count
    Wait 1
    .List.Clear    
    Print .List.Count
    Print .List[2]
  End With
  
End

Me parece que .List.Clear no funciona.  
 



 
última edición por vuott el Lunes, 21 Septiembre 2015, 16:06; editado 2 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mostrar Lista De Coincidencias En Un Combobox Mientras Se Escribe?? 
 
combobox.List devuelve una copia del array interno, no es la referencia al array. Si lo modificas con combobox.list=miarray tendrás que hacer una pausa de wait 0.01 para que se vea en pantalla.

Por otra parte, no entiendo qué quieres hacer ¿predecir escrituras como hacen los teléfonos móviles? Eso se inventó para dispositivos sin teclado, no creo que sea algo muy adecuado para aplicaciones de escritorio...

Saludos.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mostrar Lista De Coincidencias En Un Combobox Mientras Se Escribe?? 
 
Gente, esto es lo que quiero hacer... pero con un combobox  

' gambas class file

 Private EstosNombres As New String[]
 

Public Sub Form_Open()
  
  Me.Center
  
  EstosNombres.Add("JOSE")
  EstosNombres.Add("JUAN")
  EstosNombres.Add("JOSELO")
  EstosNombres.Add("MARIA")
  EstosNombres.Add("MARCELO")
  EstosNombres.Add("MARCOS")
  EstosNombres.Add("MANIS")
  EstosNombres.Add("MONTON")
  EstosNombres.Add("MONTANER")

End

Public Sub txtNombre_KeyRelease()

  txtNombre.Text = UCase$(txtNombre.Text)
  
  If Len(txtNombre.Text) <> 0 Then
    CargarListaMarcas()
  Else
    Print "CERO CARACTER"
    ListBox1.Clear
    VBox1.Visible = False
  Endif

End

Private Sub CargarListaMarcas()
  Dim marca As String
  Dim Coincidencias As Boolean
  Dim EstaLista As New String[]
 
  For Each marca In EstosNombres
     If InStr(Left(UCase(marca), Len(txtNombre.Text)), UCase(txtNombre.Text)) <> 0 Then
        Coincidencias = True
        EstaLista.Add(marca)
     Else
        Print "nombre no AGREGADO:" & marca
     Endif
  Next
  
  If Coincidencias Then
    VBox1.Visible = True
    ListBox1.List = EstaLista
  Else
    ListBox1.Clear
    VBox1.Visible = False
  Endif
  
End

Public Sub ListBox1_DblClick()
  txtNombre.Text = ListBox1.Text
  ListBox1.Clear
  VBox1.Visible = False
End

Public Sub txtNombre_KeyPress()
 If Key.Code = Key.Down Then
   ListBox1.SetFocus
   ListBox1.Index = 0
   Return
  Endif
End

Public Sub ListBox1_KeyRelease()
  If Key.Code = Key.Return Then
    ListBox1_DblClick()
  Endif
End


ListaComboBox-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: ListaComboBox-0.0.1.tar.gz
Tamaño: 4.89 KB
Descargado: 70 veces
ListaComboBox-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: ListaComboBox-0.0.1.tar.gz
Tamaño: 4.89 KB
Descargado: 70 veces
ListaComboBox-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: ListaComboBox-0.0.1.tar.gz
Tamaño: 4.89 KB
Descargado: 70 veces

 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mostrar Lista De Coincidencias En Un Combobox Mientras Se Escribe?? 
 
Dices una cosa parecida a esto ?

http://foro.gambas-es.org/viewtopic.php?f=4&t=1441



shordi escribió: [Ver mensaje]
combobox.List devuelve una copia del array interno, no es la referencia al array.

...quizás... pero si es asì, me pregunto porque " .List. " tiene todas las propiedades y los metodos tipicos de un array...  scratch
 



 
última edición por vuott el Lunes, 21 Septiembre 2015, 19:05; editado 2 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mostrar Lista De Coincidencias En Un Combobox Mientras Se Escribe?? 
 
vuott escribió: [Ver mensaje]
Dices una cosa parecida a esto ?

http://foro.gambas-es.org/viewtopic.php?f=4&t=1441



shordi escribió: [Ver mensaje]
combobox.List devuelve una copia del array interno, no es la referencia al array.

...quizás... pero si es asì, me pregunto porque " .List. " tiene todas las propiedades y los métodos típicos de un array...  scratch


 por lo que veo esa función trabaja con una lista fija antes cargada en el combobox.... pero si hablamos de miles de nombres no es lo conveniente (los nombres los tomo de una base de datos sqlite)

lo que yo intento hacer es cargar en la lista del combobox solo los nombre que coincidan con lo que se va escribiendo en el ejemplo que subi se ve de que se trata

seguiré buscando la manera

creo la clase combobox deberian revisarla pues contiene errores.
el mas claro es que combobox.list.clear no funciona ni tampoco combobox.list.add
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
última edición por v3ctor el Lunes, 21 Septiembre 2015, 19:26; editado 1 vez 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mostrar Lista De Coincidencias En Un Combobox Mientras Se Escribe?? 
 
Citar:

creo la clase combobox deberian revisarla pues contiene errores.
el mas claro es que combobox.list.clear no funciona ni tampoco combobox.list.add

No son errores:
Repito que .list devuelve es una copia del string[] que contiene la lista, no es la lista.
Combobox.list.clear() te limpia la copia y combobox.list.Add añade algo a la copia. No a la lista.
Para añadir algo a la lista se usa combobox.Add directamente y para limpiar la lista combobox.clear.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron