Tengo un BtnGet usandolo como ejemplifico reducidamente abajo:
- Code: Select all Expand view RUN
REDEFINE BTNGET oGetIngresoDesde VAR dIngresoDesde ID 4002 OF oDlg RESOURCE "Calen" SPINNER;
ON UP (++dIngresoDesde,oGetIngresoDesde:Refresh()) ON DOWN (--dIngresoDesde,oGetIngresoDesde:Refresh());
font oFont ;
ACTION (aRect2 := GetCoors(oGetIngresoDesde:hWnd),;
dIngresoDesde := FwCalendar(dIngresoDesde,aRect2[1],aRect2[4],oDlg,nRGB(200,200,200),nRGB(100,100,100), ;
nRGB(168,45,69),{nRGB(232,242,255),CLR_BLUE}), if(VerificoDate(dIngresoDesde,dIngresoHasta) , , ;
dIngresoDesde:=cTod(" / / ")) , ;
oGetIngresoDesde:Refresh() )
function VerificoDate(dDesde,dHasta)
if dtoc(dDesde) = " / / "
return .t.
endif
if dtoc(dHasta) = " / / "
return .t.
endif
if dDesde <= dHasta
return .t.
endif
if dDesde > dHasta
msgalert("La fecha DESDE debe ser menor" + chr(13) + "o igual a la fecha HASTA" , "ATENCION")
return .f.
endif
return .t.
Funciona bién y muestra el mensaje de alerta cuando corresponde borrando la fecha que está mal siempre y cuando la fecha se elija desde el fwcal.
El problema se presenta cuando la fecha se entra manualmente. ¿Como puedo hacer la comprobación y borrarla si está mal?. Intenté con ON CHANGE pero no pude hacerlo.
Gracias.
Rolando