Otra de Color en Get

Post Reply
Jose Luis
Posts: 28
Joined: Mon Nov 07, 2005 8:30 pm
Location: Toledo (España)

Otra de Color en Get

Post by Jose Luis »

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
manuramos
Posts: 219
Joined: Mon Dec 26, 2005 7:25 pm
Location: Jerez de la Frontera (Spain)

Post by manuramos »

Intenta: oFe:SetColor(clr_texto,clr_fondo)
Nos Gusta Programar
Jose Luis
Posts: 28
Joined: Mon Nov 07, 2005 8:30 pm
Location: Toledo (España)

Post by Jose Luis »

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

Jose Luis
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Jose Luis,

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

Antonio Linares
www.fivetechsoft.com
manuramos
Posts: 219
Joined: Mon Dec 26, 2005 7:25 pm
Location: Jerez de la Frontera (Spain)

Post by manuramos »

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
Post Reply