• No results found

Retningslinjer for saksbehandlingen

In document STOREMYR – FAGERBAKKEN (sider 46-52)

4. Forvaltning av Storemyr – Fagerbakken landskapsvernområde

4.6 Retningslinjer for saksbehandlingen

Como tarefa final, foi desenvolvido um programa que reúne algumas funções criadas durante todo o trabalho numa só aplicação. Para além daquilo que já tinha sido feito, este programa contém um módulo capaz de extrair dados de viagens de um ficheiro Cartrack e calcular os seus consumos.

O programa foi desenvolvido numa plataforma Excel com recurso à linguagem de programação Visual Basic for Application. Como o programa foi desenvolvido sobre o Excel, as funções que o VBA disponibilizava eram bastante limitadas para o ideal de programa que se pretendia, como tal, efetuou-se um largo uso de funções API (Application

Programming Interface) do Windows. Estas funções representam um conjunto de funções

cedidas pelo sistema operativo que permitem alargar os recursos acessíveis ao programa (Kath, 1992). Também, exteriormente ao Excel foi adicionado um DLL que permite gerir uma subclasse no programa. A linguagem VBA permite criar subclasses através das funções API, mas o seu uso torna o programa instável, como tal, utilizou-se um recurso externo, implementado no código e que permite fazer a gestão das mensagens do Windows, criando assim uma subclasse. Este recurso é indispensável para certas funções do programa que necessitavam de manipular mensagens do Windows.

Sendo o VBA uma linguagem por objetos, para facilitar a criação das barras de ferramentas que surgem no programa, foi criada uma classe que representava as barras de ferramenta e outra classe que representava os respetivos botões. Estas classes foram criadas com todas as funções e propriedades necessárias para a manipulação de uma barra de ferramentas, como tal foram inseridas todas as propriedades necessárias, tanto da barra em si como dos respetivos botões. Também foram criadas funções, como função de inserir botão, função para criar barra de ferramentas, função para descativar botão, entre outras, que possibilitam o total controlo da barra e seus botões. Estas classes fazem uso de um grande número de funções API, e também utilizam o recurso de subclasse para configurar as posições da barra de ferramentas e para identificar quando é ativado um botão da barra. A criação destas classes teve como objetivo, garantir uma criação mais rápida de todas as barras de ferramentas, dispensando múltiplas linhas de código para a mesma ação.

86 A janela principal é composta por outras janelas que lhe são hierarquicamente inferiores. A janela principal contém os menus principais e serve de apoio às outras janelas, esta janela contém a janela da área de trabalho e a janela da barra de ferramentas dos módulos. A janela da área de trabalho serve de suporte às janelas de trabalho. A janela da barra de ferramentas serve para alojar as barras de ferramentas respeitantes a cada módulo.

Para a criação de um ambiente que una um ideal de simplicidade e um ideal de agradabilidade, é removido das janelas, excetuando da janela principal, as áreas de não-

cliente, estas áreas correspondem ao espaço reservado aos contornos da janela e barra de

título. Para remover estas áreas são criadas secções em cada janela que limitam o desenho à área cliente de cada janela, por parte do sistema operativo.

Também, através da subclasse foi criado um limite mínimo para o tamanho da janela principal, de forma a ser possível, em qualquer tamanho, utilizar todas as funcionalidades do programa. Fazendo uso da subclasse foi também criada uma função que controla o posicionamento de cada janela em relação ao tamanho da janela principal, colocando todas as janelas ativas na posição correta e atribuindo os respetivos tamanhos relativamente à janela principal. Foi atribuído ao programa um estilo de janela que permite isolar a aplicação do Excel, assim, é possível minimizar a aplicação e acede-la na barra de tarefas.

Para uma utilização mais dinâmica do programa, foi criado um sistema de animação entre o aparecimento e desaparecimento de janelas. Como tal, com este sistema, o utilizador ao abrir uma nova janela, a janela anterior desaparece deslizando sobre a área de trabalho e a janela selecionada aparece também com a mesma animação. O algoritmo de animação baseia-se na modificação contínua da posição da janela, respeitando um intervalo de tempo específico entre as respetivas mudanças de posição, permitindo assim proporcionar o sentido de animação. Este sistema de animação foi possível através de funções API que permitem modificar a posição da janela e calcular o respetivo intervalo de tempo.

O programa criado divide-se em três grandes módulos, o módulo do ficheiro

Cartrack, o módulo do ficheiro GPX e o módulo da gestão de base de dados de viaturas.

No módulo do ficheiro Cartrack e no módulo do ficheiro GPX é possível importar o respetivo ficheiro e manipular os seus dados. O módulo de gestão de base de dados de viaturas serve para albergar e organizar todos os dados das viaturas.

87 Figura 7.1 – Ambiente Geral do Programa

O ambiente geral do programa apresenta-se como demonstra a figura 7.1. A área 1 representa a barra de ferramentas principal, nesta barra é possível escolher qual o módulo que o utilizador pretende trabalhar, podendo escolher entre o módulo do ficheiro Cartrack, módulo do ficheiro GPX e módulo de gestão da base de dados da viatura. Por fim, esta barra também dá acesso a um menu de configuração, onde é possível efetuar algumas configurações gerais. A área 2 apresenta as opções e funções para o módulo que esta aberto. A barra de ferramentas presente na área 2 altera-se conforme o módulo que é selecionado. A área 3 representa a área de trabalho, sendo a área onde aparece as janelas respeitantes a cada módulo.

7.2. Apresentação Detalhada das Funções do

In document STOREMYR – FAGERBAKKEN (sider 46-52)