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

Post Reply
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

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

Post 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.
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

AEVAL(<aArray>, <bBlock>,
[<nStart>], [<nCount>]) --> aArray

nCount te permite indicar cuantos elementos procesar a partir de nStart
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Patricio Avalos Aguirre
Posts: 1028
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile
Contact:

Post by Patricio Avalos Aguirre »

goosfancito

Code: Select all

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

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Post 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?
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
User avatar
Patricio Avalos Aguirre
Posts: 1028
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile
Contact:

Post 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
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Post 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
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
Post Reply