FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para CA-Clipper Otra de Color en Get
Posts: 28
Joined: Mon Nov 07, 2005 08:30 PM
Otra de Color en Get
Posted: Sat Feb 11, 2006 01:01 PM

Hola amigos:
Estoy atascado en lo siguiente:
Quiero que cuando pierda el foco un get, (Fecha), compruebe si han puesto la fecha de trabajo, si no es así, que el get se ponga de color rojo.
Yo ulitizo la clase Btnget, y he puesto lo siguiente:
oFe:bLostFocus = { ||iif(cFe<>dfetra,oFe:SetColor( ,RGB(255,56,29)),) }
- oFe es el get
- dfetra es la fecha de trabajo
- cFe es la variable del get (fecha)
Esto funciona a la segunda, es decir, si le pongo fecha distinta pasa al siguiente get sin cambiar de color, si vuelvo al get y confirmo nuevamente, ahora sí me cambia de color.
Que tengo que hacer para que me lo haga a la primera ?

Un Saludo

Jose Luis

Posts: 219
Joined: Mon Dec 26, 2005 07:25 PM
Otra de Color en Get
Posted: Sat Feb 11, 2006 01:15 PM

Intenta: oFe:SetColor(clr_texto,clr_fondo)

Nos Gusta Programar
Posts: 28
Joined: Mon Nov 07, 2005 08:30 PM
Otra de Color en Get
Posted: Sat Feb 11, 2006 11:45 PM

Nada, seguimos necesitando pasar dos veces por el get para que lo pinte en rojo.
Un saludo

Jose Luis

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Otra de Color en Get
Posted: Sun Feb 12, 2006 01:52 AM

Jose Luis,

oFe:SetColor(clr_texto,clr_fondo)
oFe:Refresh()

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 219
Joined: Mon Dec 26, 2005 07:25 PM
Otra de Color en Get
Posted: Sun Feb 12, 2006 06:13 PM

Yo tengo oFe:SetColor(...) 10.000 veces en mis programas y me funciona siempre (sin refrescar), algo raro estás interponiendo. De todas formas, eso me ocurre con los SAY y lo he solucionado de la siguiente manera:

oSay:SetColor(CLR_TEXTO,CLR_FONDO)
oSay:SetText( oSay:cCaption ) // del tirón

Para los Get's sería:

oGet:SetColor(CLR_TEXTO,CLR_FONDO)
oGet:cText( oGet:cText )

Así no tienes que pasar dos veces por el Get; de una sola vez ejecutas las dos acciones.

Si tienes muchos Get's, mételos en un array y haz:

AEVAL(aGet, { |oG| oG:SetColor(CLR_TEXTO,CLR_FONDO),oG:cText( oG:cText) } )

Es más rápido y Ocupa poco código, además al ser una array ocupa menos memoria (Antonio corrigeme si me equivoco)

Suerte

Nos Gusta Programar

Continue the discussion