Clipper On Line • Ver Tópico - Ajuda com Macros

Ajuda com Macros

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Ajuda com Macros

Mensagempor Amparo » 10 Nov 2017 13:10

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.

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 de usuário

Amparo
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 337
Data de registro: 20 Ago 2010 10:38
Cidade/Estado: caieiras / sao paulo
Curtiu: 0 vez
Mens.Curtidas: 2 vezes

AJUDA COM MACROS

Mensagempor Amparo » 09 Dez 2017 13:23

ola

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

abraços

Amparo
Avatar de usuário

Amparo
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 337
Data de registro: 20 Ago 2010 10:38
Cidade/Estado: caieiras / sao paulo
Curtiu: 0 vez
Mens.Curtidas: 2 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 12 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro