Como Listar Recientes En Un Textbox?
Subject: Como Listar Recientes En Un Textbox?
necesito crear una lista de recientes en un textbox donde se ingresa el nombre del arbitro de los partidos de tenis de mesa para que sea mas cómodo para ellos digamos haciendo un clic en el textbox aparezca una lista con los nombres que se han ingresado anteriormente, necesito una orientación de como hacerlos, seria algo como el buscador google que vos pones una palabra y el te da similitudes en un lisbox o algo parecido, escucho sugerencias por donde empezar.
Subject: Re: Como Listar Recientes En Un Textbox?
Hola v3ctor.
Un Textbox esta más bien pensado para una linea de texto. Como entrada, no como etiqueta que es una salida.
Es distinto al TextArea, donde puedes añadir el texto que quieras en distintas lineas.
Con un ListBox tu puedes jugar con distintos elementos.Puedes buscar por letras y que vayan apareciendo coincidencias.
¿ O prefieres que al escribir en el Textbox, salgan las coincidencias en el Listbox ?
Te muestro un ejemplo. Creo que lo subí en su día a la comunidad.
En este ejemplo se buscan palabras que tienen que ver con el lenguaje Basic Sinclair del Zx Spectrum.
Lo hace de dos maneras. Desde la caja de texto o directamente haces click en la lista y vas pulsando letras.
Puedes borrar una letra o mas y empezar donde lo dejaste para variar o continuar con otra búsqueda.
Pruébalo a ver si es similar a lo que quieres.
Saludos
Un Textbox esta más bien pensado para una linea de texto. Como entrada, no como etiqueta que es una salida.
Es distinto al TextArea, donde puedes añadir el texto que quieras en distintas lineas.
Con un ListBox tu puedes jugar con distintos elementos.Puedes buscar por letras y que vayan apareciendo coincidencias.
¿ O prefieres que al escribir en el Textbox, salgan las coincidencias en el Listbox ?
Te muestro un ejemplo. Creo que lo subí en su día a la comunidad.
En este ejemplo se buscan palabras que tienen que ver con el lenguaje Basic Sinclair del Zx Spectrum.
Lo hace de dos maneras. Desde la caja de texto o directamente haces click en la lista y vas pulsando letras.
Puedes borrar una letra o mas y empezar donde lo dejaste para variar o continuar con otra búsqueda.
Pruébalo a ver si es similar a lo que quieres.
Saludos
BusquedaEnLista.tar.gz | ||
Description: | Download |
|
Filename: | BusquedaEnLista.tar.gz | |
Filesize: | 6.18 KB | |
Downloaded: | 62 Time(s) |
BusquedaEnLista.tar.gz | ||
Description: | Download |
|
Filename: | BusquedaEnLista.tar.gz | |
Filesize: | 6.18 KB | |
Downloaded: | 62 Time(s) |
BusquedaEnLista.tar.gz | ||
Description: | Download |
|
Filename: | BusquedaEnLista.tar.gz | |
Filesize: | 6.18 KB | |
Downloaded: | 62 Time(s) |
Subject: Re: Como Listar Recientes En Un Textbox?
Shell y V3ctor:
He añadido una pequeña función al ejemplo de Shell y un nuevo listbox, para que se vea cual es la diferencia.
Creo que esto si se aproxima más a lo que busca v3ctor.
Saludos
He añadido una pequeña función al ejemplo de Shell y un nuevo listbox, para que se vea cual es la diferencia.
Creo que esto si se aproxima más a lo que busca v3ctor.
Saludos
BusquedaEnLista-0.0.2.tar.gz | ||
Description: | Sistema de busqueda en una lista, como hace la barra de google. | Download |
Filename: | BusquedaEnLista-0.0.2.tar.gz | |
Filesize: | 5.14 KB | |
Downloaded: | 63 Time(s) |
BusquedaEnLista-0.0.2.tar.gz | ||
Description: | Sistema de busqueda en una lista, como hace la barra de google. | Download |
Filename: | BusquedaEnLista-0.0.2.tar.gz | |
Filesize: | 5.14 KB | |
Downloaded: | 63 Time(s) |
BusquedaEnLista-0.0.2.tar.gz | ||
Description: | Sistema de busqueda en una lista, como hace la barra de google. | Download |
Filename: | BusquedaEnLista-0.0.2.tar.gz | |
Filesize: | 5.14 KB | |
Downloaded: | 63 Time(s) |
Subject: Re: Como Listar Recientes En Un Textbox?
Hola Julio.
Pues también esta muy interesante tu modificación. ( Me suelo despistar )
Por cierto, tuve que usar QT4, ya que al volver a ver el cambio del ejemplo, la consola me muestra esto:
(Ya me lo hizo antes con el ejemplo original).
Estoy usando Linux Mint 17 versión Mate. Con QT4 no me pasa.
El tema que estoy usando por defecto es el que trae el sistema.
Me parece a mi que es algo parecido a lo que le paso a Shordi. Es que ahora no tengo tiempo para mucho.
Saludos
Pues también esta muy interesante tu modificación. ( Me suelo despistar )
Por cierto, tuve que usar QT4, ya que al volver a ver el cambio del ejemplo, la consola me muestra esto:
(Ya me lo hizo antes con el ejemplo original).
Citar:
Estoy usando Linux Mint 17 versión Mate. Con QT4 no me pasa.
El tema que estoy usando por defecto es el que trae el sistema.
Me parece a mi que es algo parecido a lo que le paso a Shordi. Es que ahora no tengo tiempo para mucho.
Saludos
Subject: Re: Como Listar Recientes En Un Textbox?
algo asi es lo que quiero:
el listbox se crearia cuando se escribe en el textbox si el textbox pierde el foco el listbox debe quedar invisible o eliminar el objeto, cuando se guardan las configuraciones en el tanteador el nombre del arbitro ingresado en el textbox se ánade a una lista que no se si guardarla en el archivo de configuración para después esa lista cargarla en el listbox que se creara cada vez que se use el textbox
' gambas class file
Private ListaJueces As ListBox
Public Sub Form_Open()
End
Public Sub TextBox1_Change()
If Len(TextBox1.Text) > 0 Then
ListaJueces = New ListBox(FMain) As "ListaJueces"
With ListaJueces
.Enabled = True
.Visible = True
.Width = TextBox1.Width
.Height = 100
.x = TextBox1.X
.y = TextBox1.y + TextBox1.Height
End With
Else
' jaja no se como eliminar el objeto aunque creo que antes de eliminar hay que comprobar si existe
Endif
End
el listbox se crearia cuando se escribe en el textbox si el textbox pierde el foco el listbox debe quedar invisible o eliminar el objeto, cuando se guardan las configuraciones en el tanteador el nombre del arbitro ingresado en el textbox se ánade a una lista que no se si guardarla en el archivo de configuración para después esa lista cargarla en el listbox que se creara cada vez que se use el textbox
' gambas class file
Private ListaJueces As ListBox
Public Sub Form_Open()
End
Public Sub TextBox1_Change()
If Len(TextBox1.Text) > 0 Then
ListaJueces = New ListBox(FMain) As "ListaJueces"
With ListaJueces
.Enabled = True
.Visible = True
.Width = TextBox1.Width
.Height = 100
.x = TextBox1.X
.y = TextBox1.y + TextBox1.Height
End With
Else
' jaja no se como eliminar el objeto aunque creo que antes de eliminar hay que comprobar si existe
Endif
End
Subject: Re: Como Listar Recientes En Un Textbox?
v3ctor:
Lo suyo es que crees el control, como haces aqui:
pero en fmain _open()., ya que como lo tienes puesto, crearia el control cada vez que cambie algo del textbox.
Luego le pones la propiedad .visible como true (para que se vea) o false (para que no se vea), cuando te interese
Pues usando el método .delete()
Lo suyo es que crees el control, como haces aqui:
pero en fmain _open()., ya que como lo tienes puesto, crearia el control cada vez que cambie algo del textbox.
Luego le pones la propiedad .visible como true (para que se vea) o false (para que no se vea), cuando te interese
Citar:
Pues usando el método .delete()
listaJueces.delete()
Subject: Re: Como Listar Recientes En Un Textbox?
Codigos complicados
y controles extras
lo que pide es un combobox con autocompletado
necesitamos un combobox y un array o una base de datos
donde guardaremos las palabras
primero al combobox le cambiamos la propiedad background a color de texbox
luego en el evento keyrelease del combobox
'borramos el list del combobox
'llenamos el list con lo que coincida entre elprincipio delarray y el combobox.text
y un if si encontro entonces
'combobox.popup para que muestre la lista y el usuario la seleccione o siga escribiendo
y por ultimo para no repetir el codigo hacer todo eso usando la inherits y crear el combobox con autocompletado
y si no quieren algo tan complico
solo llenan el list del combobox
combobox.add("string")
y luego en el keyrelease combobox.popup
y controles extras
lo que pide es un combobox con autocompletado
necesitamos un combobox y un array o una base de datos
donde guardaremos las palabras
primero al combobox le cambiamos la propiedad background a color de texbox
luego en el evento keyrelease del combobox
'borramos el list del combobox
'llenamos el list con lo que coincida entre elprincipio delarray y el combobox.text
y un if si encontro entonces
'combobox.popup para que muestre la lista y el usuario la seleccione o siga escribiendo
y por ultimo para no repetir el codigo hacer todo eso usando la inherits y crear el combobox con autocompletado
y si no quieren algo tan complico
solo llenan el list del combobox
combobox.add("string")
y luego en el keyrelease combobox.popup
Subject: Re: Como Listar Recientes En Un Textbox?
logre ingresar los nombres al archivo settings jajaj
ahora trabajo en como leerlos del archivo setting para agregarlos al array y despues ajustar la funsion de busqueda y coincidencia.
asi es como se ve en el archivo settings:
[ArbitrosRecientes]
cantidad=6
arbitro[1]="jose"
arbitro[2]="anival"
arbitro[3]="maria"
arbitro[4]="manuel"
arbitro[5]="jose"
arbitro[6]="lucia"
' gambas class file
Public Nrecientes As Integer
Private ListaJueces As ListBox
Public Sub Form_Open()
Dim nombrearbitros As String
Dim contador5 As Integer
Nrecientes = Settings["ArbitrosRecientes/cantidad", 0]
Print Nrecientes
ListaJueces = New ListBox(FMain) As "ListaJueces"
With ListaJueces
.Enabled = True
.Visible = False
.Width = TextBox1.Width
.Height = 100
.x = TextBox1.X
.y = TextBox1.y + TextBox1.Height
End With
For contador5 = 1 To Nrecientes Step 1
Print Settings["ArbitrosRecientes/arbitro[" & CStr(Nrecientes) & "]"]
ListaJueces.Add(Settings["ArbitrosRecientes/arbitro[" & CStr(Nrecientes) & "]"])
Next
End
Public Sub TextBox1_Change()
If Len(TextBox1.Text) > 0 Then
ListaJueces.Visible = True
Else
ListaJueces.Visible = False
Endif
End
Public Sub Button1_Click()
Dim contador1 As Integer
Inc Nrecientes
Settings["ArbitrosRecientes/cantidad"] = Nrecientes
Settings["ArbitrosRecientes/arbitro[" & CStr(Nrecientes) & "]"] = TextBox1.Text
Settings.Save
TextBox1.Clear
TextBox1.SetFocus
End
Public Nrecientes As Integer
Private ListaJueces As ListBox
Public Sub Form_Open()
Dim nombrearbitros As String
Dim contador5 As Integer
Nrecientes = Settings["ArbitrosRecientes/cantidad", 0]
Print Nrecientes
ListaJueces = New ListBox(FMain) As "ListaJueces"
With ListaJueces
.Enabled = True
.Visible = False
.Width = TextBox1.Width
.Height = 100
.x = TextBox1.X
.y = TextBox1.y + TextBox1.Height
End With
For contador5 = 1 To Nrecientes Step 1
Print Settings["ArbitrosRecientes/arbitro[" & CStr(Nrecientes) & "]"]
ListaJueces.Add(Settings["ArbitrosRecientes/arbitro[" & CStr(Nrecientes) & "]"])
Next
End
Public Sub TextBox1_Change()
If Len(TextBox1.Text) > 0 Then
ListaJueces.Visible = True
Else
ListaJueces.Visible = False
Endif
End
Public Sub Button1_Click()
Dim contador1 As Integer
Inc Nrecientes
Settings["ArbitrosRecientes/cantidad"] = Nrecientes
Settings["ArbitrosRecientes/arbitro[" & CStr(Nrecientes) & "]"] = TextBox1.Text
Settings.Save
TextBox1.Clear
TextBox1.SetFocus
End
ahora trabajo en como leerlos del archivo setting para agregarlos al array y despues ajustar la funsion de busqueda y coincidencia.
asi es como se ve en el archivo settings:
[ArbitrosRecientes]
cantidad=6
arbitro[1]="jose"
arbitro[2]="anival"
arbitro[3]="maria"
arbitro[4]="manuel"
arbitro[5]="jose"
arbitro[6]="lucia"
listadoJueces-0.0.1.tar.gz | ||
Description: | Download |
|
Filename: | listadoJueces-0.0.1.tar.gz | |
Filesize: | 5.14 KB | |
Downloaded: | 67 Time(s) |
listadoJueces-0.0.1.tar.gz | ||
Description: | Download |
|
Filename: | listadoJueces-0.0.1.tar.gz | |
Filesize: | 5.14 KB | |
Downloaded: | 67 Time(s) |
listadoJueces-0.0.1.tar.gz | ||
Description: | Download |
|
Filename: | listadoJueces-0.0.1.tar.gz | |
Filesize: | 5.14 KB | |
Downloaded: | 67 Time(s) |
Subject: Re: Como Listar Recientes En Un Textbox?
V3ctor:
Lo mismo te viene bien leerte esta entrada del curso de gambas3:
http://cursogambas.blogspot.com.es/...critura-de.html
Como veo que lo que quieres usar el archivo de configuración para guardar los arbitros... yo lo haria asi:
1) Pasas el contenido del ListaJueces a una variable que sea array de cadenas
2) Creas una variable de cadena, y le asisgnas el contenido del array de cadena, usando el método ".Join()", y le pones un caracter separador, por ejemplo la barra vertical "|"
3) Luego guadas esa variable en el archivo de configuración.
4) Cuando tenga que leerlo, lees una cadena, que tienes que convertir en array usando split y el separador "|", y asignar los valores al listbox.
Te dejo un codigo de ejemplo.
Saludos
Lo mismo te viene bien leerte esta entrada del curso de gambas3:
http://cursogambas.blogspot.com.es/...critura-de.html
Como veo que lo que quieres usar el archivo de configuración para guardar los arbitros... yo lo haria asi:
1) Pasas el contenido del ListaJueces a una variable que sea array de cadenas
2) Creas una variable de cadena, y le asisgnas el contenido del array de cadena, usando el método ".Join()", y le pones un caracter separador, por ejemplo la barra vertical "|"
3) Luego guadas esa variable en el archivo de configuración.
4) Cuando tenga que leerlo, lees una cadena, que tienes que convertir en array usando split y el separador "|", y asignar los valores al listbox.
Te dejo un codigo de ejemplo.
' gambas class file
Public Sub _new()
End
Public Sub Form_Open()
leerDatos()
End
Public Sub ButtonAddJuez_Click()
If TextBoxNombreJuez.text = "" Then
Message.Info("Debe de poner algun nombre a añadir")
Return
Endif
ListBoxJuez.Add(TextBoxNombreJuez.text)
guardarDatos()
End
Public Sub guardarDatos()
Dim a As Integer
Dim lista As New String[]
For a = 0 To ListBoxJuez.count - 1
lista.Add(ListBoxJuez[a].text)
Next
Settings["ListadoJueces"] = lista.Join("|")
Settings.Save()
End
Public Sub leerDatos()
Dim a As Integer
Dim lista As New String[]
lista = Split(Settings["ListadoJueces", ""], "|")
For a = 0 To lista.count - 1
ListBoxJuez.Add(lista[a])
Next
End
Public Sub _new()
End
Public Sub Form_Open()
leerDatos()
End
Public Sub ButtonAddJuez_Click()
If TextBoxNombreJuez.text = "" Then
Message.Info("Debe de poner algun nombre a añadir")
Return
Endif
ListBoxJuez.Add(TextBoxNombreJuez.text)
guardarDatos()
End
Public Sub guardarDatos()
Dim a As Integer
Dim lista As New String[]
For a = 0 To ListBoxJuez.count - 1
lista.Add(ListBoxJuez[a].text)
Next
Settings["ListadoJueces"] = lista.Join("|")
Settings.Save()
End
Public Sub leerDatos()
Dim a As Integer
Dim lista As New String[]
lista = Split(Settings["ListadoJueces", ""], "|")
For a = 0 To lista.count - 1
ListBoxJuez.Add(lista[a])
Next
End
Saludos
listadoList-0.0.1.tar.gz | ||
Description: | Ejemplo de como guardar el contenido de un listbox y luego leerlo en un archivo de configuración. | Download |
Filename: | listadoList-0.0.1.tar.gz | |
Filesize: | 4.85 KB | |
Downloaded: | 67 Time(s) |
listadoList-0.0.1.tar.gz | ||
Description: | Ejemplo de como guardar el contenido de un listbox y luego leerlo en un archivo de configuración. | Download |
Filename: | listadoList-0.0.1.tar.gz | |
Filesize: | 4.85 KB | |
Downloaded: | 67 Time(s) |
listadoList-0.0.1.tar.gz | ||
Description: | Ejemplo de como guardar el contenido de un listbox y luego leerlo en un archivo de configuración. | Download |
Filename: | listadoList-0.0.1.tar.gz | |
Filesize: | 4.85 KB | |
Downloaded: | 67 Time(s) |
Subject: Re: Como Listar Recientes En Un Textbox?
Last edited by v3ctor on Monday, 04 August 2014, 18:31; edited 1 time in total
sigo pensando...
paso 1: guardar nombres de arbitro en archivo settings (terminado)
paso 2: cargar los nombres del archivo settings en un arrary (pendiente)
paso 3: función de búsqueda de coincidencias en el array (pendiente)
paso 4: hacer visible el listbox y cargar las coincidencias en el (pendiente)
algo así seria el esquema
trabajo en el paso dos voy logrando esto:
paso 1: guardar nombres de arbitro en archivo settings (terminado)
paso 2: cargar los nombres del archivo settings en un arrary (pendiente)
paso 3: función de búsqueda de coincidencias en el array (pendiente)
paso 4: hacer visible el listbox y cargar las coincidencias en el (pendiente)
algo así seria el esquema
trabajo en el paso dos voy logrando esto:
Public Sub CargarNombresEnArray()
Dim contador As Integer
Dim ListaDeNombres As New String[]
Dim nombre As String
contador = Settings["ArbitrosRecientes/cantidad", 0]
Print contador
Repeat
ListaDeNombres.Add(Settings["ArbitrosRecientes/arbitro[" & CStr(contador) & "]"])
Dec contador
Print contador
Until contador = 0
For Each nombre In ListaDeNombres
Print nombre
Next
End
Dim contador As Integer
Dim ListaDeNombres As New String[]
Dim nombre As String
contador = Settings["ArbitrosRecientes/cantidad", 0]
Print contador
Repeat
ListaDeNombres.Add(Settings["ArbitrosRecientes/arbitro[" & CStr(contador) & "]"])
Dec contador
Print contador
Until contador = 0
For Each nombre In ListaDeNombres
Print nombre
Next
End
Last edited by v3ctor on Monday, 04 August 2014, 18:31; edited 1 time in total
Page 1 of 3
You cannot post new topicsYou cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events
This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo
Generation Time: 0.1387s (PHP: -7% SQL: 107%)
SQL queries: 25 - Debug Off - GZIP Enabled