Mostrando las entradas con la etiqueta ComboBox. Mostrar todas las entradas
Mostrando las entradas con la etiqueta ComboBox. Mostrar todas las entradas

martes, 14 de julio de 2015

Recordar lista de palabras en un combobox



' gambas class file

' by postapase
' Activar complemento settings

Public Sub Form_Open()
Me.Center ' el formulario se abre centrado en la pantalla o escritorio
' toma el string anteriormente guardado en el archivo settings,
' separa los string por sus comas generando un string[] y lo asigna
' a la lista del combobox que es una variable de tipo string[]
cbxFiltro.List = Split(Settings["Recientes/Diccionarios"], ",")
End

Public Sub btnBuscar_Click()
Dim Buscar As String

Buscar = cbxFiltro.Text

If cbxFiltro.Count < 4 Then 'si la cantidad de string contenidas en el lista del combobox es menor que 4 ejecuta las lineas siguientes
'el 4 sera el número máximo de palabras a guardar en la lista se puede usar 10, 15 o 20 lo que vos quieras
' si cambias el cuatro por otro valor cambia tambien despues del else en cbxFiltro.Remove(valor-1)
If cbxFiltro.Find(Buscar) = -1 Then 'cbxFiltro.Find(Buscar) devuelve o retorna -1 sino encuentra coincidencias
' si la encuentra devuelve el número de index de la lista
cbxFiltro.Add(Buscar, 0) ' como cbxFiltro.Find(Buscar) retorno -1 significa que la palabra no esta por lo tanto la agregamos
Endif
Else
' si cbxFiltro.Count es mayor que 4 ejecuta estas lineas
cbxFiltro.Remove(3) 'busca en la lista el valor ingresado mas viejo que es el de mas abajo y lo elimina (aqui tal vez sea mejor poner cbxFiltro.Remove(cbxFiltro.List.Max) )
'para dar lugar a la nueva palabra
If cbxFiltro.Find(Buscar) = -1 Then
cbxFiltro.Add(Buscar, 0) 'agrega la nueva palabra en la lista del combobox y la indexa en el primer lugar
Endif
Endif

GuardarRecientes() ' ejecuta o llama a esta subrutina

cbxFiltro.Text = "" ' borra el texto del combobox
cbxFiltro.SetFocus 'da el foco al combobox dejando el cursor parpadeando

End

Private Sub GuardarRecientes() ' rutina que guarda los string de la lista en un string solo separado por comas
Dim palabra, DicRecientes As String

If cbxFiltro.Count > 0 Then ' si la lista NO esta vacía ejecuta las lineas siguientes
For Each palabra In cbxFiltro.List 'recorre la lista del combobox que es una variable de tipo string[]
DicRecientes &= palabra & "," ' y se forma un string con las palabras a recordar separadas por comas
Next
Settings["Recientes/Diccionarios"] = Left(DicRecientes, Len(DicRecientes) - 1)
'elimina el último caracter del string que es una coma y lo guarda en el archivo settings
Else
'si la lista esta vacia guarda un string vacío
Settings["Recientes/Diccionarios"] = "" 'borra la string que contiene la lista de palabras
Endif

Settings.Save ' guarda ya los cambios en el archivo settings

End

Public Sub btnBorrar_Click()
cbxFiltro.Text = "" ' borra el texto del combobox
cbxFiltro.SetFocus 'da el foco al combobox dejando el cursor parpadeando
cbxFiltro.Clear 'borra la lista del combobox
Settings["Recientes/Diccionarios"] = "" 'borra el string que contiene la lista de palabras
Settings.Save ' guarda ya los cambios en el archivo settings
End

Descargar: Recordarlistacombobox-0.0.1.tar.gz


martes, 9 de septiembre de 2014

Manipulando datos de un ComboBox

Guardar datos de un ComboBox y cargar datos a un ComboBox





' gambas class file

'by postapase

Public Sub Form_Open()
Me.Center
End

Public Sub btnAgregar_Click()

ComboBox1.Add(ComboBox1.Text)
ComboBox1.Text = ""
ComboBox1.SetFocus

End

Public Sub btnGuardarLista_Click()
Dim dato, lista As String

For Each dato In ComboBox1.List
lista &= dato & ","
Next

lista = Left(lista, Len(lista) - 1)
Settings["ListaDeDatos/Datos"] = lista
Settings.Save

LeerArchivoSettings()

End

Public Sub btnCargarLista_Click()
Dim lista As String
Dim separando As String[]
Dim x As Integer

TextArea1.Clear
ComboBox1.Clear
lista = Settings["ListaDeDatos/Datos", ""]
separando = Split(lista, ",")

For x = 0 To separando.Count - 1
ComboBox1.Add(separando[x])
Next

LeerArchivoSettings()
End

Public Sub LeerArchivoSettings() 'rutina que se encargara de leer el archivo Settings y mostrarlo en el TextArea
Dim ArchivoSettings As File 'declaramos una variable de tipo archivo para poder leer los datos de un archivo
Dim LineaX As String 'variable de tipo string que contendra los dato de una linea del archivo que estemos leyendo
Dim RutaArchivoSettings As String 'variable de tipo string que contendra la ruta del archivo a leer

TextArea1.Clear 'borramos el textarea sino no visualizaremos los datos como corresponde
RutaArchivoSettings = Settings.Path 'asignamos la ruta del archivo al string

ArchivoSettings = Open RutaArchivoSettings For Read
'open abre un archivo x en la ruta especificada en este caso Settings.path ( )
'For Read indica que abre el archivo solo con intenciones de lectura

'while...wend (El bucle se repite mientras que la expresión es verdadera.)
'Eof devuelve TRUE si estamos al final de un Flujo. (en este caso un archivo)
While Not Eof(ArchivoSettings) 'si eof NO es true ejecute el bluce (comienzo del bluce)
' cuando Eof(ArchivoSettings) es true significa que llego al final del archivo y el bluce no se ejecuta mas
Line Input #ArchivoSettings, LineaX 'lee de a una linea el archivo
' y lo que hay en esa linea lo deposita en lineaX que es una variable de tipo String
TextArea1.Text &= LineaX & gb.NewLine 'va escribiendo en el textarea linea a linea pasando lo que hay en lineax,
' gb.NewLine es una constante equivalente a poner LineaX & "\n" (salto de linea)
Wend


Close ArchivoSettings  ' agregue esta linea
End

Public Sub btnGuardarLista2_Click()
Dim ArchivoX As File
Dim dato, lista As String

For Each dato In ComboBox1.List
lista &= dato & gb.NewLine
Next

ArchivoX = Open User.Home & "/lista.txt" For Write Create

Write #ArchivoX, lista

Close ArchivoX

btnCargarLista2_Click()

End

Public Sub btnCargarLista2_Click()
Dim ArchivoX As File
Dim LineaX As String
ComboBox1.Clear
TextArea2.Clear
ArchivoX = Open User.Home & "/lista.txt" For Read

While Not Eof(ArchivoX)
Line Input #ArchivoX, LineaX
TextArea2.Text &= LineaX & gb.NewLine
ComboBox1.Add(LineaX)
Wend

Close ArchivoX

End

Public Sub Button1_Click()
TextArea2.Clear
End

Public Sub Button2_Click()
TextArea1.Clear
End

Public Sub Button4_Click()

ComboBox1.Clear

End

Código fuente: GuardarCargarListaComboBox-0.0.1.tar.gz