Visual Basic - muy facil, paso x referencia

Life is soft - evento anual de software empresarial
 
Vista:

muy facil, paso x referencia

Publicado por Arturo (6 intervenciones) el 12/12/2002 12:23:33
Hola:

Utilizo esta funcion para modificar el valor de la cadena:
Private Sub rellenar(ByRef cadena As String)
Dim longitud As Long
longitud = Len(cadena)
cadena="a"

End Sub
y no me aparece cambiado fuera de la función,xq?
Gracias
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:muy facil, paso x referencia

Publicado por Javier (55 intervenciones) el 12/12/2002 18:27:18
Hola Arturo:

Lo probé porque me parecía que lo tenía que cambiar, y efectivamente te lo cambia por "a".

Abre un proyecto nuevo, coloca un botón de comando y pega el código:

Private Sub rellenar(ByRef cadena As String)
Dim longitud As Long
longitud = Len(cadena)
cadena = "a"
End Sub

Private Sub Command1_Click()
Dim a As String

a = "sfdaf"
rellenar a
MsgBox a
End Sub

Te da "a".

Ahora supongo que tu función debe querer hacer otra cosa, la longitud no la usas, estimo que este era un ejemplo que supuestamente daba el error de no cambiar el parámetro cadena, pero a mi no me sucedió así.

Saludos,
Javier

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

RE:muy facil, paso x referencia

Publicado por maCo (123 intervenciones) el 12/12/2002 22:01:06
Ese procedimiento que escribiste funciona bien.
pero Visual Basic usa el paso de variables por referencia automaticamente, osea estos dos procedimientos son iguales:

Private Sub Rellenar(ByRef Cadena As String)
Private Sub Rellenar(Cadena As String)

no necesitas poner ByRef, sobre lo tuyo, no hay error.
quizas tratas de decir otra cosa.
Lima - Peru
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