Muy buenas noches.
Tengo un problema con el calendario DTPICKER, Debo ingresar 2 Fechas haciendo uso del calendario y validar, para ello mando a una rutina de validación.
El Problema surge por ejemplo cuando se ingresa la fecha de Termino Menor que fecha Inicial, muestro el mensaje de Error que la fecha de Termino debe ser mayor que inicial, tengo 2 Botones uno Aceptar y el Otro SALIR, el problema que al presionar el Boton Salir, sigue mostrando el mensaje de el Error en la fecha, hasta el infinito.
Lo que necesito es que si el usuario decide presionar el Boton Salir, este cierre el dialogo y vuelva al punto desde donde se envio.
Esperando de su pronta ayuda.
Muchos Saludos
Antonio.
Codigo;
- Code: Select all Expand view RUN
Function Fechas(Ini1,Fin1)
Local oDlg_Fec,oFont_f1,oFont_f2,otitu2,oSay_f1,oSay_f2,oIni,oFin
DEFINE FONT oFont_f1 NAME "TAHOMA" SIZE 0,18 BOLD
DEFINE FONT oFont_f2 NAME 'TAHOMA' SIZE 0,22 BOLD
DEFINE DIALOG oDlg_Fec SIZE 500,250 PIXEL FONT oFont_f1 STYLE WS_CAPTION
@ 00,40 SAY otitu2 PROMPT " INGRESE FECHAS A CONSULTAR " PIXEL OF oDlg_Fec COLORS RGB(12, 135, 27) FONT oFont_f2
@ 30,010 SAY oSay_f1 PROMPT "Inicio" PIXEL OF oDlg_Fec FONT oFont_f1
@ 30,135 SAY oSay_f2 PROMPT "Término" PIXEL OF oDlg_Fec FONT oFont_f1
@ 30, 42 DTPICKER oIni VAR Ini1 SIZE 65, 10 PIXEL OF oDlg_Fec COLOR nRGB ( 240, 240, 240 ), nRGB ( 240, 016, 016 )
@ 30,172 DTPICKER oFin Var Fin1 SIZE 65,10 PIXEL OF oDlg_Fec PICTURE "@d" COLOR RGB(0,0,128) FONT oFont_f1 UPDATE;
VALID( ValidaFechas( Ini1, Fin1 ) )
@ 70,45 BTNBMP SIZE 38,35 PROMPT "ACEPTA" OF oDlg_Fec 2007 Resource "#8108" FONT oFont_f2 COLOR RGB(128, 0, 0), (128, 0, 0);
ToolTip "ACEPTAR" ;
ACTION oFin:Refresh(),oIni:Refresh(), oDlg_Fec:End()
@ 70,160 BTNBMP SIZE 38,35 PROMPT "SALIR" OF oDlg_Fec PIXEL 2007 Resource "#8101" FONT oFont_f2 COLOR RGB(128, 0, 0), (128, 0, 0);
ToolTip "SALIR DEL SISTEMA";
ACTION oDlg_Fec:End()
ACTIVATE DIALOG oDlg_Fec CENTER
Return
Function ValidaFechas( In1, Fi1 )
If ( In1 > Fi1 )
alert( "La Fecha Final debe ser mayor a la Fecha Inicial" )
Fi1:=In1
Return ( .F. )
Endif
Return ( .T. )