FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Como evitar el botoncito en GET ACTION ?
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Como evitar el botoncito en GET ACTION ?
Posted: Mon Apr 15, 2013 12:21 AM
Hola a todos.
Por defecto, al usar la instruccion ACTION en un GET, el botoncito aparece, pero lo que quiero hacer es determinar cuando debe o no, aparecer.
Me explico:
Tengo una function que crea un dialog con varios gets que se definen pasando un array con los necesarios (estos pueden ser 1,2,3, o mas). El tipo de dato de estos gets puede ser variado, y es desconocido hasta que se llama a la function mencionada. Ahora bien, lo que quiero es definir que si uno o dos gets (por ejemplo en un dialogo de 4 gets) son tipo Date, a estos aplicarles el ACTION para ejecutar el calendario. Para los demás que no aparezca el botoncito.
Algo asi:
Code (fw): Select all Collapse
  REDEFINE GET oGet1 VAR uTemp[1] ID 201 OF oDLG  PICTURE MyPict(uTemp[1],lDecim) ;
                 ACTION if(Valtype(uTemp[1])="D",Calendario() ,nil)

Le he dado mil vueltas al METHOD CreateButton() CLASS TGET, sin resultados. El botoncito siempre aparece.
¿Se puede?... ¿How to do it?
Gracias de antemano,
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Como evitar el botoncito en GET ACTION ?
Posted: Mon Apr 15, 2013 03:39 AM

Me respondo yo mismo.
Modifique la Class TGet, agregando la DATA lCreateBtn y desde mi prg hago:
REDEFINE GET oGet1 VAR uTemp[1] ID 201 OF oDLG PICTURE MyPict(uTemp[1],lDecim) ;
oGet1:bAction:={|| if(Valtype(uTemp[1])="D",Calendario() ,nil) }
oGet1:lCreateBtn := if(Valtype(uTemp[1])="D",.t.,.f.)
Desde luego, lo utilizo para otros casos, no solo Date.
Saludos.

Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Como evitar el botoncito en GET ACTION ?
Posted: Mon Apr 15, 2013 05:57 AM
Francisco,

Podrias tambien haber hecho esto:

Code (fw): Select all Collapse
if Valtype(uTemp[1])="D"
 REDEFINE GET oGet1 VAR uTemp[1] ID 201 OF oDLG  PICTURE MyPict(uTemp[1],lDecim) ;
                 ACTION Calendario()
else
 REDEFINE GET oGet1 VAR uTemp[1] ID 201 OF oDLG  PICTURE MyPict(uTemp[1],lDecim)
endif
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Como evitar el botoncito en GET ACTION ?
Posted: Mon Apr 15, 2013 01:23 PM

Antonio, tienes razon. Me ahogué en un vaso de agua. Lo único es que se emplea el doble en lineas de código, pero evita modificar la Class.
Saludos.

Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql

Continue the discussion