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

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

Postby goosfancito » Thu May 10, 2007 9:27 pm

Estimados.

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

Code: Select all  Expand view  RUN
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.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Postby Antonio Linares » Thu May 10, 2007 9:33 pm

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
Antonio Linares
Site Admin
 
Posts: 42151
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Patricio Avalos Aguirre » Thu May 10, 2007 9:33 pm

goosfancito

Code: Select all  Expand view  RUN
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
Patricio Avalos Aguirre
 
Posts: 1060
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Postby goosfancito » Thu May 10, 2007 9:41 pm

Patricio Avalos Aguirre wrote:goosfancito

Code: Select all  Expand view  RUN
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  Expand view  RUN
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?
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Postby Patricio Avalos Aguirre » Thu May 10, 2007 10:57 pm

Puedes utilizar la funcion ASCAN


Code: Select all  Expand view  RUN
       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
Patricio Avalos Aguirre
 
Posts: 1060
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Postby goosfancito » Thu May 10, 2007 11:51 pm

Patricio Avalos Aguirre wrote:Puedes utilizar la funcion ASCAN


Code: Select all  Expand view  RUN
       nParar := Ascan( vDatos, { |o| empty( o ) } )

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


gracias
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 57 guests