Page 1 of 1

aEval{ || } tiene algun comando para terminar la evaluacion?

Posted: Thu May 10, 2007 9:27 pm
by goosfancito
Estimados.

Asi como existe el "exit" para el for, existe algun "quiebre" o "corte" de control para el aEval?

Code: Select all

aEval{ | o, nItem | if ( o == 5, "corte de control para terminal la ejecucion del aEval", nItem++ ) }
eso necesito, poder salir del aEval cuando o sea 5

Alguna idea?

Gracias.

Posted: Thu May 10, 2007 9:33 pm
by Antonio Linares
AEVAL(<aArray>, <bBlock>,
[<nStart>], [<nCount>]) --> aArray

nCount te permite indicar cuantos elementos procesar a partir de nStart

Posted: Thu May 10, 2007 9:33 pm
by Patricio Avalos Aguirre
goosfancito

Code: Select all

Aeval( Array, { |x,y| instrucciones }, 1, 5 )

Posted: Thu May 10, 2007 9:41 pm
by goosfancito
Patricio Avalos Aguirre wrote:goosfancito

Code: Select all

Aeval( Array, { |x,y| instrucciones }, 1, 5 )
Agradezco a ambos.

Pero lo que necesito hacer especificamente es esto:

tengo 15 get en el cual necesito saber ( luego de haber leido datos desde una dbu ) cual es el primer get que quedó sin datos y hacer que el cursor quede en ese get, entonces pensé utilizar el aEval para recorrer esos get, ya que estan en un array.

Code: Select all

local oDatos:= array( 15 )
       vDatos:= array( 15 )

local nParar:= 0


   define get oDatos[1] id 100 var vDatos[1] ..
   ...


   nParar:= aEval( vDatos, { | o, nItem | nItem:= 0, if( empty( o ), "aca salir, ya tengo en cual tiene que posicionarse el cursor", nItem++ ) } )


...
Me explico?

Posted: Thu May 10, 2007 10:57 pm
by Patricio Avalos Aguirre
Puedes utilizar la funcion ASCAN

Code: Select all

		 nParar := Ascan( vDatos, { |o| empty( o ) } )

		 if nParar <> 0
			MsgInfo( "el elemento "+str(nparar) +  "esta vacio" )
		 ndif

Posted: Thu May 10, 2007 11:51 pm
by goosfancito
Patricio Avalos Aguirre wrote:Puedes utilizar la funcion ASCAN

Code: Select all

		 nParar := Ascan( vDatos, { |o| empty( o ) } )

		 if nParar <> 0
			MsgInfo( "el elemento "+str(nparar) +  "esta vacio" )
		 ndif
gracias