Buenas tardes...
Algo rapido. deseo controlar en linea el PICTURE (formato) de un determinado Get el cual dependera del valor que se digite en un get determinado que se encuentre en el mismo cuadro de dialogo algo asi como el ejemplo indicado .. pero no me funciona.. que falta ??
XPICTURE:="@!"
REDEFINE GET oDATA1 VAR XDATA1 PICTURE "!" VALID CHKPIC(XDATA1,oDATA2,oDlg)
REDEFINE GET oDATA2 VAR XDATA2 PICTURE XPICTURE
.....
....
FUNCTION CHKPIC(xdata,odata2,oDlg)
do case
case xdata="A"
odata2:cPicture:="999999-999"
case xdata="B"
odata2:cPicture:="999-999-99"
otherwise
odata2:cPicture:="@!"
endcase
odata2:refesh()
oDlg:refresh()
RETURN .T.
Gracias por la ayuda
Pdta: tambien quisiera agregar algo adicional para no aburrirlos : .... que pasaria si en vez de que el PICTURE dependiese del valor de otro GET fuese de un COMBOBOX.... como seria la solucion....
Lubin
una consulta respecto al Pict de un Get
Estas cometiendo el mismo error que todos los que hemos tenido que pasar por ahí. No hay que modificar el cPicture del Get (oData:cPicture), sino el oGet:Picture del Get (oData2:oGet:Picture).
Este es un ejemplo:
cPic1 := IF(nEuro=1,"@E 9,999.99","@E 999,999")
cPic2 := IF(nEuro=1,"@E 9999.99" ,"@E 999999" )
DEFINE DIALOG oDLct RESOURCE "CUOTAS2" OF oDlg PIXEL FONT oFnt
...
REDEFINE GET aGet[1] VAR oGet1 ID 134 OF oDLct ;
WHEN { || aGet[1]:oGet:Picture:=cPic2 , .T. } ;
VALID { || aGet[1]:oGet:Picture:=cPic1 , .T. }
En cuanto al Combo, pasa su variable a la función y evalúala como una variable más.
Este es un ejemplo:
cPic1 := IF(nEuro=1,"@E 9,999.99","@E 999,999")
cPic2 := IF(nEuro=1,"@E 9999.99" ,"@E 999999" )
DEFINE DIALOG oDLct RESOURCE "CUOTAS2" OF oDlg PIXEL FONT oFnt
...
REDEFINE GET aGet[1] VAR oGet1 ID 134 OF oDLct ;
WHEN { || aGet[1]:oGet:Picture:=cPic2 , .T. } ;
VALID { || aGet[1]:oGet:Picture:=cPic1 , .T. }
En cuanto al Combo, pasa su variable a la función y evalúala como una variable más.
Nos Gusta Programar