Visual Basic - ¿Es posible?

Life is soft - evento anual de software empresarial
 
Vista:

¿Es posible?

Publicado por Silvia (38 intervenciones) el 29/12/2005 11:19:37
Hola buenos dias, le estoy dando vueltas a la cabeza y no se si es posible lo siguiente:

Por ejemplo yo creo un nuevo objeto
Dim A As New SMSSend
hasta ahi correcto y si quisiera crear dos objetos o tres haría lo siguiente:
Dim A As New SMSSend
Dim B As New SMSSend
Dim C As New SMSSend

Pero supongamos que tengo que crear cien objetos entonces hacer esto sería muy tedioso, yo lo he intentado de la siguiente manera
for x=1 to 100
dim "A" & x as new SMSSEND
next x
pensando que de esta forma me crearia el objeto A1, A2.......A100, pero va a ser que no porque me da error.
¿Es posible hacer algo parecido a lo que os explico ?
Gracias por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¿Es posible?

Publicado por SetFocus (183 intervenciones) el 29/12/2005 16:05:56
Hola Silvia! Lo que se te ocurrio es bastante ingenioso, pero como ya te diste cuenta, no funciona de ese modo. Seria bueno que funcionara, las cosas serian mas faciles... =)
Bueno, para hacer lo que decis, lo que podes usar son colecciones... la verdad no tengo mucho experiencia en eso(para no decir ninguna...jajaja) pero revisando la ayuda de Visual basic vas a encontrar mucha informacion sobre el tema y hay varios ejemplos que te pueden ayudar.
La idea general es que definis un objeto de tipo Collection y mediante este objeto manejas las instancias de la clase que queres crear varias veces.
No se si soy claro, pero esa parece ser la mejor solucion. Para que te des una idea te copio un ejemplo de la ayuda de Visual Basic:

Ejemplo del método Add
En este ejemplo se utiliza el método Add para agregar objetos Inst (instancias de una clase llamada Clase1 que contienen una variable de tipo Public llamada NomInstancia) a una colección denominada MisClases. Para ver el funcionamiento, elija el comando módulo de clase del menú Insertar y declare una variable pública llamada NomInstancia a nivel del módulo de Clase1 (escriba Public NomInstancia) Esta variable contendrá el nombre de cada instancia. Deje el nombre predeterminado Clase1. Copie y pegue el código siguiente en el procedimiento de evento Form_Load.

Dim MyClasses As New Collection ' Crea un objeto Collection.
Dim Num As Integer ' Contador de claves individuales.
Dim Msg
Dim TheName ' Marcador de posición de los nombres que ' introduce el usuario
Do
Dim Inst As New Class1 ' Crea nueva instancia de Clase1.
Num = Num + 1 ' Incrementa Num, y obtiene nombre.
Msg = " Escriba un nombre para el objeto." & Chr(13) _
& " Presione Cancelar para ver los nombres de la colección."
TheName = InputBox(Msg, "Dé nombre a los elementos de la colección ")
Inst.InstanceName = TheName ' Pone el nombre en la instancia.
' Si el usuario escribe un nombre, lo agrega a la ' colección.
If Inst.InstanceName <> "" Then
' Agrega el objeto con nombre a la colección.
MyClasses.Add item := Inst, key := CStr(Num)
End If
' Borra la referencia actual para preparar la siguiente.
Set Inst = Nothing
Loop Until TheName = ""
For Each x In MyClasses
MsgBox x.instancename, , "Nombre de la instancia "
Next

Bueno espero que te sirva.Saludos

PD: Buen comienzo de año =)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar