ola amigos
tenho um arquivo chamado f_sistema.ch neste arquivo contem os seguintes dados
#DEFINE SISTEMA " MICROAMP INFORMATICA V.01"
#DEFINE TRUE .T.
#DEFINE FALSE .F.
#DEFINE QUEBRA Chr(13)+Chr(10)
#DEFINE DRIVER "DBFCDX"
#DEFINE COR_BRANCA RGB( 255,255,255 )
#DEFINE COR_AMARELA RGB( 255,255,000 )
#DEFINE COR_AZUL RGB( 000,000,255 )
#DEFINE COR_AZULCLARO RGB( 121,188,255 )
#DEFINE COR_VERDE RGB( 000,255,000 )
#DEFINE COR_VERDEESCU RGB( 000,128,000 )
#DEFINE COR_VERMELHA RGB( 255,000,000 )
#DEFINE COR_ROSA RGB( 255,128,255 )
#DEFINE COR_LARANJA RGB( 255,128,000 )
#DEFINE COR_LILAS RGB( 128,000,128 )
#DEFINE COR_PRETA RGB( 000,000,000 )
#DEFINE COR_CINZA RGB( 128,128,128 )
#define NTrim( x ) LTrim( Str( x ) )
#define NTRIM( x ) LTrim( Str( x ) )
#define TOPSCOPE 0
#define BOTTOMSCOPE 1
muito bem, usei a seguinte linha de comando e funciona normal usei a MACRO como o amigo Pablo sugeriu.
BROW020101:SetColor( { 1, 2, 5 }, { COR_PRETA, { || IF( &(SGC020101BLOCO[NUMCOR]), ;
COR_VERMELHA , COR_BRANCA ) }, COR_AZULCLARO }, W )
na linha acima o vetor nada mais é que CLIENTES->CONCEITO="RETIDO" a variavel COR_VERMELHA e COR_BRANCA esta declarada no arquivo F_SISTEMA.CH
ate aqui funciona legal, mais eu defini no PRG as cores que devem pegar, e eu preciso pegar a cor que esta em outro vetor ou seja SGC020101AFUNC[14,NUMCOR,13] este vetor pode ser carregado com a variavel COR_VERDE, COR_VERMELHA, COR_AMARELA ou qualquer outra cor carregada no F_SISTENA.CH
fiz um teste com o comando abaixo, onde o vetor SGC020101AFUNC[14,NUMCOR,13] recebe a variavel COR_VERMELHA neste caso pinta todos os clientes RETIDOS de PRETO (ERRADO deveria pintar de vermelho) e os outros de BRANCO (CERTO) coloquei o vetor tambem em MACRO e teve o mesmo efeito.
BROW020101:SetColor( { 1, 2, 5 }, { COR_PRETA, { || IF( &(SGC020101BLOCO[NUMCOR]), ;
SGC020101AFUNC[14,NUMCOR,13] , COR_BRANCA ) }, COR_AZULCLARO }, W )
ou
BROW020101:SetColor( { 1, 2, 5 }, { COR_PRETA, { || IF( &(SGC020101BLOCO[NUMCOR]), ;
&(SGC020101AFUNC[14,NUMCOR,13]) , COR_BRANCA ) }, COR_AZULCLARO }, W )
ja tentei mudar o vetor para receber apenas os numeros da cor exemplo 255,000,000 montei o codigo desta forma, so que da ERRO DE SINTAXE: & (macro)
BROW020101:SetColor( { 1, 2, 5 }, { COR_PRETA, { || IF( &(SGC020101BLOCO[NUMCOR]), ;
"RGB("+&(SGC020101AFUNC[14,NUMCOR,13])+")" , COR_BRANCA ) }, COR_AZULCLARO }, W )
tentei tambem passar para o vetor desta forma RGB(255,000,000) e montei o codigo assim, mais da erro BASE/1001 FUNÇÂO INDEFINIDA RGB
BROW020101:SetColor( { 1, 2, 5 }, { COR_PRETA, { || IF( &(SGC020101BLOCO[NUMCOR]), ;
'"'+&(SGC020101AFUNC[14,NUMCOR,13])+'"' , COR_VERDE ) }, COR_AZULCLARO }, W )
to quebrando a cabeça, se achar a solução pastarei aqui