FoxPro/Visual FoxPro - Pasar arreglo a función

 
Vista:

Pasar arreglo a función

Publicado por Albertina (4 intervenciones) el 30/08/2005 20:54:05
Hola, la verdad no soy muy experta con VFP y he estado con algo tan simple que ni he podido hacer.
Quiero crear una función que reciba como parámetro un arreglo y luego por supuesto leer ese arreglo.
Pero siempre me da error. En el evento click de un botón de comendo lo he hecho de esta forma para probar:
**************************************************
DIMENSION arreglo[2]
STORE "Valor1" TO arreglo[1]
STORE "Valor2" TO arreglo[2]
LOCAL i
FOR i = 1 TO ALEN(arreglo)
MESSAGEBOX(arreglo[i])
ENDFOR
**************************************************
Esto funciona a la perfección. Creo el arreglo, lo lleno y lo leo. Listo.
Ahora con lo que tengo problemas es con lo siguiente:
**************************************************
**METODO QUE RECIBE UN ARREGLO
LPARAMETERS arreglo
LOCAL i
FOR i = 1 TO ALEN(arreglo) **ACA ME DA ERROR. DICE: ARREGLO NO ES UNA MATRIZ
MESSAGEBOX(arreglo[i])
ENDFOR

Y en el evento click del botón creo un arreglo, lo lleno y lo mando a la función para que lo lea.
DIMENSION arreglo[2]
STORE "Valor1" TO arreglo[1]
STORE "Valor2" TO arreglo[2]
THISFORM.mostrar(arreglo)

Sin embargo siempre me da el error que ya les mostré arriba.
Espero me puedan ayudar a crear una función que reciba un arreglo como parámetro. Gracias a todos...
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:Pasar arreglo a función

Publicado por David Amador Tapia (520 intervenciones) el 30/08/2005 21:01:57
Puedes hacerlo así:

dimension myarray[3]
myarray[1]="PRUEBA1"
myarray[2]="PRUEBA2"
myarray[3]="PRUEBA3"

=MostrarArray(@myarray)

FUNCTION MostrarArray
PARAMETERS aArray

FOR i = 1 TO ALEN(aArray)
=MESSAGEBOX(aArray(i))
Next
Endfun

Revisate también los siguientes links...

Determinar si una variables es un array o matriz
http://www.davphantom.net/consultar.asp?id=201&op=1

Manipulación de Arrays
http://www.davphantom.net/descarga.asp?id=512&op=1

Pasar arrays a DLL y objetos COMs
http://www.davphantom.net/descarga.asp?id=913&op=1

Ing. David Amador Tapia
WebMaster "La Web de Davphantom"
www.davphantom.net
Cartagena. Colombia
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:Pasar arreglo a función

Publicado por Albertina (4 intervenciones) el 30/08/2005 22:21:57
Bárbaro muchisimas gracias. Ahora si me funciona.
Sabes? Pero ahora te cuento que me sale un error al momento de generar el proyecto.
Me dice:
**No se puede encontrar desconocido Arreglo.**
Y Arreglo es precisamente el que tengo como parámetro de entrada en mi función. Sin embargo
como te conté al momento de ejecutarlo funciona bien. ¿Por qué será que obtengo ese error al ejecutar?
Saludos y gracias nuevamente...
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:Pasar arreglo a función

Publicado por Albertina (4 intervenciones) el 30/08/2005 22:23:51
Perdón, anteriromente quise decir:
¿Por qué será que obtengo ese error al generar el proyecto?
Como te conté, al ejecutar lo hace bien.
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:Pasar arreglo a función

Publicado por Albertina (4 intervenciones) el 30/08/2005 22:30:04
Bueno es de hacerte saber también que la función la he creado en un archivo .prg, de forma que la pueda acceder desde todos los formularios de la aplicación.
Sin embargo hice la prueba creando la función para un formulario y no me da ese error, pero cuando la coloco en el .prg si. ¿Por qué será?
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