Página 1 de 2
Cor do Get
Enviado: 04 Set 2007 18:22
por fjokiller
Galera gostaria de saber se tem como mudar a cor do get de forma dinâmica.
Por exemplo: Quando tou incluindo um cliente, existe um campo conjuge onde pego o cpf dele mas caso esse conjuge já seja cliente e esteja com débito em atraso, quero que o get mude pra cor vermelha, tem como fazer isso???
Desde já agradeço....
Enviado: 04 Set 2007 19:18
por diogenes_varela
Claro que dá pra fazer isso, mas vai depender de uma consulta logo após vc digitar o nome do cônjuge, que pode ter o mesmo CPF ou não - e se a consulta for pelo nome, se foi digitado da mesma forma.
Se tiver problema vai pra cor vermelha. Não esqueça de voltar a cor normal logo em seguida.
Qualquer coisa, volte aqui.
Enviado: 04 Set 2007 19:33
por sygecom
EX:
Código: Selecionar todos
faça a consulta....do CPF.....
IF vCPF="SUJO"
@ 22,03 GET vRAZAO "@!" COLOR( "r/W" )
ELSE
@ 22,03 GET vRAZAO "@!"
ENDIF
Abraços
Loenardo Machado
Enviado: 04 Set 2007 19:55
por fjokiller
Obrigado pelas respostas mas
Acho q vc não entenderam... eu primeiro tenho q montar a tela, por exemplo:
@ 10, 10 get cCPF // Cpf do cliente
@ 11, 10 get cNome // Nome do Cliente
@ 12, 10 get ccpfConjuge // Cpf do Conjuge
@ 13, 10 get Nomeconjuge // nome do conjuge que deve ficar vermelho caso o conjuge tenha pagamentos em atraso....
entederam todos os gets devem ficar no mesmo Read e só vou saber o cpf na hora q estiver preenchendo os get's... ou seja quero q o get do nome mude de forma dinamica....
Enviado: 04 Set 2007 20:00
por Eolo
Leo, acho que o FJOKILLER precisa de outra coisa...
Ele só vai saber se o CPF é sujo ou não, depois que digitar o nome do Fulano, o CPF do Fulano, digitar o Nome e CPF da CONJUGE do Fulano e, se a cônjuge estiver suja, fazer o GET dela ficar em vermelho...
É isso, FJOKILLER?
Enviado: 04 Set 2007 20:03
por fjokiller
exatamente isso...quero mudar a cor get dp q o cpf do conjuge ser digitado... mas todos os get's tem q estarem no mesmo read
Enviado: 04 Set 2007 20:15
por sygecom
Desculpa, eu não tinha entendido !!!
Nessa caso use o WHEN para chamar uma função que vai verificar se o CPF esta sujo OU não e devolvendo uma condição que vai mudar ou não a cor do GET...o READ..não prescissa ser chamado para VALIDAR...olhe como eu uso a Validação do CPF.
eX:
Código: Selecionar todos
@ 06,14 get FCPF PICT "@r !!!.!!!.!!!-!!" when DwnMsg( "Informe o N§ do CPF" )
@ ROW(),COL()+25 get xRG WHEN CPF() .and. DwnMsg( "Informe o N§ do RG" )
No meu exemplo acima o campo RG jah vai chegar com a VARIAVEL que vai definir a COR do tal GET...
Era isso ?
Abraços
Leonardo Machado
Enviado: 04 Set 2007 21:41
por diogenes_varela
Antes do READ ler o CPF não há como mudar a cor, porque você estará usando GET.
Mesmo o WHEN se baseará em uma informação lida pelo READ.
A única forma que vejo é usar o INKEY para formar o número que será verificado, e fazer a consulta logo em seguida. Só que esse processo deverá ser usado para todos as informações. Em bloco.
Enviado: 04 Set 2007 21:46
por Maligno
Será possível mudar a cor dinamicamente se o GETSYS for modificado pra isso. Ou, se um VALID saltar pra uma função que faça a modificação direta no objeto do campo. Com a devida reimpressão, claro. Não lembro exatamente quais são os dados, mas é só uma questão de pesquisar pelo NG.
Enviado: 04 Set 2007 22:26
por fjokiller
Não é qdo eu estou usando um get é mudar a cor do get seguinte de acordo com uma funcao do anterior...
exemplo:
get cpf when validacpf
get nomecpf (se validacpf = verdadeiro, esse get tem q ficar vermelho)
tem condicoes, sem mudar o getsys?
Enviado: 04 Set 2007 22:50
por Stanis Luksys
fjokiller escreveu:tem condicoes, sem mudar o getsys?
Aí vai um exemplinho feito na hora, da pra elaborar melhor:
Código: Selecionar todos
cls
a = space(1)
b = space(20)
public getlist := {}
@ 10, 10 say "SEXO:" get a valid a $ "MF" picture "!"
@ 12, 10 say "NOME:" get b when mudacor()
read
function mudacor()
if ( getlist[1]:varget() == "M" )
getActive():colorDisp(",w+/b")
else
getActive():colorDisp(",w+/r")
endif
return .t.
Se for homem, o nome fica em azul, se mulher, vermelho.
Trabalhar com o objeto GET é necessário em muitas ocasiões. Eu uso bastante quando quando estou numa lista de gets e de acordo com uma variavel chamo uma função com varios outros gets, se não tratar o getlist, ao ler o segundo read, todos os gets do primeiro seriam perdidos.
Este é só um exemplo simples, existem muitas outras sitiuações onde uso. O que não dá é pra ter um READ a cada GET, e nem deixar que se o cara der um ESC ele perca tudo desde o primeiro campo...
No Clipper é sempre preciso umas coisas mirabolantes para prever este tipo de situação. No meu sistema, muitas vezes se você der um ESC ele volta pra metade da lista de gets, e não pro primeiro.
Falou!
Enviado: 04 Set 2007 23:35
por fjokiller
Cara deu certo, valeu mesmo..muito obrigado...e obrigado a todo mundo que respondeu....
Enviado: 05 Set 2007 00:08
por diogenes_varela
Cara deu certo
Mas não faltou resolver o problema da consulta? De onde está vindo a informação sobre se o cônjuge está ou não em débito?
Enviado: 05 Set 2007 00:49
por Maligno
Stanis escreveu:Código: Selecionar todos
function mudacor()
if ( getlist[1]:varget() == "M" )
getActive():colorDisp(",w+/b")
else
getActive():colorDisp(",w+/r")
endif
return .t.
Era sobre isso mesmo que eu estava falando. Maravilha.
dogenes_varela escreveu:Mas não faltou resolver o problema da consulta? De onde está vindo a informação sobre se o cônjuge está ou não em débito?
Ah, mas isso foi só um exemplo. O colega deve ter resolvido completando a parte que falta.
Enviado: 05 Set 2007 08:24
por miracle
Se alguém precisar, também há um jeito de mudar a cor do
GET quando ele recebe foco. Ei-lo:
Código: Selecionar todos
@ 07,43 GET cFORNECEDOR PICTURE "@!" SEND COLORSPEC := "16/15, 14/01"
Até breve! :)Pos