Todoexpertos.com
http://www.todoexpertos.com
La respuesta está en Internet
Información de la pregunta
Título: array suma de elementos
Experto: jahs1982
Valoración: 4
Fecha: 09/05/2008


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 numericos he dimencinado otro array "laB" asi: 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 mensage de que no permite nested procudure dentro de methods. He trasladado la funcion ArraySum hacia un .prg , pero alli me manda un mensage de error de que no encuentra la variable "Total" Pregunta: Esta bien mi sintaxis? o que estoy haciendo mal? Gracias Victor

array suma de elementos
entendi ... pero no bien..... si tu problema es que  no reconose la variable total esporque no la estas declarando como un parametro.... intenta esto: FUNCTION arraysum        LPARAMETERS Total ........ ENDFUNC  y tambien toma encuenta que estas pasando la variable  por referencia; si no te sige funcionando intenta pasarla por valor( no utilizando @)

Pregunta finalizada. Valoración: 4
Te comento, el function esta dentro del metodo donde tengo a mi select y donde dimencion mi array pero VFP no me permite colocar la esa function dentro del metodo, lo que hice fue quitar la parte de la funcion y quedarme con el For....EndFor y asi si me trabajo. Estoy probando con la sugerencia que me mandaste, para lo cual estoy leyendo sobre ese tema para mandar valor ya sea por referncia o por valor para entenderlo mejor. Gracias y te comentare de mis avances Victor


Volver al mensaje
http://www.todoexpertos.com/categorias/tecnologia-e-internet/programacion/visual-fox-pro/respuestas/1840719/array-suma-de-elementos