Array suma de elementos
He creado un method con el siguiente procedimiento:
Tengo un select proveniente de varias tablas y el resultado lo guardo dentro de un array "laA".
En un ListBox con la configuracion siguiente rowsourcetype = 5-array y rowsource = this.Item , hago un DIMENSION thisform.ListBox.Item[alen(laA,1),n] , y ya tengo poblado mi ListBox, en una columna tengo valores numericos que los quiero sumar para desplegar esta suma en un TextBox.
Para sumar la columna con los valores numéricos he dimencinado otro array "laB" así: DIMENSION laB[alen(laA),n], y luego realizo un FOR i = 1 to alen(laA, 1)... Next.
Guardo mi valor en el TextBox asi: thisform.TextBox.Value = ArraySum(@laB)
Hago mi Function asi:
FUNCTION ArraySum(Total)
LOCAL i, lnRetVal
lnRetVal = 0
FOR i = 1 to alen(Total)
IF TYPE("Total[i,n]") = "N" && [i,n] representa la columna con los valores
lnRetVal = lnRetVal +Total[i,n]
ENDIF
ENDFOR
RETURN lnRetVal
endfunc
Problema1: VFP me manda un mensaje de que no permite nested procudure dentro de methods.
He trasladado la función ArraySum hacia un .prg, pero allí me manda un mensaje de error de que no encuentra la variable "Total"
Pregunta: ¿Esta bien mi sintaxis? ¿O qué estoy haciendo mal?
Gracias
Víctor
Tengo un select proveniente de varias tablas y el resultado lo guardo dentro de un array "laA".
En un ListBox con la configuracion siguiente rowsourcetype = 5-array y rowsource = this.Item , hago un DIMENSION thisform.ListBox.Item[alen(laA,1),n] , y ya tengo poblado mi ListBox, en una columna tengo valores numericos que los quiero sumar para desplegar esta suma en un TextBox.
Para sumar la columna con los valores numéricos he dimencinado otro array "laB" así: DIMENSION laB[alen(laA),n], y luego realizo un FOR i = 1 to alen(laA, 1)... Next.
Guardo mi valor en el TextBox asi: thisform.TextBox.Value = ArraySum(@laB)
Hago mi Function asi:
FUNCTION ArraySum(Total)
LOCAL i, lnRetVal
lnRetVal = 0
FOR i = 1 to alen(Total)
IF TYPE("Total[i,n]") = "N" && [i,n] representa la columna con los valores
lnRetVal = lnRetVal +Total[i,n]
ENDIF
ENDFOR
RETURN lnRetVal
endfunc
Problema1: VFP me manda un mensaje de que no permite nested procudure dentro de methods.
He trasladado la función ArraySum hacia un .prg, pero allí me manda un mensaje de error de que no encuentra la variable "Total"
Pregunta: ¿Esta bien mi sintaxis? ¿O qué estoy haciendo mal?
Gracias
Víctor
1 respuesta
Respuesta de jahs1982
1