Desenvolvimento - Visual Fox Pro

Implementando a nova “Barras de Dados” do Excel 2007 no Grid do Microsoft Visual FoxPro

Nesta coluna irei apresentar uma classe que desenvolvi chamada Office_DataBars. A classe é para ser usada junto com o Grid do VFP. Essa classe cria as Barras de Dados para uma determinada coluna do Grid.

por Rodrigo Duarte Bruscain



Olá, o novo Excel 2007 que faz parte do Microsoft Office 2007 veio com dezenas de recursos novos, mas um dos recursos visuais que se destacam mais é a formatação condicional que é composta por três funcionalidades: Barras de Dados, Escalas de Cor e Conjuntos de Ícones. Esses recursos servem para apresentar os dados da coluna de forma dinâmica e visual.

Nesta coluna irei apresentar uma classe que desenvolvi chamada Office_DataBars. A classe é para ser usada junto com o Grid do VFP. Essa classe cria as Barras de Dados para uma determinada coluna do Grid. Não é necessário ter o Excel instalado, pois nenhum tipo de automação será necessária. Será necessária somente a gdiplus.dll e vale destacar que podemos utilizar esta classe nas versões 8 e 9 do VFP.

O detalhamento do código fonte da classe não vou apresentá-lo nesta coluna porque é extenso, vou apenas mostrar como utilizar a classe. No fim do artigo o código fonte completo da classe e dos exemplos estão disponibilizados para download.


Figura 1 – Formatação Condicional do novo Excel 2007

Para demonstrar o uso da classe Office_DataBars foram criados dois exemplos.
Veja abaixo:


Figura 2 – Exemplo 1 do uso da “Barras de Dados” no Excel 2007


Figura 3 – Exemplo 1 do uso da “Barras de Dados” no Grid do VFP

Quando um valor da coluna é alterado o tamanho da barra em degrade é redimensionado. O redimensionamento é feito com base no maior valor existente nas linhas da coluna. Quando o valor da maior coluna é alterado, todas as barras em degrade da coluna são redimensionadas.

Observando a figura 3, temos a 4a. linha do Grid com o maior valor que é 93,03. Na figura 4 abaixo alteramos esse valor para 200,00 vamos ver como ficou:


Figura 4 – Exemplo 1 do uso da “Barras de Dados” no Grid do VFP – Maior valor alterado

Veja abaixo mais um exemplo, este agora com 3 colunas com as Barras de Dados.


Figura 5 – Exemplo 2 do uso da “Barras de Dados” no Excel 2007


Figura 6 – Exemplo 2 do uso da “Barras de Dados” no Grid do VFP

Funcionamento

A classe adiciona a Barra de Dados para cada linha do Grid, ou seja, se o Grid tem 500 linhas serão incluídas 500 Barras de Dados. Dessa forma fica claro que um Grid com muitas linhas não é viável a utilização desse recurso pelo VFP, isso porque muitos objetos serão instanciados na coluna do Grid e isso pode causar lentidão na aplicação. Logicamente por se tratar de um recurso visual deve-se usá-lo em Grids com poucas linhas.

É necessário que o controle da coluna do Grid seja um campo Textbox. Este Textbox será substituído pelos controles da classe, então, qualquer código adicionado aos métodos do Textbox não funcionarão na classe. Para isso, esses métodos devem ser ajustados para trabalhar com a função BINDEVENT().

Vamos ver abaixo como adicionar as Barras de Dados no Grid do VFP.


Figura 7 – Configuração das Propriedades da classe Office_DataBars

FOL_Load()
Carrega as Barras de Dados para todas as linhas do Grid.

VOC_Symbol
Texto para ser apresentado junto ao valor da célula.
Ex: R$, KG, PC.

VOL_RightClickMenu
Abilita ou não menu em tempo de execução para interagir com as Barras de Dados. Se abilitada as opções definidas no menu serão salvas no arquivo FCVFP.XML na pasta TEMP do Windows. Essas opções serão carregadas automaticamente ao iniciar a classe.

VOL_ShowValue
Exibi ou não valor na célula, mas a Barra de Dados é visualizada.

VON_InitialColor
Cor inicial da cor da barra (degrade).

VON_FInalColor
Cor final da cord a barra (degrade).

Figura 8 – Configuração das Propriedades da classe Office_DataBars

Conclusão
Muito bem!
Nesta coluna minha intenção foi disponibilizar mais um recurso atual e inovador que pode ser implementado em aplicações desenvolvidas com VFP. Uma grande funcionalidade do Excel 2007 agora disponível para o VFP.

Clique aqui para fazer o download do exemplo

Visão geral do produto:
http://www.microsoft.com/brasil/msdn/produtos/visualfox/Visaogeral.mspx

Visite a comunidade de desenvolvedores VFP
http://msdn.microsoft.com/vfoxpro/

Até a próxima coluna.
Grande abraço!

Rodrigo Duarte Bruscain

Rodrigo Duarte Bruscain - Coordenador de Sistemas e Desenvolvimento de Projetos da Clone©, atua com desenvolvimento e customizações de aplicações ERP desenvolvidas em Microsoft Visual FoxPro há 10 anos. Membro ativo da comunidade FoxBrasil no yahoo groups. Foi Consultor Técnico da StarSoft© atendendo diversas empresas de pequeno, médio e grande porte em segmentos diferenciados. Atualmente dedica-se em soluções corporativas de acesso remoto desenvolvidas em VFP9 com MS-SQL Server e XML Web services interligando Brasil, China, Taiwan e Indonésia.