Clipper/FiveWin - Captacion de Datos

 
Vista:

Captacion de Datos

Publicado por Gabriel Martin (31 intervenciones) el 03/01/2006 16:12:56
Veuelve el pesado de turno.
Ante todo feliz año nuevo.
Quiero simplificar un proceso muy rutinario que hago en los procesos de listado y es el de delimitar entre dos fechas. Para ello creé la subrutina, que claro está, no va del todo bien:

FUNCTION ObtenFechas(dIni,dFin)

LOCAL oDlg,oIni,oFin
LOCAL aBtn:=ARRAY(2)

DEFINE DIALOG oDlg RESOURCE "FECHAS" ;
FONT oFont

REDEFINE GET oIni VAR dIni ; // Fecha Inicial
ID 6101 OF oDlg ;
PICTURE "DD-DD-DDDD" ;
UPDATE

REDEFINE GET oFin VAR dFin ; // Fecha Final
ID 6102 Of oDlg ;
PICTURE "DD-DD-DDDD" ;
UPDATE

REDEFINE BUTTON aBtn[1] ID 6501 OF oDlg ;
MESSAGE "Salir sin Grabar"

aBtn[1]:bAction={||oDlg:End()}

REDEFINE BUTTON aBtn[2] ID 6502 OF oDlg // Aceptado

aBtn[2]:bAction={||oDlg:END()}

ACTIVATE DIALOG oDlg CENTERED

RETURN (.T.)

Mis Pregustas:
1) ¿como hago para que si no se introuden fechas, la rutina madre que la llamam hasta ahora ObtenFechas(@dIni,@dFin), se de cuenta y no continue el proceso?
2) ¿Por que causa el boton aBtn[1] no muestra mensaje alguno?
3) ¿conseguiré al final hacer lo que pretendo? ;) a esta ya la contesto yo: Me costará pero con vuestra ayuda seguro lo consigo

LPV y Feliz 2006 Gabriel Martin
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Captacion de Datos

Publicado por Gabriel pascual (913 intervenciones) el 05/01/2006 05:24:50
je je je, este es el claro ejemplo delo que yo llamo.... matar pulgas a cañonazos.... porque realmetne Clipper se hace cargo de todo(ojo, no FiveWin, esto es primero de Clipper)

SET CENTURY ON
SET DATE FORMAT TO "DD-MM-AAAA"

y ahora la magia, no necesitas hacer naaada de naaada, Clipper valida automaticamente que una variable fecha se edite como fecha:

dIni := DATE()
dFin := DATE()
ObtenFecha(@dINi,@dFin)

FUNCTION ObtenFechas(dIni,dFin)

LOCAL oDlg,oIni,oFin
LOCAL aBtn:=ARRAY(2)

DEFINE DIALOG oDlg RESOURCE "FECHAS" ;
FONT oFont

REDEFINE GET oIni VAR dIni ; // Fecha Inicial
ID 6101 OF oDlg ;
UPDATE

REDEFINE GET oFin VAR dFin ; // Fecha Final
ID 6102 Of oDlg ;
UPDATE

REDEFINE BUTTON aBtn[1] ID 6501 OF oDlg ;
MESSAGE "Salir sin Grabar"

aBtn[1]:bAction={||oDlg:End()}

REDEFINE BUTTON aBtn[2] ID 6502 OF oDlg // Aceptado

aBtn[2]:bAction={||oDlg:END()}

ACTIVATE DIALOG oDlg CENTERED

RETURN (.T.)

Ahora bien, la clausula MESSAGE de los controles NO PONE NINGUN TITULO EN LOS MISMOS, se tuiliza para poner un pequeño mensaje EN LA BARRA DE ESTADO del dialogo o de la ventana principal cuando el mouse pasa sobre el control de marras, en este caso, el boton.

Si quieres que tu boton tenga un texto, debes asignarlo desde el workshop.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Captacion de Datos

Publicado por Gabriel Martin (31 intervenciones) el 07/01/2006 16:02:56
Mil gracias por tu ayuda.

Es cierto a veces queremos invertar cosas que son de una evidencia plastante.

El tema de MESSAGE en BUTTOn no es para cambiarle el nombre, mi idea es que diese un mensaje de ayuda. Pero no he conseguido hacerlo ni son Help. ¿puede ser debido a la manera de haber configurado el boton en el Worshop? La opciont de Tap Stop no está habilitada
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Captacion de Datos

Publicado por Gabriel Pascual (913 intervenciones) el 07/01/2006 23:09:26
Pues va a ser que no, lo que quieres poner es un Tooltip.

Asi que, aqui esta el secreto:

REDEFINE BUTTON oBtn1 ID ...... blah blah bla
oBtn1:cToolTip := "ponga aqui su mensaje de ayuda"

REDEFINE BUTTON oBnt2 ID .... blah blah blah
oBtn2:cToolTip := "ponga aqui otro +mensaje de ayuda"

Todos los controles de FW tienen la propiedad TOOLTIP, pero no se puede acceder a ella desde comando, ni con @reng,col, ni con redefine, hay que hacerlo directametne utilizando el objeto y su data cTooltip. Asi pues, si quieres poner tooltips a TOOODOS lo controles, tienes que hacer lo mismo despues e hacer el redefine de cada uno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar