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
Otra de Color en Get
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
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
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