Pular para o conteúdo principal

Gráficos no Protheus

Gráficos no Protheus

Usando a função MATGRAPH pode-se criar gráficos que serão montados a partir dos dados de um array ou de um arquivo de trabalho passado como parâmetro.
Pode-se também escolher o tipo de gráfico com 2 ou 3 dimensões e visualizar em formato de linha, barra ou área.

Para usar, use o include PROTHEUS.CH ou TOTVS.CH e inclua a função abaixo em seu programa, modificando-a da maneira que achar melhor:

user function fRBSFgraf()
local lGraph3D := .t. // .F. Grafico 2 dimensoes - .T. Grafico 3 dimensoes
local lMenuGraph := .t. // .F. Nao exibe menu - .T. Exibe menu para mudar o tipo de grafico
local lMudaCor := .t.
local nTipoGraph := 2
local nCorDefault := 1
local aDados := {{"Valor 1", 100}, {"Valor 2", 500},{"Valor 3", 1000}}
local aStru := {}
local cArquivo := CriaTrab(,.f.)
local i

If MsgYesNo("Deseja exibir o grafico com os dados do array?")
   // O grafico sera montado a partir dos dados do array aDados
   MatGraph("Graficos",lGraph3D,lMenuGraph,lMudaCor,nTipoGraph,nCorDefault,aDados)
Else
 aStru := { {"EixoX", "C", 20, 0}, {"EixoY", "N", 8, 2} }
 dbCreate(cArquivo,aStru)
 dbUseArea(.T.,,cArquivo,"GRAFICO",.F.,.F.)
 For i:=1 to Len(aDados)
   ("GRAFICO")->( dbAppend() )
   ("GRAFICO")->(EixoX) := aDados[i][1]
   ("GRAFICO")->(EixoY) := aDados[i][2]
 Next i

 // O grafico sera montado a partir dos dados da area de trabalho "GRAFICO"
 MatGraph("Graficos", lGraph3D, lMenuGraph, lMudaCor, nTipoGraph, nCorDefault,,"GRAFICO",{"EixoX","EixoY"})
 ("GRAFICO")->( dbCloseArea() )
 EndIf
Return


Veja também: Listbox no Protheus

Comentários

  1. Prezado Heitor,
    Vamos verificar e daremos retorno.

    ResponderExcluir
  2. Pessoal,
    Utilizem a MSGRAPH.
    É muito mais completa, com diversos recursos de edição e suporte a impressão.
    Abraços,
    Cristiano Oliveira.

    ResponderExcluir
    Respostas
    1. Obrigado pela participação, Cristiano! Se possível, posta um pequeno exemplo.

      Excluir

Postar um comentário