Hola amigos, ando medio verde en VB y no me acuerdo bien como se declaraban las variables con propiedades o algo asi, nose si me explico bien.
Lo que necesito es tener un objeto con variables string... Ejemplo
Ema.nombre = "hola"
Ema.apelido = "hola2"
msgbox "Ema.nombre" & ema.apellido
Tambien darle indexs.. se puede?
Ej:
ema(index).nombre = "hola"
Nose si me explico bien, pero estoy medio perdido.
Desde ya, Gracias.
Salu2
Ranslsad
Esos se llaman estructuras, empieza por un Private Type y debajo van las variables y acaba en un End Type
se hace asi:
Option Explicit
Private Type Persona
nombre As String
apellido As String
Email As String
Edad As Byte
End Type
Private Sub Form_Load()
Dim Alguien As Persona
Alguien.nombre = "Lolo"
Alguien.apellido = "Peralta"
Alguien.Email = "Lolo@gamail.com"
Alguien.Edad = 25
MsgBox "Nombre: " & Alguien.nombre & vbCrLf & "Apellido: " & Alguien.apellido _
& vbCrLf & "Email: " & Alguien.Email & vbCrLf & "Edad: " & Alguien.Edad
End Sub
Ejecuta ese codigo.
Una Pregunta que se me ocurrió ahora como se aplican los Type a las funciones
Biero que cuando Por Ejemplo Vamos a poner MsgBox en el Style nos sale una lista con las posibles opciones vbExclamation, vbInformation, Etc... Como se puede hacer eso
Ejemplo
Private Sub Form_Load()
Call MiFuncion(OPCION_1) '<---- Ahi nos apareceria la lista con las 2 opciones
End Sub
Public Function MiFuncion (???)
if ??? = OPCION_1 Then
msgbox "1"
end if
if ??? = OPCION_2 Then
msgbox "2"
end if
End Function
Muchisimas gracias! me salvastes :P
___
Agus0 vos lo que preguntas es esto(creo).
Public Function mifuncion(variable1 As String, variable2 As Integer)
MsgBox variable1 & vbNewLine & variable2
End Function
Private Sub Form_Load()
Call mifuncion("Nombre", "15")
End Sub
Espero que te sirva.
Salu2
Ranslsad
O tambien las podes crear con un modulo de clase
Lo que agusO dice no se hace con type sino con Enum (Enumeracion)
copia este codigo en un Form y lo ejecutas:
Option Explicit
'Primero escribes tu Enumeracion (Enum)
'Luego defines los valores de sus miembros
Private Enum TipoMensaje 'Aqui pones el nombre que quieras, igual modo para cada miembro
Error = 16 'opcion 1 ----> vbCritical
Exclamacion = 48 'opcion 2 ---->vbExclamation
Informacion = 64 'opcion 3 ---->vbInformation
End Enum 'Fin del enum
Private Enum TipoResultado
Si = 6
No = 7
End Enum
Private Sub Form_Load()
'Luego declaras tus variables asi:
'dim Variables as MiEnum , en este caso Dim Resultado as TipoRespuesta
Dim Resultado As TipoResultado
'cuando quieras asignar un valor a la variable te saldra la lista
'Aqui en esta llamada a Mensaje cuando escribas el 2do parametro te desplegarà
'la lista de miembros del Enum (Error - Exclamacion - Informacion)
Mensaje "Ejemplo de Enum", Informacion, "Ejemplo VB 6"
Resultado = MensajeSiNo("¿Eres listo?", "Ejemplo")
If Resultado = Si Then
MsgBox "Ejegiste Si"
ElseIf Resultado = No Then
MsgBox "Ejegiste No"
End If
End Sub
Private Function Mensaje(Texto As String, Estilo As TipoMensaje, Titulo As String)
MsgBox Texto, Estilo, Titulo
End Function
'Aqui pones tu Funcion (...) as TuEnum para que tambien te despliegue la lista de miembros
Private Function MensajeSiNo(Texto As String, Titulo As String) As TipoResultado
MensajeSiNo = MsgBox(Texto, vbYesNo, Titulo)
End Function
Las enumeraciones son automaticas...
option explicit
Enum EOpciones
[ Enumeración uno ] = 0
[ Enumeración Dos ]
[ Enumeración Tres ]
[ Enumeración Cuatro ]
end Enum
private sub Form_Load()
msgbox ProcesoN (EOpciones.[ Enumeración Cuatro ])
end sub
Friend/Public/private/property (Get/Let/Set) funtion/Sub ProcesoN (byval opcion as EOpciones) as long
' // ... N Procesos..
ProcesoN= 0& + opcion
end Friend/Public/private/property
Las estructuras en ocasiones es nesesitan que hagan mas por ello se usa "Property (Get/Let/Set)" en una clase o en el form X, y si la estructura se usa dentro de la misma se usa el indicador "Friend"
Dulces Lunas!¡.
No. Lo que Yo digo no es eso. Si encuentro algún Code de ejemplo mañana lo comparto.