Introdução
O gerenciamento eficiente de portos é fundamental para garantir a agilidade nas operações logísticas e administrativas. Neste tutorial, iremos explorar como implementar um sistema de gerenciamento de portos utilizando o framework Harbour. Abordaremos toda a arquitetura do sistema, integrações necessárias com bancos de dados como MySQL, e o uso do Visual FoxPro para relatórios e visualizações. Utilizando o Harbour, você poderá criar um aplicativo robusto que atende às várias necessidades do setor portuário, com um foco em otimização de processos e controle de operações. Este artigo se destina a desenvolvedores que buscam melhorar suas habilidades em Harbour e aprender como aplicar esse conhecimento em um contexto administrativo específico.
Etapas
Configuração do Ambiente de Desenvolvimento
Primeiramente, é necessário ter o Harbour instalado em sua máquina. O Harbour pode ser baixado a partir do site oficial. Para a conexão com o MySQL, você precisará também da biblioteca ‘libmysql.dll’. Depois de instalar o Harbour, verifique se tudo está funcionando corretamente usando o terminal.
commands# Verificar instalação do Harbour
hbmk2 -versionCriação da Estrutura do Projeto
Crie uma estrutura básica de pastas para o seu projeto. A estrutura recomendada é a seguinte: /porto_app/src para o código-fonte, /porto_app/db para scripts do banco de dados, e /porto_app/reports para relatórios gerados pelo Visual FoxPro.
commands# Criar diretórios do projeto
mkdir porto_app/src
mkdir porto_app/db
mkdir porto_app/reportsConfiguração do Banco de Dados MySQL
Instale o MySQL em sua máquina, crie um banco de dados chamado ‘porto_db’ e uma tabela chamada ‘operacoes’ que irá armazenar as operações do porto. Utilize o seguinte script SQL para criar a tabela:
operacoes.sqlCREATE DATABASE porto_db; USE porto_db; CREATE TABLE operacoes ( id INT AUTO_INCREMENT PRIMARY KEY, descricao VARCHAR(255) NOT NULL, data DATETIME NOT NULL, status VARCHAR(50) NOT NULL );
Conexão com o Banco de Dados no Harbour
Para se conectar ao banco de dados MySQL, utilize o seguinte código no seu arquivo fonte principal. Este código deve ser colocado em `main.prg`, onde você vai iniciar a conexão com o banco de dados.
main.prgFUNCTION Main() LOCAL cConn cConn := 'DRIVER={MySQL ODBC 8.0 Driver};SERVER=localhost;DATABASE=porto_db;UID=root;PWD=senha;' hDb := SQLConnect(cConn) IF hDb ? 'Conectado ao banco de dados!' ELSE ? 'Erro na conexão!' RETURN END FUNCTION
Implementação da Lógica para Gravação de Operações
Agora, implemente a função para gravar uma nova operação no banco de dados. Use o seguinte código dentro do arquivo `main.prg`:
main.prgFUNCTION GravarOperacao(cDescricao, dData, cStatus) LOCAL cSql cSql := 'INSERT INTO operacoes (descricao, data, status) VALUES ("' + cDescricao + '", "' + Format(dData, 'YYYY-MM-DD HH:MM:SS') + '", "' + cStatus + '")' SQLExec(hDb, cSql) RETURN; END FUNCTION
Recuperação de Dados de Operações
Implemente uma função para recuperar todas as operações do banco de dados. Adicione o seguinte código em `main.prg`:
main.prgFUNCTION ListarOperacoes() LOCAL rResult rResult := SQLExec(hDb, 'SELECT * FROM operacoes') WHILE !EOF(rResult) ? rResult:descricao, rResult:data, rResult:status rResult := rResult + 1 ENDWHILE END FUNCTION
Geração de Relatórios com Visual FoxPro
Para gerar relatórios utilizando o Visual FoxPro, crie um script que conecte ao banco de dados MySQL e gere um relatório das operações. O seguinte código pode ser usado:
relatorio.prgSET HEADING OFF OPEN DATABASE porto_db =SQLCONNECT('localhost','root','senha') =SQLSELECT('SELECT * FROM operacoes') REPORT FORM operacoes.frx TO PRINTER
Teste da Aplicação
Execute o seu projeto para testar as funções de gravação, listagem e geração de relatórios. Certifique-se de que a conexão com o banco de dados está estabelecida corretamente e que os dados estão sendo gravados e recuperados sem problemas.
commands# Compilar e executar o projeto
hbmk2 main.prg
./main.exe
Conclusão
Neste tutorial, você aprendeu a implementar um sistema de gerenciamento de portos utilizando o framework Harbour. Passamos por diversas etapas, desde a configuração do ambiente, criação do banco de dados no MySQL, até a integração com o Visual FoxPro para geração de relatórios. Cada etapa foi projetada para otimizar as operações logísticas e administrativas respeitando a estrutura do Harbour. Com esse conhecimento, você está apto a desenvolver sistemas ainda mais complexos e adaptados para o gerenciamento eficaz de portos.