dúvida com comando COLOR

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

dúvida com comando COLOR

Mensagem por porter »

olá pessoal, tenho um comando assim, que da certo:

@24,00 say "TESTE" COLOR "W+/G"

porque dessas formas abaixo não da certo, ele nao assume a cor da variavel ccor ?

ccor = "W+/G"
@24,00 say "TESTE" COLOR ccor
@24,00 say "TESTE" COLOR &ccor

obrigado.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

dúvida com comando COLOR

Mensagem por JoséQuintas »

Estranho não funcionar com macro.

Tente outras opções:

Código: Selecionar todos

SET COLOR TO ( cCor )
SetColor( cCor )
Uso assim:

Código: Selecionar todos

SetColor( SetColorCorNormal() )
@ 5, 10 SAY "texto" COLOR ( SetColorAlert() )

FUNCTION SetColorCorNormal()
   RETURN "W/N,N/W,,,W/N"

FUNCTION SetColorAlert()
   RETURN "R/W,N/W,,,R/W"
Facilita alterar todas as cores de uma vez, além do próprio compilador testar se a função existe, evitando erros de digitação.

Explicação:

Cor no Clipper é texto, e direto no fonte.
Então complica usar variável, a não ser que use SetColor()
Usando parêntesis, o Clipper entende que deve tratar como variável, e não como texto.

O mesmo vale pra outras coisas

Código: Selecionar todos

SELECT A
SELECT ( A )
&( "var" + StrZero( nCont, 5 ) )
Nota: No Harbour apenas continuei usando a mesma coisa, nem testei se aceita diferente.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

dúvida com comando COLOR

Mensagem por porter »

obrigado JoseQuintas.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

dúvida com comando COLOR

Mensagem por Pablo César »

Para mim funciona e sempre funcionou. O que esta errado é o uso do macro, pois o conteúdo da variável ccor não é comando/função que devolve o valor caracter. De por si o seu valor da variável já é um caracter que neste caso vale "W+/G". Então eu não entendo que deveria funcionar @24,00 say "TESTE" COLOR &ccor sim funciona o @24,00 say "TESTE" COLOR ccor
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

dúvida com comando COLOR

Mensagem por Jairo Maia »

Olá Pessoal,
Pablo César escreveu:Então eu não entendo que deveria funcionar @24,00 say "TESTE" COLOR &ccor
Com macro só funcionaria se você colocar entre aspas simples, aspas duplas ou colchetes. Exemplo:

Código: Selecionar todos

CLS
ccor:="W+/G"
@ 02, 05 say "TESTE" COLOR '&ccor.'
@ 04, 05 say "TESTE" COLOR "&ccor."
@ 06, 05 say "TESTE" COLOR [&ccor.]
SetPos( 08,00)
Pois trata-se de uma macro substituição enviada por parâmetro.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Responder