Ajuda com Macros

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
Amparo
Usuário Nível 3
Usuário Nível 3
Mensagens: 342
Registrado em: 20 Ago 2010 10:38
Localização: caieiras / sao paulo

Ajuda com Macros

Mensagem por Amparo »

OLA AMIGOS,

Harbour MiniGUI Extended Edition 16.10
BRMAKE - Make File para Harbour/xHarbour/MiniGUI Versão 2.05 FreeWare

bem, em um form eu crio um TBROWSE cfe abaixo, em um DBF guardo as informações para montagem do mesmo e carrego esta informações em vetores, o vetor
COLUNA_FIELDS contem os campos para a montagem das colunas , no vetor COLUNA_BLOCO é usada para preenchimento de cores para cada linha/coluna no TBROWSE

por exemplo:

IIF( CLIENTES->VENDEDOR = "50",COR_VERMELHA,IIF( CLIENTES->VENDEDOR = "ABC",COR_VERDE,COR_BRANCA ) )

OU

IIF( CLIENTES->ULT_VENDA <= 1000.00, COR_VERMELHA, IIF( CLIENTES->ULT_VENDA > 1000.00 .AND. CLIENTES->ULT_VENDA <= 2000.00, COR_AMARELA, COR_VERDE ))

enfim pode haver varias condiçoes, o problema é que não estou conseguindo passar este vetor para a linha 18 CRIATABSBROW:SetColor onde carrego a informação do vetor COLUNA_BLOCO[w] na variavel MACROCOR

da forma que esta as colunas do TBROWSE fica toda preta repare que comentei a linha 20 e 21, se eu comentar a linha 18 e ativar a linha 20 e 21 o browse é preenchido corretamente como esta nos arquivos anexo um errado e o outro certo, o errado e da linha 18 e o certo é das linha 20 e 21.

alguém tem ideia pois ja criei e variavel MACROCOR de todas as formas cfe abaixo e só da erro.

* MACROCOR := &( "{ || " + COLUNA_BLOCO[W] + "}" )
* MACROCOR := &( COLUNA_BLOCO[W] )
* MACROCOR := COLUNA_BLOCO[W]
* MACROCOR := "{{ || " + COLUNA_BLOCO[W] + "}}"


desde já agradeço, um forte abraços a todos.

Código: Selecionar todos

DEFINE TBROWSE CRIATABSBROW AT 110,005 OF CRIATABFORM WIDTH NLARGURA - 15 HEIGHT NALTURA - 160 ALIAS ALIAS_FICHA ;
 FONT "Arial" SIZE 10 BOLD ON DBLCLICK EDIT_INSERT( 2, "CRIATABFORM", "CRIATABSBROW", AFUNC ) ;
 CELLED ON HEADCLICK { &CABECALHO. }

 CRIATABSBROW:nHeightCell = 30                    // 20 altura de celula do browse
 CRIATABSBROW:nHeightHead = 40                    // 30 altura do texto das colunas

 FOR W := 1 TO LEN( COLUNA_FIELDS )
  ADD COLUMN TO CRIATABSBROW HEADER COLUNA_TITULO[W] SIZE COLUNA_TAMANHO[W] FOOTER "";
  PICTURE IIF( COLUNA_TIPO[W] == "N", COLUNA_PICTURE[W], "@!" ) ;
  3DLOOK TRUE DATA FIELDWBLOCK( COLUNA_FIELDS[W], SELECT( COLUNA_TABELA[W] ) ) ;
  ALIGN IIF( COLUNA_TIPO[W] == "C", DT_LEFT , IIF( COLUNA_TIPO[W] == "N", DT_RIGHT , DT_CENTER ) ) , ;
  NMAKELONG( DT_CENTER, 3 )

  IF !EMPTY( COLUNA_BLOCO[W] )
   MACROCOR := &( "{ || " + COLUNA_BLOCO[W] + "}" )

   CRIATABSBROW:SetColor( { 2 },  &(MACROCOR) , W )

   *CRIATABSBROW:SetColor( { 2 }, { { || IIF( VENDEDOR = "50",COR_VERMELHA,;
   *IIF( VENDEDOR = "ABC",COR_VERDE,COR_BRANCA ) ) } }, W )
  ELSE
   CRIATABSBROW:SETCOLOR( { 2 }, { ;
   IIF( COLUNA_COR[W] = "COR_BRANCA",    COR_BRANCA ,;
   IIF( COLUNA_COR[W] = "COR_AMARELA",   COR_AMARELA,;
   IIF( COLUNA_COR[W] = "COR_AZUL",      COR_AZUL,;
   IIF( COLUNA_COR[W] = "COR_VERDE",     COR_VERDE,;
   IIF( COLUNA_COR[W] = "COR_VERMELHA",  COR_VERMELHA,;
   IIF( COLUNA_COR[W] = "COR_ROSA",      COR_ROSA,;
   IIF( COLUNA_COR[W] = "COR_LARANJA",   COR_LARANJA,;
   IIF( COLUNA_COR[W] = "COR_LILAS",     COR_LILAS,;
   IIF( COLUNA_COR[W] = "COR_PRETA",     COR_PRETA,;
   IIF( COLUNA_COR[W] = "COR_CINZA",     COR_CINZA, COR_BRANCA ) ) ) ) ) ) ) ) ) ) },W )
  ENDIF
 NEXT W
 
 CRIATABSBROW:GODOWN()
 CRIATABSBROW:GOUP()
 CRIATABSBROW:GoPos( NRECNO,1 ) 
END TBROWSE
Anexos
TELA COM ERRO.png
TELA CORRETA.png
Avatar do usuário
Amparo
Usuário Nível 3
Usuário Nível 3
Mensagens: 342
Registrado em: 20 Ago 2010 10:38
Localização: caieiras / sao paulo

AJUDA COM MACROS

Mensagem por Amparo »

ola


obrigado a atenção de todos, já resolvi o problema

abraços

Amparo
Responder