buenas,
supongamos que tenemos un programa x, que usa clases....
supongamos que quiero agrupar x clase en un array de clases.... u objetos no se, por eso la pregunta.
pues bien como se agrupan? en que tipo de variable?
variable de objeto[] ?
la pregunta es especifica para agrupar un tipo de clase solo, en un array.... pero también se puede comentar si quisiéramos guardar en un array o agruparlas siendo clases de distinto tipo
saludos.
Agrupar Clases En Que Tipo De Variable?
Objetivo: Re: Agrupar Clases En Que Tipo De Variable?
v3ctor, uhmmm....por ahora me refiero a lo que escribí jguardon en este su mensaje:
https://foro.gambas-es.org/show_post.php?p=33276
https://foro.gambas-es.org/show_post.php?p=33276
Objetivo: Re: Agrupar Clases En Que Tipo De Variable?
Efectivamente, puedes crear un array Object[] que contenga diferentes instancias de una clase, de la misma clase, puesto que no tiene sentido mezclar tipos diferentes dentro del mismo array.
También podrías usar colecciones, aunque depende del uso que vayas a darle, siempre serán más rápidos los arrays dinámicos.
Saludos
También podrías usar colecciones, aunque depende del uso que vayas a darle, siempre serán más rápidos los arrays dinámicos.
Saludos
Objetivo: Re: Agrupar Clases En Que Tipo De Variable?
última edición por vuott el Lunes, 18 Julio 2016, 20:35; editado 3 veces
Generalmente una Clase (...o mejor: más objetos de una Clase) puede ser agrupada en una variable vectorial de su mismo tipo.
Por lo que se rifiere a la agregación de dos o más Clases de tipo diferente, tu puede usar:
- una Collection (como ha dicho jguardon);
- una variable array de tipo Variant[ ];
- una Estructura.
En este ejemplo creamos 4 botones y 4 label.
Luego agregamos los 4 botones en una variable array de tipo Button[ ], y las 4 Label en una variable array de tipo Label[ ] .
Tambien agregamos cada objeto (4 botones y 4 Label) juntos en una variable de tipo Variant[ ].
En fin las dos primeras variables array serán agregadas en una sola variable de tipo Variant[ ].
Por lo que se rifiere a la agregación de dos o más Clases de tipo diferente, tu puede usar:
- una Collection (como ha dicho jguardon);
- una variable array de tipo Variant[ ];
- una Estructura.
En este ejemplo creamos 4 botones y 4 label.
Luego agregamos los 4 botones en una variable array de tipo Button[ ], y las 4 Label en una variable array de tipo Label[ ] .
Tambien agregamos cada objeto (4 botones y 4 Label) juntos en una variable de tipo Variant[ ].
En fin las dos primeras variables array serán agregadas en una sola variable de tipo Variant[ ].
Public Sub Form_Open()
Dim b As Byte
Dim bt As Button
Dim botones As New Button[]
Dim lb As Label
Dim llbb As New Label[]
Dim todo As New Variant[]
Dim arraydearray As New Variant[]
' Creamos y luego agrupamos 4 botones en un array de tipo "Button[]":
For b = 1 To 4
With bt = New Button(Me)
.W = 60
.H = 30
.X = .W * b
.Y = 50
.Name = "Button " & CStr(b)
.Text = .Name
End With
botones.Push(bt)
todo.Push(bt)
Next
Print botones.Count
' Creamos y luego agrupamos 4 label en un array de tipo "Label[]":
For b = 1 To 4
With lb = New Label(Me)
.W = 60
.H = 30
.X = .W * b
.Y = 100
.Name = "Label " & CStr(b)
.Border = Border.Dotted
.Alignment = Align.Center
.Text = .Name
End With
llbb.Push(lb)
todo.Push(lb)
Next
Print llbb.Count
Print
' A ver el nombre de los objetos ensertados en el array "todo":
For b = 0 To todo.Max
Print todo[b].Name
Next
' Agrupamos los dos array en un array de tipo "Variant[]":
With arraydearray
.Push(botones)
.Push(llbb)
End With
Print
' Vamos a ver el testo de la 3^ Label:
Print arraydearray[1][2].Text
End
Dim b As Byte
Dim bt As Button
Dim botones As New Button[]
Dim lb As Label
Dim llbb As New Label[]
Dim todo As New Variant[]
Dim arraydearray As New Variant[]
' Creamos y luego agrupamos 4 botones en un array de tipo "Button[]":
For b = 1 To 4
With bt = New Button(Me)
.W = 60
.H = 30
.X = .W * b
.Y = 50
.Name = "Button " & CStr(b)
.Text = .Name
End With
botones.Push(bt)
todo.Push(bt)
Next
Print botones.Count
' Creamos y luego agrupamos 4 label en un array de tipo "Label[]":
For b = 1 To 4
With lb = New Label(Me)
.W = 60
.H = 30
.X = .W * b
.Y = 100
.Name = "Label " & CStr(b)
.Border = Border.Dotted
.Alignment = Align.Center
.Text = .Name
End With
llbb.Push(lb)
todo.Push(lb)
Next
Print llbb.Count
' A ver el nombre de los objetos ensertados en el array "todo":
For b = 0 To todo.Max
Print todo[b].Name
Next
' Agrupamos los dos array en un array de tipo "Variant[]":
With arraydearray
.Push(botones)
.Push(llbb)
End With
' Vamos a ver el testo de la 3^ Label:
Print arraydearray[1][2].Text
End
última edición por vuott el Lunes, 18 Julio 2016, 20:35; editado 3 veces
Objetivo: Re: Agrupar Clases En Que Tipo De Variable?
esto es posible....
clase CuboMovil
dim GrupoCuboMovil as new CuboMovil[]
?????
clase CuboMovil
dim GrupoCuboMovil as new CuboMovil[]
?????
Objetivo: Re: Agrupar Clases En Que Tipo De Variable?
Practicamente sì.
A ver un ejemplo muy muy sencillo.
Tenemos una Clase secundaria, llamada v3ctor:
La Clase principal es esta:
v3ctor escribió: [Ver mensaje]
Practicamente sì.
A ver un ejemplo muy muy sencillo.
Tenemos una Clase secundaria, llamada v3ctor:
La Clase principal es esta:
Página 1 de 1
No puede crear mensajesNo 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.2014s (PHP: -36% SQL: 136%)
Consultas SQL: 30 - Debug off - GZIP Activado