Foros del Web » Programación para mayores de 30 ;) » Programación General »

DEclarar aRReglo

Estas en el tema de DEclarar aRReglo en el foro de Programación General en Foros del Web. Hola a Todos : Como puedo declarar un arreglo en visual, y ademas pasarlo como parametro en una funcion. Espero me puedan ayudar "La historia ...
  #1 (permalink)  
Antiguo 13/08/2002, 11:40
 
Fecha de Ingreso: junio-2002
Mensajes: 13
Antigüedad: 21 años, 10 meses
Puntos: 0
DEclarar aRReglo

Hola a Todos :

Como puedo declarar un arreglo en visual, y ademas pasarlo como parametro en una funcion.



Espero me puedan ayudar

"La historia no se lee, se escribe"
  #2 (permalink)  
Antiguo 13/08/2002, 21:12
 
Fecha de Ingreso: agosto-2002
Mensajes: 5
Antigüedad: 21 años, 8 meses
Puntos: 0
Re: DEclarar aRReglo

La declaración de arrays es simple:

Dim nombre_arreglo(num_elementos) as typo

Ejemplo:

Dim arr(10) as integer

Para varias dimensiones:
Ejemplo

Dim x(10,5) as long

Por otro lado, como sabrás al pasar valores a una función se puede hacer de dos formas (Referencia y por Valor), veamos como se hace...

En la sub o la function que deseas escribir puedes recibir el array en una variable de tipo variant.... cheka esto:

Option Explicit
Private Sub Form_Load()
Dim c(10) As Integer
c(4) = 4
ImprimeArray c
MsgBox c(4)
End Sub

Private Sub ImprimeArray(a As Variant)
a(4) = 40
MsgBox a(4)
End Sub

Cuando lo ejecutes te daras cuenta que el valor se pasó por referencia... y no lo deseas entonces debes modificar la siguiente línea: Private Sub ImprimeArray(a As Variant)
por la siguiente:
Private Sub ImprimeArray(ByVal As Variant)

Fácil no?...

Funcionó... ???

Saludos.
  #3 (permalink)  
Antiguo 14/08/2002, 02:17
 
Fecha de Ingreso: julio-2002
Ubicación: Albacete
Mensajes: 16
Antigüedad: 21 años, 9 meses
Puntos: 0
Re: DEclarar aRReglo

Hola.

Además de lo que te ha dicho atlantis que es totalmente correcto puedes poner lo siguiente:

Dim nombre_array() as typo

lo que te permite redimensionar el array si es necesario pasandole una variable.

;)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:58.