Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Colecciones Que Pierden Itemes.
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Colecciones Que Pierden Itemes. 
 
Hola a todos.
Hay ocasiones en que la colecciones pierden elementos de la lista cuando son asignados valores vacíos a estos.
Supongo que se trata de un bug, pero me gustaría saber que opinan al respecto.
Dejo un ejemplo de colecciones y si en vez de cambiar el texto del día de la semana por otro, ponen una cadena nula "" entonces ese dia desaparecera de la lista..
' gambas class file

Public ctn As New Collection

Public Sub Form_Open()

    Dim day As String

    TreeView1.Clear
    ctn.Clear
    ctn = init()
    If ctn.Count > 0 Then
        TreeView1.Add("d", ("Días"))
        For Each day In ctn
            TreeView1.Add(ctn.Key, day,, "d")
        Next
    Endif
    TreeView1["d"].Expanded = True

End

Public Sub init() As Collection

    Dim c As New Collection

    c.Add("lunes", "d1")
    c.Add("martes", "d2")
    c.Add("miercoles", "d3")
    c.Add("jueves", "d4")
    c.Add("viernes", "d5")

    Return c

End

Public Sub TreeView1_DblClick()

    Dim str As String

    str = InputBox(("Cambio de día"), ("Cambio de día"), ctn[TreeView1.Current.Text])
    ctn[TreeView1.Current.Key] = str

    TreeView1.Current.Text = str
    Print ctn[TreeView1.Current.Text]

End
 

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Colecciones Que Pierden Itemes. 
 
Tincho:

Creo que si asignas null, eliminas la llave y si asignas una cadena vacía hace lo mismo.
Y por similitud null es:

Citar:

Esta constante se emplea para representar una referencia a un objeto nulo, una cadena de longitud cero, una fecha nula, o un valor Variant no inicializado.


Tienes que asegurarte que se le asigna un valor a la llave.

 nullcadenavacia

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Domingo, 27 Enero 2019, 08:48; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Colecciones Que Pierden Itemes. 
 
Viene en la documentación: Establecer un item a null es eliminarlo.

   
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Colecciones Que Pierden Itemes. 
 
shordi escribió: [Ver mensaje]
Viene en la documentación: Establecer un item a null es eliminarlo...

Si, es verdad lo indica claramente, ahora lo veo.
http://gambaswiki.org/wiki/comp/gb/collection
Es un poco retorcido no? porque para que poner el método "Remove" entonces.
La verdad me parece que no es práctico que los itemes de una colección sean eliminados al asignarle el valor particular null,.No sucede así en el caso de las matrices de texto String[].

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Colecciones Que Pierden Itemes. 
 
Tincho:

Citar:

Es un poco retorcido no? porque para que poner el método "Remove" entonces.


Podríamos decir que existen distintas formas de hacer algo. A veces solo una.
En gambas como en cualquier lenguaje según versión este ha ido evolucionando,
creando distintos y nuevos métodos y algunos hacen lo mismo de distinta forma.

No sabemos si el método remove fue primero. O lo más probable sea que comenzó
igualando a null o cadena vacía para eliminar el item.

Nos vamos a encontrar esto en gambas muchas veces. Imagina como se haría desde
su primera versión.

En el lenguaje "C" se llaman colecciones a las estructuras. En Python se llaman diccionarios, no existen un método remove.
Y desde luego en Java las colecciones son un un rollo comparadas con los anteriores.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Ejemplo Con Colecciones, Funciones, Proced... Shell Aplicaciones/Fragmentos de Código 2 Sabado, 16 Noviembre 2013, 20:42 Ver último mensaje
Shell
No hay nuevos mensajes Programa De Colecciones Con Bases De Datos... tincho Aplicaciones/Fragmentos de Código 1 Domingo, 24 Julio 2016, 09:17 Ver último mensaje
Shell
No hay nuevos mensajes Array De Colecciones Shell General 5 Sabado, 30 Septiembre 2017, 11:49 Ver último mensaje
shordi
No hay nuevos mensajes Depurador De Colecciones Sin Claves [SOLUC... tincho Aplicaciones/Fragmentos de Código 3 Jueves, 04 Junio 2020, 11:50 Ver último mensaje
tincho
 

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