https://foro.gambas-es.org/viewtopic.php?f=1&t=1169
-----------------------------------
Dani26
Miercoles, 01 Diciembre 2010, 22:43

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
[code linenumbers=false syntax=gambas]' 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
[/code]
 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 [b]todos[/b] los item del list box, a la siguiente ejecución me de el error [b]out of bounds[/b] en la línea
[code linenumbers=false syntax=gambas]ListBox1.list = Settings["lista"][/code]
  Si borro esta línea lo inicia, me deja cargar el listbox  pero al cerrarlo me da el mismo error en la línea 
[code linenumbers=false syntax=gambas]Settings["lista"] = ListBox1.list[/code]
¿Alguien tiene idea si es un bug, o estoy bugeado yo'
Gracias :sad:


-----------------------------------
CanihoJR
Jueves, 02 Diciembre 2010, 10:53

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"]


-----------------------------------
Dani26
Viernes, 03 Diciembre 2010, 01:12

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


-----------------------------------
shordi
Viernes, 03 Diciembre 2010, 07:11

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:

[code linenumbers=false syntax=gambas]dim cadena as string
cadena="valor1,valor2,valor3,valor4"
file.save(user.home &/ "valores.txt, cadena")[/code]

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

[code linenumbers=false syntax=gambas]dim cadenas as string[]
dim valores as string

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

Suerte


-----------------------------------
Dani26
Viernes, 03 Diciembre 2010, 12:44

Re: Problema Con Settings
-----------------------------------
Gracias a ambos, evidentemente el que tiene un bug soy yo. Usaré una bd. Saludos :roll:


