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