Page 1 of 1

Macros en campo de DBF

PostPosted: Sun Mar 05, 2006 10:06 pm
by Jorge Jaurena
Hola

Como puedo reemplazar en FWH esto que me funcionaba tan bien en Clipper:

Var:=Venta*Porcenta&S

Donde Venta es un campo y Porcenta pueden ser los campos Porcenta1, Porcenta2, etc.

Desde ya, muchas gracias

Saludos
Jorge Jaurena

PostPosted: Sun Mar 05, 2006 11:32 pm
by R.F.
Muy facil, con un bloque de codigo:

Var := "{|| Ventas * Porcenta"+S+"}"

Y luego para obtener el resultado, evaluas la macro del bloque

nResutlado := EVAL(&var)

PostPosted: Mon Mar 06, 2006 1:55 pm
by Jorge Jaurena
RF wrote:Muy facil, con un bloque de codigo:

Var := "{|| Ventas * Porcenta"+S+"}"

Y luego para obtener el resultado, evaluas la macro del bloque

nResutlado := EVAL(&var)


Rene, tu respuesta me resulto efectiva, pero que pasa si quiero hacer esto:

Private S

FOR Q=1 TO 10
S:=ALLTRIM(STR(Q))
oDbfOrd:Blank()
oDbfOrd:Producto:=oDbfRem:PRODU&S
oDbfOrd:Append()
oDbfOrd:Save()
oDbfOrd:Unlock()
NEXT


Muchas gracias
Jorge Jaurena

PostPosted: Mon Mar 06, 2006 5:26 pm
by R.F.
Igual.... los bloques de codigo son poderosos!!!!!

Code: Select all  Expand view

FOR Q=1 TO 10
   S:=ALLTRIM(STR(Q))
   oDbfOrd:Blank()
   cBlock := "{|| oDbfRem:Produ"+S+"}"
   oDbfOrd:Producto:= EVAL(&cBlock)
   oDbfOrd:Append()
   oDbfOrd:Save()
   oDbfOrd:Unlock()
NEXT

PostPosted: Mon Mar 06, 2006 6:51 pm
by Jorge Jaurena
RF wrote:Igual.... los bloques de codigo son poderosos!!!!!

Code: Select all  Expand view

FOR Q=1 TO 10
   S:=ALLTRIM(STR(Q))
   oDbfOrd:Blank()
   cBlock := "{|| oDbfRem:Produ"+S+"}"
   oDbfOrd:Producto:= EVAL(&cBlock)
   oDbfOrd:Append()
   oDbfOrd:Save()
   oDbfOrd:Unlock()
NEXT


Pero claro, como no lo vi, el EVAL te devuelve todo tipo de dato.

Muchas gracias