FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour como refresco un dato
Posts: 215
Joined: Fri Feb 02, 2007 03:38 PM

como refresco un dato

Posted: Mon Jun 02, 2008 07:55 PM

Amigos del Foro,

recurriendo a su valiosa ayuda, estoy utilizando la clase tDatabase de FWH y tengo el siguiente codigo :

   REDEFINE GET  oGet[20]  Var       oDbf:MonSoli  ID 122 of oDlg UPDATE PICTURE "9,999,999.99"
   REDEFINE GET  oGet[21]  Var       oDbf:PlaSoli  ID 124 of oDlg UPDATE PICTURE "999"
   REDEFINE GET  oGet[22]  Var       oDbf:IntSoli  ID 126 of oDlg UPDATE PICTURE "999.99%"
   REDEFINE GET  oGet[23]  Var       oDbf:ManSoli  ID 128 of oDlg UPDATE PICTURE "99.99%"  VALID(CALCUOTA(@oDbf:Monsoli,@oDbf:PlaSoli,@oDbf:IntSoli,@oDbf:ManSoli,@oDbf:CuoSoli,@oGet[24]))
   REDEFINE GET  oGet[24]  Var       oDbf:CuoSoli  ID 130 of oDlg UPDATE PICTURE "999,999.99" when .f.

   REDEFINE GET  oGet[25]  Var       oDbf:MonProp  ID 123 of oDlg UPDATE PICTURE "9,999,999.99"
   REDEFINE GET  oGet[26]  Var       oDbf:PlaProp  ID 125 of oDlg UPDATE PICTURE "999"
   REDEFINE GET  oGet[27]  Var       oDbf:IntProp  ID 127 of oDlg UPDATE PICTURE "999.99%"
   REDEFINE GET  oGet[28]  Var       oDbf:ManProp  ID 129 of oDlg UPDATE PICTURE "99.99%"  VALID(CALCUOTA(@oDbf:Monprop,@oDbf:Plaprop,@oDbf:Intprop,@oDbf:Manprop,@oDbf:CuoProp,@oGet[29]))
   REDEFINE GET  oGet[29]  Var       oDbf:CuoProp  ID 131 of oDlg UPDATE PICTURE "999,999.99" when .f.

el problema es que no hallo la forma de que el oGet[24] y el oGet[29] se refresquen despues de pasar por la funcion calcuota, paso como referencia los get porque los dos ejecutan la misma funcion, como debo hacer para que el resultado de la funcion calcuota sea capturado por el get y por lo consiguiente presentado por pantalla.

Espero haberme explicado

De antemano gracias a Todos

//===========================================================
FUNCTION CALCUOTA(fMonto,fPlazo,fPorInte,fMante,fv_cuota,foGet)
//===========================================================

local xporint,xcanpago,xcandias,X1,X2,xPORMANT

xporint = fporinte/12/100
xcanpago = fplazo
xcandias = 30
XPORMANT = fMante/12/100

X1 = (1+xporint)^(xcanpago*-1)
X2 = 1-X1

FV_CUOTA := ROUND(fmonto*(xporint/X2),2)

STORE 0 TO Y1,Y2
IF XPORMANT > 0
MT_CUOTA := FV_CUOTAXCANPAGO
Y1 = (1+XPORMANT)^(XCANPAGO
-1)
Y2 = 1-Y1
FV_CUOTA := ROUND(MT_CUOTA*(XPORMANT/Y2),2)
ENDIF

foGet:Refresh()

msgalert(str(fv_cuota))

RETURN .T.

desde Managua, Nicaragua
Ramon Paredes

... Desde la Tierra de lagos y Volcanes......
Posts: 610
Joined: Wed Oct 19, 2005 08:20 PM

como refresco un dato

Posted: Mon Jun 02, 2008 08:04 PM

Desde dentro de la función tienes que hacer:

oGet[29]:VarPut(nValorCalculado)
oGet[29]:Refresh()

Un saludo,

Manuel



xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
Posts: 215
Joined: Fri Feb 02, 2007 03:38 PM

asi es

Posted: Mon Jun 02, 2008 08:35 PM

Gracias Manuel,

Funciono OK.

Ramon Paredes

... Desde la Tierra de lagos y Volcanes......

Continue the discussion