elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Funciones
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Funciones  (Leído 1,346 veces)
TheGhost(Z)

Desconectado Desconectado

Mensajes: 230



Ver Perfil
Funciones
« en: 8 Julio 2010, 15:27 pm »

Hola Queria saber como puedo hacer que una funcion devuelva un variable de Type

Código:
Enum eDatos
  IDdocumento
  Nombre
  Apellidos
End Enum

Type Tdatos
  IDdocumento As Long
  Nombre As String
  Apellidos As String
End Type

Function Cliente (eDatos) As Tdatos
    Select Case eDatos
    Case IDdocumento
        Cliente = 1
    Case Nombre
        Cliente = "Pedro"
    Case Apellidos
        Cliente = "Sánchez"
    End Select
End Function


Lo que deseo con la funcion es que pasando algun opcion del eDatos me devuelva la informacion con su respectiva variable Type. Osea si elijo IDdocumento me devuela un long y si selecciono Nombre o Apellidos me devuelva un String.

Como de vincularle a que devulvea un Long o un String??


En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Funciones
« Respuesta #1 en: 8 Julio 2010, 20:11 pm »

Código
  1.  
  2. Option Explicit
  3.  
  4. Private Type TDatos
  5.  IDdocumento As Long
  6.  Nombre As String
  7.  Apellidos As String
  8. End Type
  9. private/public/global DatosCliente As TDatos ' //  Public y Global en un modulo .Bas los demas en general
  10.  
  11. Private Sub Form_Load()
  12.    With DatosCliente
  13.        .IDdocumento = 12
  14.        .Apellidos = "Ortega A."
  15.        .Nombre = "Miguel Angel"
  16.    End With
  17.  
  18.    With DatosCliente
  19.        Call Interaction.MsgBox(.IDdocumento)
  20.        Call Interaction.MsgBox(.Apellidos)
  21.        Call Interaction.MsgBox(.Nombre)
  22.    End With
  23. End Sub
  24.  
  25.  

otra forma!¡.

Código
  1.  
  2. Option Explicit
  3.  
  4. Private Type TDatos
  5.  IDdocumento   As Long
  6.  Nombre        As String
  7.  Apellidos     As String
  8. End Type
  9. Private Priv_DatosCliente As TDatos ' //  Public y Global es un modulo .Bas los demas en general
  10. '   //  Friend permite tener acceso a Typos de una clase o datos que no esten estandarisados!¡.
  11. Friend Property Let Datoscliente(ByRef Datos As TDatos)
  12.    Priv_DatosCliente = Datos
  13.    Debug.Print "Guardando Datos"
  14. End Property
  15. Friend Property Get Datoscliente() As TDatos
  16.    Datoscliente = Priv_DatosCliente
  17.    Debug.Print "Leyendo Datos"
  18. End Property
  19.  
  20. Private Sub Form_Load()
  21. Dim LocalData As TDatos
  22.    With LocalData
  23.        .IDdocumento = 12
  24.        .Apellidos = "Ortega A."
  25.        .Nombre = "Miguel Angel"
  26.    End With
  27.    Datoscliente = LocalData
  28.    With Datoscliente
  29.        Call Interaction.MsgBox(.IDdocumento)
  30.        Call Interaction.MsgBox(.Apellidos)
  31.        Call Interaction.MsgBox(.Nombre)
  32.    End With
  33. End Sub
  34.  
  35.  

Sangriento Infierno lunar!¡.


« Última modificación: 8 Julio 2010, 20:16 pm por "."]BlackZeroX▓▓▒▒░░[/quote] » En línea

The Dark Shadow is my passion.
TheGhost(Z)

Desconectado Desconectado

Mensajes: 230



Ver Perfil
Re: Funciones
« Respuesta #2 en: 9 Julio 2010, 13:36 pm »

Lo que deseo es que la información a devolver se genere en la Función no localmente..y me sale declarando la la Funcion a de volver como VARIANT. se dice que ocupa mucho más recursos pero es lo que hay, no?

Ejemplo:

Código:
Enum eDatos
  IDdocumento
  Nombre
  Apellidos
End Enum

Código:
Function Cliente (eDatos) As Variant
    Select Case eDatos
    Case IDdocumento
        Cliente = 1
    Case Nombre
        Cliente = "Pedro"
    Case Apellidos
        Cliente = "Sánchez"
    End Select
End Function

Código:
Msgbox Cliente(IDdocumento) ' = 1 = Long
Msgbox Cliente(Nombres) ' = Pedro = String
Msgbox Cliente(Apellidos) ' = Sánchez = Strig


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines