Page 1 of 1

boton en validar fecha.

Posted: Thu May 23, 2019 6:01 pm
by jvtecheto
Hola amigos:

Validar una fecha simple, me funciona bien con este codigo.

Code: Select all

REDEFINE GET oFecha VAR dFecha ID 101 OF oDlg UPDATE;
    VALID (dFecha>=aEmpresa[12] .AND. dFecha<=aEmpresa[13])

 
pero le coloco un BTNBMP antes para llamar a la funcion MsgData()

con este codigo.

Code: Select all

REDEFINE BTNBMP ID 140 RESOURCE "CALENDAR" OF oDlg ;
            ACTION ( dFecha:=MsgDate(Date(),"Elige Fecha"),oDlg:UPDATE(),oObra:SetFocus() )

 
Asi como esta por mucho que pulso el botton no me hace caso.
si quito el VALID si funciona se abre el calendario, elijo fecha y bien, pero
tengo que validar que la fecha este dentro del ejercicio de la empresa ,

¿Que estoy haciendo mal?

Otra cosita, ¿Se podria castellanizar la funcion MsgDate(). ?
Ya que Today , mejor hoy .

Gracias por vuestra ayuda.

Jose.

Re: boton en validar fecha.

Posted: Thu May 23, 2019 7:30 pm
by karinha

Code: Select all

   ACTION MsgInfo( MsgDate( DATE() ), "Elige Fecha" )
 

Re: boton en validar fecha.

Posted: Thu May 23, 2019 7:54 pm
by armando.lagunas
usa datepicker

Code: Select all

#include "DtPicker.ch"
...
...
                   REDEFINE  DTPICKER oGet VAR dFecha ID 31 FONT xFont OF oDlg VALID {|| dFecha <=  Date() } 
                                     
                                      oGet:bChange    := { || IIF( oGet:lClosed .AND. oGet:lFocused, oGet:PostMsg( WM_KEYDOWN, VK_RIGHT ),) }
 
en archivo de recursos defines como "SysDateTimePick32"

resultado:

Image

Saludos

Re: boton en validar fecha.

Posted: Fri May 24, 2019 7:47 am
by jvtecheto
Hola :

Gracias a los 2 por vuestro interes.

He descubierto que si asignamos valor previamente a la fecha , si funciona el boton . Supongo que sera un pequeño bug,
ya que no le veo la explicacion.
De todas formas voy a castellanizarla, y la colocare en una libreria propia con otro nombre.
Por cierto las funciones se podrian ampliar a Ingles/Castellano, solo es una idea :)

Es una funcion util para entradas que no requieran la potencia de DtPicker que es lo correcto a utilizar en general.
Con el ResEdit ese estilo ya esta predefinido en una plantilla que publico Carlos Vargas(Gracias Carlos). Pero ahora estoy utilizando un recurso .res
y utilizo Pelles C. ¿En este Editor debes de crearte un custom control y en el nombre colocarle el SysDateTimePick32 sin la T delante ?

Saludos.