Programación General > Visual Basic para principiantes

 Arreglo Como Parametro en Procedimiento VB 6.0

<< < (2/3) > >>

MArio85:

--- Cita de: "cpmario" ---Si deseas colocar un array en forma global debes de dimensionarlo en un módulo BAS por ejemplo

Además tienes en la línea Sub Modi_array(arreglo1 as type1, arreglo2 as type2) y en el código que sigue no usas ni arreglo1 ni arreglo2.

 :comp:
--- Fin de la cita ---

Los arreglos que tengo como parametros si los uso al final del procedimiento, al poner:
Arreglo1 = Temp1
Arreglo2 = Temp2

Mas bien la pregunta principal es como pasar como parametro de un procedimiento un arreglo global y dentro del procedimiento modificar el mismo.

Por lo que entiendo tendria que usar el prefijo Byref para que modifique el arreglo y no Byval ya que hace una copia del alor del arreglo y no se modifica el original, correcto?

Entonces el codigo seria : Sub Modi_Array(ByRef Arreglo1() As String, ByRef Arreglo2() As String)      ???????????????????????

Saludos

MArio85:

--- Cita de: "cpmario" ---Además tienes en la línea Sub Modi_array(arreglo1 as type1, arreglo2 as type2) y en el código que sigue no usas ni arreglo1 ni arreglo2.

 :comp:
--- Fin de la cita ---

Los arreglos que tengo como parametros si los uso al final del procedimiento, al poner:
Arreglo1 = Temp1
Arreglo2 = Temp2

Mas bien la pregunta principal es como pasar como parametro de un procedimiento un arreglo global y dentro del procedimiento modificar el mismo.

Por lo que entiendo tendria que usar el prefijo Byref para que modifique el arreglo y no Byval ya que hace una copia del alor del arreglo y no se modifica el original, correcto?

Entonces el codigo seria : Sub Modi_Array(ByRef Arreglo1() As String, ByRef Arreglo2() As String)      ???????????????????????

Saludos

m0skit0:
Sí, eso es, si quieres modificar ambos vectores. Ten en cuenta que entonces no necesitarías ni temp1 ni temp2 sino que los cambios directamente en arreglo1 y arreglo2. Saludos

MArio85:
Sip, de hecho en la version pasada de mi programa lo tenia asi, pero lo que pasa es que el arreglo global que se va a modificar cambiará segun una serie de validaciones , pero creo que al tener el arreglo como parametro me voy a ahorrar mucho pero mucho codigo

Gracias!

MArio85:
Hola, pues vuelvo a molestarlos por que estoy teniendo problema al llamar el procedimiento mi codigo es el siguiente:


--- Código: Text ---Private Type Normal  ' Declaro el Tipo de Arreglo Que Necesito Con sus Campos     Patente As String    Pedimento As String    Archivo As String    Firma As String    Fecha As String    Hora As String    Regimen As String    Clave As String    RFC As String    Nombre As StringEnd Type Dim Arreglo Global1(), ArregloGlobal2() as Normal ' Declaro Globalmente los arrays  ' Despues hago el Codigo de mi procedimiento con varios parametros que necesitoPrivate Sub Fact(Pat As String, ByVal ini As Long, ByVal fin As Long, ByRef IndiPat() As Normal, ByRef ConsoPat() As Normal)dim temp1(),temp2() as Normal                                                 "Serie de Validaciones"                         IndiPat = temp1                        ConsoPat = temp2end sub Private Sub Command1_Click() ' En un boton mando llamar el procedimiento           Fact Check2.Caption, fechai, fechaf, ArregloGlobal1(), ArregloGlobal2()end Sub   
No me marca ningun error al escibir el codigo pero al correr el programa y dar click en el boton (para llamar al procedimineto) me aparece el error: "Error de Compilacion: Error de tipo : se esperaba una matriz o un tipo definido por el usuario", el eror me lo marca al querer llamar al procedimiento en el parametro "ArregloGlobal1()".

Que esta mal?, no entiendo que puede estar mal ( aparte por que no se mucho de esto, jeje), pueden ser los prefijos private o algo asi?

Podria parecer algo inutil si voy a modificar arreglos globales declararlos como parametros, pero es dificl y tardado explicar lo que hace el sistema pero si necesito el procedimiento con parametros mas que nada pra ahorrarme mucho codigo.

Gracias!, Saludos!

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa