Este artigo também está disponível para visualização online em http://kb.elipse.com.br/pt-br/questions/2499/


Utilizando o RMChart no E3.

Introdução

O ActiveX RMChart pode ser usado no E3 para visualização gráfica de dados. Além disso, é ideal para apresentar informações estatísticas, já que elas são carregadas no banco de dados e não é necessário mostrá-las em tempo real.


RMCDesigner

O RMCDesigner é um software que auxilia a criação e desenvolvimento de um arquivo modelo (extensão .rmc) que contém as configurações iniciais do gráfico. Embora seja possível criar esta estrutura totalmente via scripts, o RMCDesigner traz a vantagem de ter uma interface gráfica mais amigável, facilitando o trabalho e proporcionando a visualização instantânea dos efeitos aplicados.




Após a configuração do arquivo RMC, você terá um modelo de estrutura do gráfico que poderá ser utilizado em conjunto com o ActiveX no E3. Para isso, o RMCDesigner oferece uma ferramenta que fará a extração do código necessário. Essa ferramenta está acessível através do menu File – Get Source.




A linguagem utilizada nos scripts do E3 é VBScript. A opção de linguagem ASP do RMCDesigner possui sintaxe compatível com o VBScript. Dessa forma, iremos utilizar a configuração abaixo para extrair o código que desejamos.




Após clicar em Ok, o código será copiado para a Área de Transferência.


Integração do RMChart com o E3

No E3, insira um objeto RMChart em uma tela clicando com botão direito e selecionando a opção Inserir - RMChartX. No evento OnPreShow da tela, crie um pick Script e cole o código obtido no RMCDesigner.
Na figura abaixo, é mostrado o código gerado anteriormente com as respectivas propriedades configuradas. Como é possível ver, o comando With precisa que a variável RMChartX1 contenha um objeto RMChart.




Portanto, antes da linha With RMChartX1, insira a definição da variável recebendo o objeto RMChart que está na tela. Utilize o AppBrowser para localizá-lo. Além disso, execute o método Clear() para evitar que dados antigos sejam carregados no ActiveX quando a aplicação for executada ou enquanto estiver executando. Exemplo:


set RMChartX1 = Item("RMChartX1")
RMChartX1.Clear()

Agora, sempre que a tela for aberta, este script será executado definindo a configuração inicial do gráfico.


Carregando os dados no ActiveX

No RMChart, cada série (conjunto de dados) possui a propriedade Datastring, que contém os valores a serem desenhados. Esta propriedade exige que os valores estejam separados por asteriscos (“15*39*21*17”). Assim, se você possuir um gráfico de barras, cada valor representará uma barra. Seguindo nosso exemplo acima, teremos:




Vamos supor que desejamos apresentar nesse gráfico de barras a quantidade total de alarmes históricos por área. Para isso, precisamos criar uma consulta que retorne esta informação. Ao configurar uma consulta, vá à aba SQL e habilite a opção Habilita a edição direta do SQL. O seguinte código deve ser digitado:


SELECT Area, Count(ConditionActive) as TotalAlarmesAtivos
FROM Alarms
WHERE ConditionActive = 1
GROUP BY Area

Digamos que o resultado dessa consulta seja:

 Área

TotalAlarmesAtivos 

 AreaTanque1  590
 AreaTanque2  630
 AreaTanque3  740









Na tela que contém o objeto RMChart, colocaremos o seguinte script:



Como visto na imagem, é necessário criar uma variável que receba o objeto RMChart (nesse exemplo, o RMChartX1) e executar a consulta citada anteriormente utilizando o método GetADORecordset(). Dessa forma, o resultado da consulta será manipulado via script.

Um laço While será executado até o último registro do Recordset, concatenando os valores retornados de acordo com a sintaxe da propriedade DataString do RMChart (“590*630*740”). Por último, o método Draw() fará o desenho do gráfico.


Conclusão

Uma vez configurado o modelo e extraído o código através do RMCDesigner, a tarefa restante será inteiramente no E3, criando e configurando as consultas, e depois manipulando os seus resultados via Recordset. Assim, será montada a String de dados para ser passada para o objeto RMChart.

O RMChart é uma ótima ferramenta para visualizar gráficos estatísticos ou históricos. Com sua ferramenta de auxílio para criação do modelo, o trabalho se torna mais fácil e a aplicação fica mais atrativa para o usuário.

Obs.:
  • O RMCDesigner não é instalado juntamente ao E3. Este software e seus componentes podem ser encontrados para download na internet ou anexado neste artigo.
  • Em anexo, aplicação exemplo usando o RMChart desenvolvida com o E3 3.2 build 248.


Referências

- Guia de Referência do VBScript
- Guia do RMChart