Problema Con Settings (Solucionado)


Objetivo: Problema Con Settings (Solucionado)
Bien, creo que pueda ser un bug de gambas o quizá mío. Estoy haciendo unas pruebas y creé el siguiente código
' gambas class file
PRIVATE palabra AS String
PRIVATE lista AS String
PUBLIC SUB Form_Open()
ListBox1.list = Settings["lista"]
END

PUBLIC SUB Button1_Click()
IF TextBox1.text = "" THEN
Message.Info("Debe escribir un nombre")
TextBox1.SetFocus
ELSE
palabra = TextBox1.Text
ListBox1.add(palabra)
TextBox1.Clear
TextBox1.SetFocus
ENDIF
END

PUBLIC SUB Form_Close()

Settings["lista"] = ListBox1.list

END

PUBLIC SUB ListBox1_Dblclick()
DIM jugador AS Integer
jugador = Int((ListBox1.Index))
TextBox2.text = ListBox1.List[jugador]
END
PUBLIC SUB Button2_Click()

ListBox1.Remove(ListBox1.Index)

END

En la primera ejecución aunque el listbox está vacío funciona sin problemas, agrego algo al listbox y me lo guarda para la siguiente ejecución.
Pero si borro todos los item del list box, a la siguiente ejecución me de el error out of bounds en la línea
ListBox1.list = Settings["lista"]

Si borro esta línea lo inicia, me deja cargar el listbox pero al cerrarlo me da el mismo error en la línea
Settings["lista"] = ListBox1.list

¿Alguien tiene idea si es un bug, o estoy bugeado yo'
Gracias

última edición por Dani26 el Viernes, 03 Diciembre 2010, 12:45; editado 1 vez
Objetivo: Re: Problema Con Settings
no me hagas mucho caso, pero puede ser que settings se usa con 2 parámetros??? el primero es la categoría y el segundo el campo... por ejemplo:

Settings["BaseDatos/Tipo"]
Settings["BaseDatos/Servidor"]
Settings["BaseDatos/Usuario"]
Settings["BaseDatos/Puerto"]
Settings["BaseDatos/BaseDatos"]
Settings["BaseDatos/Password"]

Objetivo: Re: Problema Con Settings
No he usado mucho este componente, he leído lo que encontré en el foro pero no consigo orientarme. Ya rehize el programita tres veces y siempre me hace lo mismo.
¿Alguien tiene otra idea?
Gracias

Objetivo: Re: Problema Con Settings
A ver, veo algunas cosas raras:
Settings devuelve valores almacenados en un fichero de texto que tiene este formato:

[Basedatos]
Tipo="mitipo"
Host="localhost"
Nombre="mibase"
Password="miclave"
Usuario="miusuario"

Tú puedes establecer y recuperar valores usando la sintaxis que te mencionaba Caniho

mivariable=Settings["Basedatos/Host"]

Donde mivariable adquirirá el valor "localhost", en el ejemplo.

Bien, List es una propiedad del listbox o del combobox que es un String[], es decir un array de cadenas. Settings no devuelve un array de cadenas, por lo que no puedes asignar un string a esa propiedad.
Busca otra manera de almacenar tus datos. Utiliza una base de datos (que es lo que te aconsejo) o soslaya el asunto almacenando los datos en un fichero de texto plano.

Por ejemplo:

dim cadena as string
cadena="valor1,valor2,valor3,valor4"
file.save(user.home &/ "valores.txt, cadena")


Luego cuando quieras recuperarlos para el list del listbox o combo usa

dim cadenas as string[]
dim valores as string

valores=file.load(user.home&/ "valores.txt")
cadenas=split(valores,",")
listBox1.list=cadena


Suerte

última edición por shordi el Viernes, 03 Diciembre 2010, 07:12; editado 1 vez
Perfil MP  
Objetivo: Re: Problema Con Settings
Gracias a ambos, evidentemente el que tiene un bug soy yo. Usaré una bd. Saludos


Página 1 de 1


  
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

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1493s (PHP: -36% SQL: 136%)
Consultas SQL: 31 - Debug off - GZIP Activado