Após a criação do banco de dados foi preparado o ambiente para o desenvolvimento primeiramente no Delphi com a instalação dos componentes de acesso a dados e gerenciador de relatórios.
Para o acesso a dados foi instalado o componente ZEOS Library visando manter compatibilidade no momento da exportação do código-fonte para o Lazarus, já que a ZEOS Library também possui uma versão para o Lazarus. O gerenciador de relatórios usado no Delphi foi o Quick Report devido a sua semelhança de interface com o Lazarus Report.
Antes de iniciar a codificação dos formulários foi desenvolvido primeiro a interface padrão de usuário do SUF. Inicialmente foi planejada uma tela na qual o usuário pudesse visualizar os registros, navegar por eles e aplicar filtros e outra tela onde os registros fossem cadastrados e alterados.
Seguindo essa linha foram criados dois formulários padrões. No formulário para as operações de visualização/recuperação dos registros foi colocado um grid para exibir todos os registros e uma barra de ferramentas para a manipulação dos mesmos, além de um filtro. No formulário de cadastrado e edição, foi inseridos um contêiner onde poderão ser colocados os campos nos formulários filhos e uma barra de ferramenta com opções para cancelar e salvar o registro que está sendo criado/alterado.
Com a interface já criada, deu-se início a escrita do código onde foi inserido rotinas genéricas para salvar, recuperar, criar e alterar os registros do banco de dados além de rotinas para tratamento de erros. Essas rotinas tem a finalidade de poupar tempo na construção dos formulários filhos, sendo que na maioria das vezes não será preciso escrever nenhum código, bastando apenas "montar" a interface e associar a fonte de dados.
O formulário principal foi desenvolvido levando em conta que este deveria gerenciar os demais formulários, criando, exibindo e desalocando da memória. Com isso foi colocado um menu contendo a referencia para cada formulário criado.
Com o formulário principal e os formulários padrões de manipulação de registro criados, deu se inicio a criação dos demais formulários de cadastrado de acordo com os casos de uso. O primeiro a ser desenvolvido foi o de cadastro de clientes para o qual foi criado um novo formulário herdado do formulário de visualização e um outro herdado do formulário de cadastrado/edição.
Na tela de visualização foi preciso apenas associar a fonte de dados ao a grid. No formulário de cadastrado/edição foi colocados os controles para cada campo já ligando-os a fonte de dados. Após esta etapa o formulário já estava funcional e foi adicionado ao menu na tela principal.
Os demais formulários: cadastro de projetos, fornecedores, departamento, rubrica, bancos, usuários, contas a pagar e contas a receber, seguiram o mesmo processo. Somente o formulário de cadastrado de "valores impostos" é que não herdou dos formulários padrões devido a sua interface ser diferente.
Ao término da criação dos formulários, foram cadastrados alguns registros no banco de dados para que houvesse dados para possibilitar o desenvolvimento dos relatórios. Foi construído dois relatórios para o sistema, com a interface padronizada, com um cabeçalho e descrição de cada campo. Depois de finalizado o desenvolvimento do SUF no Delphi, deu-se início a preparação do ambiente no Lazarus e ao desenvolvimento do SUF neste ambiente.
Figura 5 - Tela Principal do SUF no Delphi
Figura 6 - Tela Principal do SUF no Lazarus
Figura 7 - Relatório do SUF no Delphi
Figura 8 - Relatório do SUF no Lazarus
Figura 9 - Tela de cadastro do SUF no Delphi
Figura 10 - Tela de cadastro do SUF no Lazarus
Fonte: Autoria própria