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

 

 


Tema destacado: Tutorial básico de Quickjs


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


Desconectado Desconectado

Mensajes: 492


Dim Ranslsad as String * :P - Que Vicio!


Ver Perfil WWW
Funcion Friend? Como Funciona?
« en: 8 Diciembre 2007, 16:49 pm »

Hola amigos, mirando un codigo vi como un estilo de funcion que ponia "Friend Function blabla()
Bueno, probando cosas con esta funcion, vi que en su propio proyecto esa funcion se repetia como un timer interval 1...
Pero cuando yo pongo esa misma funcion en otro proyecto no se repite :S
Hay que llamarla y solo se repite una vez..
Me gustaria saber porque es eso y com funciona esa funcion..
Desde ya, Gracias!

Salu2

Ranslsad


En línea

FaiF (A¥åHøRå)


Desconectado Desconectado

Mensajes: 343



Ver Perfil WWW
Re: Funcion Friend? Como Funciona?
« Respuesta #1 en: 8 Diciembre 2007, 16:52 pm »

FUENTE: http://www.elguille.info/vb/vb6/tiposDefinidos.htm
Citar
Un procedimiento declarado como Friend es "casi" público, pero sólo dentro del propio proyecto, ya que si realmente fuesen públicos podrían ser accesible desde otro proyecto, cosa que no ocurre con los procedimientos "amigos"...

Osea que se usan de igual forma que los ejemplos mostrados para usar en un módulo BAS, salvo que en lugar de declararse como Public se declaran como Friend, además en un módulo de clase NO se puede declarar un Tipo Definido de forma pública, siempre tienen que ser Privados.

Por tanto las funciones quedarían así:

Friend Function Edad2(elColega As tColega) As Long
    'Devuelve la edad del colega que se ha pasado como parámetro
    'y actualiza la fecha de modificación.

    Dim tEdad As Long

    tEdad = Year(Now) - elColega.AñoNac
    elColega.Modificado = Now

    Edad2 = tEdad
End Function


Friend Function NuevoColega2( _
        ByVal sNombre As String, ByVal lngAñoNac As Long, _
        ByVal sEmail As String, ByVal sUrl As String) As tColega
    'Devuelve un elemento del tipo tColega,
    'que es el declarado en el módulo BAS.
    'Se usan los datos pasados como parámetro

    'Usamos una variable temporal para asignar los datos
    Dim tmpColega As tColega

    With tmpColega
        .Nombre = sNombre
        .AñoNac = lngAñoNac
        .email = sEmail
        .Url = sUrl
        .Modificado = Now
    End With

    'Devolver el dato
    NuevoColega2 = tmpColega
End Function

Para usarlo desde un formulario habría que hacerlo así:

'
'Declaración de la clase de prueba
Private m_colega As ctestUDT


'En el Form_Load:

    'Creamos el objeto...
    Set m_colega = New ctestUDT


    'Crear un par de colegas para tenerlos en el listBox

    'Es conveniente que antes de hacer el Redim Preserve
    'el array esté ya dimensionado...
    'ya que he leido en algún sitio que puede dar ERROR
    numColegas = numColegas + 1
    ReDim Preserve variosColegas(0 To numColegas)
    'Usando el método de la clase:
    variosColegas(numColegas) = _
                        m_colega.NuevoColega2( _
                        "Guille", 1957, "mensaje@elguille.info", _
                        "http://www.elguille.info/")


            'Usamos el método de la clase
            Label1(5) = " Edad:" & m_colega.Edad2(variosColegas(queColega)) & " tacos"


'Mostrar el colega número "i"

        With variosColegas(i)
            List1.AddItem .Nombre & vbTab & .AñoNac & vbTab & _
                          .email & vbTab & _
                          Left$(.Url & Space$(64), 64) & vbTab & _
                          Format$(.Modificado, "dd/mmm/yyyy hh:mm:ss")
        End With


En línea

SKL (orignal)

Desconectado Desconectado

Mensajes: 259


UpLoadSourceCode


Ver Perfil WWW
Re: Funcion Friend? Como Funciona?
« Respuesta #2 en: 10 Diciembre 2007, 09:28 am »

son funciones que solo funcionan dentro de un modulo o una clase
En línea

ranslsad


Desconectado Desconectado

Mensajes: 492


Dim Ranslsad as String * :P - Que Vicio!


Ver Perfil WWW
Re: Funcion Friend? Como Funciona?
« Respuesta #3 en: 10 Diciembre 2007, 15:46 pm »

ok grax por la info ;)

PD: ya estan los iconhos navideños :o :D :rolleyes:

Salu2 :P

Ranslsad ;)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problemas con Google Friend Connect
Desarrollo Web
¡Micronet! 0 1,828 Último mensaje 6 Diciembre 2011, 19:10 pm
por ¡Micronet!
Función javascript que no funciona como debe...
Desarrollo Web
|Miguel| 1 2,370 Último mensaje 20 Enero 2012, 19:11 pm
por |Miguel|
funcion on() de jquery no me funciona
Desarrollo Web
NataliaV 9 4,871 Último mensaje 17 Junio 2012, 16:25 pm
por NataliaV
Duda con metodos friend con clases en distintos ficheros header (SOLUCIONADO)
Programación C/C++
SARGE553413 1 1,998 Último mensaje 24 Febrero 2013, 19:11 pm
por SARGE553413
Funcion de modificar archivos no funciona
Programación C/C++
lifegame 2 2,050 Último mensaje 24 Mayo 2017, 15:30 pm
por lifegame
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines