Cor do Get

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

fjokiller
Usuário Nível 1
Usuário Nível 1
Mensagens: 16
Registrado em: 15 Ago 2007 21:11
Localização: fortaleza

Cor do Get

Mensagem 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....
diogenes_varela
Usuário Nível 3
Usuário Nível 3
Mensagens: 206
Registrado em: 04 Nov 2006 19:33
Localização: Brasília - DF

Mensagem 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.
Os computadores não sabem o que fazem. Nós, na maioria das vezes, também não...

E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem 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
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
fjokiller
Usuário Nível 1
Usuário Nível 1
Mensagens: 16
Registrado em: 15 Ago 2007 21:11
Localização: fortaleza

Mensagem 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....
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Mensagem 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?
fjokiller
Usuário Nível 1
Usuário Nível 1
Mensagens: 16
Registrado em: 15 Ago 2007 21:11
Localização: fortaleza

Mensagem 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
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem 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
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
diogenes_varela
Usuário Nível 3
Usuário Nível 3
Mensagens: 206
Registrado em: 04 Nov 2006 19:33
Localização: Brasília - DF

Mensagem 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.
Os computadores não sabem o que fazem. Nós, na maioria das vezes, também não...

E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem 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.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
fjokiller
Usuário Nível 1
Usuário Nível 1
Mensagens: 16
Registrado em: 15 Ago 2007 21:11
Localização: fortaleza

Mensagem 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?
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem 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!
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
fjokiller
Usuário Nível 1
Usuário Nível 1
Mensagens: 16
Registrado em: 15 Ago 2007 21:11
Localização: fortaleza

Mensagem por fjokiller »

Cara deu certo, valeu mesmo..muito obrigado...e obrigado a todo mundo que respondeu....
diogenes_varela
Usuário Nível 3
Usuário Nível 3
Mensagens: 206
Registrado em: 04 Nov 2006 19:33
Localização: Brasília - DF

Mensagem 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?
Os computadores não sabem o que fazem. Nós, na maioria das vezes, também não...

E disse ao Programador: "Todos os teus programas terão erros e irás corrigi-los até ao fim dos teus dias". Gen. 1:9
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem 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.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
miracle
Usuário Nível 3
Usuário Nível 3
Mensagens: 117
Registrado em: 14 Jun 2007 16:28
Localização: Sao Paulo SP

Mensagem 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
Clipper 5.2e + DBFCDX + Exospace 1.0g
Responder