como refresco un dato

como refresco un dato

Postby Ramon Paredes » Mon Jun 02, 2008 7: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_CUOTA*XCANPAGO
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......
User avatar
Ramon Paredes
 
Posts: 215
Joined: Fri Feb 02, 2007 3:38 pm
Location: Managua, Nicaragua

Postby Manuel Aranda » Mon Jun 02, 2008 8: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
User avatar
Manuel Aranda
 
Posts: 604
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

asi es

Postby Ramon Paredes » Mon Jun 02, 2008 8:35 pm

Gracias Manuel,

Funciono OK.

Ramon Paredes
... Desde la Tierra de lagos y Volcanes......
User avatar
Ramon Paredes
 
Posts: 215
Joined: Fri Feb 02, 2007 3:38 pm
Location: Managua, Nicaragua


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 11 guests