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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  una sencilla y tonta pregunta del ByVal
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: una sencilla y tonta pregunta del ByVal  (Leído 2,004 veces)
ricardovinzo

Desconectado Desconectado

Mensajes: 135


P.T.C


Ver Perfil
una sencilla y tonta pregunta del ByVal
« en: 29 Junio 2008, 04:34 am »

tengo esta duda e estado leyendo sobre ByVal ByRef, pero no entiendo osea no entiendo no creo que is pero no me queda claro lo que realmente hace el ByVal?
hace por ejemplo que cuando le pase un daot a un argumento y el argumento tenga el ByVal los datos no puedan ser cambiados y alguien me daria un corto ejemplo?

si no es molestia! :P

Gracias


En línea

3# Convocacion de Moderadores en Code Makers, entra!
seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: una sencilla y tonta pregunta del ByVal
« Respuesta #1 en: 29 Junio 2008, 04:43 am »

google no muerde:

http://www.google.com.ar/search?q=byval&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:es-ES:official&client=firefox-a

saludos.


En línea

cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: una sencilla y tonta pregunta del ByVal
« Respuesta #2 en: 29 Junio 2008, 05:06 am »

Pero si tu mismo lo dices, utilizas ByVal para pasar un obeto como valor y ByRef para pasarlo como referencia

mira este ejemplo:

Código
  1. Private Sub Form_Load()
  2.    I = 3
  3.    MsgBox "Valor Inicial de I --> " & I
  4.  
  5.    MsgBox MsnByRef(I) 'Pasandolo como referencia
  6.    'MsgBox MsnByVal(I) 'Pasandolo como valor
  7.  
  8.    MsgBox "Valor final de I --> " & I
  9. End Sub
  10.  
  11. Private Function MsnByRef(ByRef A As Byte) As Byte
  12.    A = A + 3
  13.    MsnByRef = A
  14. End Function
  15.  
  16. Private Function MsnByVal(ByVal A As Byte) As Byte
  17.    A = A + 3
  18.    MsnByVal = A
  19. End Function

Cuando lo pasas como referenca afectas a ese objeto desde la rutina, eso quiere decir, que si I valia 3, será afectada, aumentando su valor. Con ByVal eso NO sucede.

Serás tu de acuerdo a lo que quieras hacer, quien decida cual usar, pero es buena costumbre especificar como se le pasa el parametro a la rutina.






En línea

SKL (orignal)

Desconectado Desconectado

Mensajes: 259


UpLoadSourceCode


Ver Perfil WWW
Re: una sencilla y tonta pregunta del ByVal
« Respuesta #3 en: 29 Junio 2008, 05:20 am »

Pero si tu mismo lo dices, utilizas ByVal para pasar un obeto como valor y ByRef para pasarlo como referencia

mira este ejemplo:

Código
  1. Private Sub Form_Load()
  2.    I = 3
  3.    MsgBox "Valor Inicial de I --> " & I
  4.  
  5.    MsgBox MsnByRef(I) 'Pasandolo como referencia
  6.    'MsgBox MsnByVal(I) 'Pasandolo como valor
  7.  
  8.    MsgBox "Valor final de I --> " & I
  9. End Sub
  10.  
  11. Private Function MsnByRef(ByRef A As Byte) As Byte
  12.    A = A + 3
  13.    MsnByRef = A
  14. End Function
  15.  
  16. Private Function MsnByVal(ByVal A As Byte) As Byte
  17.    A = A + 3
  18.    MsnByVal = A
  19. End Function

Cuando lo pasas como referenca afectas a ese objeto desde la rutina, eso quiere decir, que si I valia 3, será afectada, aumentando su valor. Con ByVal eso NO sucede.

Serás tu de acuerdo a lo que quieras hacer, quien decida cual usar, pero es buena costumbre especificar como se le pasa el parametro a la rutina.

por favor declara las variables!
En línea

cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: una sencilla y tonta pregunta del ByVal
« Respuesta #4 en: 29 Junio 2008, 15:44 pm »

Para un ejemplo como este no hace falta, eso se sobre entiende, yo acostumbro a usar el "Option Explicit" así que te imaginaras que siempre declaro...
En línea

juancho77


Desconectado Desconectado

Mensajes: 455


rie con demencia


Ver Perfil
Re: una sencilla y tonta pregunta del ByVal
« Respuesta #5 en: 30 Junio 2008, 06:10 am »

Usen delphi/pascal y puaaaa leesto!!!!¡¡¡
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ByVal y ByRef
Programación Visual Basic
NaK-32 5 4,133 Último mensaje 27 Febrero 2011, 00:56 am
por NaK-32
[DUDA] paso por valor o por referencia (byval/ byref)
Programación Visual Basic
AlxSpy 8 4,442 Último mensaje 12 Julio 2011, 15:45 pm
por AlxSpy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines