Re: Matriz, Array, Structure?¿?¿? No Sé Lo Que Necesito (casí SOLUCIONADO)
Pues no te lo puedo decir con seguridad porque nunca lo he hecho. Estoy pensando en hacerlo porque me he dado cuenta que algún código que tengo por ahí sería mejor y mas sencillo de mantener si una de esas clases tuviera sus propios eventos, para dentro de algún tiempo me pondré a ello. Ahora estoy terminando la revisión de mi software (parches y demás) que tenía pendiente desde que me fuí. Además estoy próximo a sacar una nueva versión y me está dando trabajo y además tengo el proyecto de crear un crystal report para
gambas que lo tengo a medias
Pero esa es otra idea que tengo en mente.
Si quieres investigar lo que hay que hacer es crear una clase con el código de los eventos y ahí esos eventos los declaras así
Citar:
EVENT Name ( [ Parameter #1 [ , Parameter #2 ... ] )
y luego para que un objeto utilice esos eventos le haces un attach
object.attach "clase de eventos"
Mas o menos es eso, pero ya te digo que eso lo tengo por probar
---------------------------------------------------------------------------------------------------------------------
Citar:
Como los elementos en el ColumnView pueden cambiar de posición, cambian los índices; así que la relación entre el ColumnView y el array la haría por medio de la Key
Estuve a punto de ponerte eso porque es un caso muy común pero preferí escribirte solo de un array al que accedes mediante un índice porrque lo importante es la comprensión.
Ahora que lo entendiste te explico lo que te pasa. En un columnview (u otra cosa) tu no tienes un índice numérico sino una clave y quieres poder encontrar por esa clave que procede de un columnview, de un treeview o es cualquier código que te has calculado o te han escrito en un textbox ¿Como lo encuentras?
Pues la respuesta es que necesitas tu tabla de objetos y una tabla de índices. La primea es la que te expliqué antes. La segunda es donde guardas las claves.
Siguiendo con el ejemplo anterior tu tienes tu datos[] as new string[] donde guardas todos tus objetos y puedes acceder a ellos mediatne un índice solo que tu no tienes un índice numérico sino una clave.
Pues creas otra tabla de claves así
Cuando quieres insertar un dato (en tu ejemplo insertas algo en un columnview
1. Haces el insert en el columnview: columnview.add(key, ...)
2. Haces el insert en la tabla de objetos
Variable=NEW musica
Variable = ... 'aquí metes datos
Datos.add(Variable) 'aquí metes los datos en tu array
3 Guardas la clave en un array
Claves.add(key) 'esto es lo nuevo con respecto a lo anterior. Guardas la clave en un array
Con eso ya metiste las cosas en su sitio.
'Cuando quieres buscar ls música y conoces su índice haces
Variable=Datos[Indice]
'Pero si lo que sabes es la clave del columnview en vez del índice haces
Dim Indice as integer
Indice=Claves.find(key) 'buscar la clave en la tabla de claves. Obtienes su posición
Variable=Datos[Indice]
'Esto lo puse así para que se comprendiera mejor pero puedes hacerlo en un solo paso
Variable=Datos[Claves.find(key)]
Da igual el orden en que las cosas estén en el columnview. Tu buscas una clave en su tabla
Cuando quieras borrar un índice X
Datos.Remove(X)
Claves.Remove(X)
Cuando quieras borrar una clave key
Datos.Remove(Claves.find(key))
Claves.Remove(Claves.find(key))