Introdução
Neste tutorial, vamos explorar o legado do BASIC através da construção de aplicações modernas utilizando QBasic com o framework QB64. O QB64 é uma extensão poderosa do QBasic, que permite criar aplicações gráficas, com suporte a multithreading e acesso a recursos modernos de hardware. A ideia central deste guia é unir conceitos do desenvolvimento ágil, que prioriza a colaboração e a entrega contínua, com a simplicidade e a acessibilidade do QBasic. Ao final deste tutorial, você terá uma aplicação funcional e a compreensão dos passos necessários para utilizar o QB64, assim como princípios que permitem um desenvolvimento mais eficiente e organizado.
Etapas
Instalação do QB64
Primeiramente, faça o download do QB64 no site oficial (https://www.qb64.dev). A instalação é bem simples: extraia o arquivo ZIP para uma pasta de sua escolha. Em seguida, adicione o diretório do QB64 ao seu PATH do sistema para facilitar o uso pelo terminal.
commands# Para verificar se a instalação foi bem-sucedida, abra o terminal e digite:
QB64Criando o primeiro projeto
Abra o QB64 e crie um novo arquivo chamado ‘hello_world.bas’. Neste arquivo, vamos implementar um exemplo simples que imprime ‘Hello, World!’ na tela. Salve o arquivo em uma pasta de projeto específica. Este será o nosso ponto de partida.
hello_world.basPRINT "Hello, World!" END
Compilando e executando o programa
No QB64, use a opção de menu para compilar o programa e verificar se há erros. Em seguida, execute o programa. Você deverá ver a mensagem ‘Hello, World!’ na tela. Verifique se tudo está funcionando corretamente antes de prosseguir.
commands# Para compilar e executar, você pode usar as seguintes opções no menu:
F5 (Executar)
F1 (Compilar)Usando princípios ágeis: CRUD básico
Vamos explorar conceitos de CRUD (Create, Read, Update, Delete) em um contexto moderno. Crie um novo arquivo chamado ‘app.bas’ onde vamos implementar um sistema simples para gerenciar notas. Usaremos arrays para armazenar temporariamente as notas no nosso exemplo.
app.basDIM notas(10) AS STRING DIM total AS INTEGER SUB adicionarNota(nota AS STRING) IF total < 10 THEN notas(total) = nota total = total + 1 ELSE PRINT "Limite de notas atingido" END IF END SUB SUB listarNotas() FOR i = 0 TO total - 1 PRINT notas(i) NEXT END SUB ' Interação simples adicionarNota("Nota 1") adicionarNota("Nota 2") listarNotas() END
Implementando as funções CRUD
Continue a desenvolver as funções de Editar e Deletar notas. Faça ajustes no arquivo ‘app.bas’ para incluir essas funcionalidades. Utilize entradas do usuário para manipular as notas.
app.basSUB editarNota(indice AS INTEGER, novaNota AS STRING) IF indice >= 0 AND indice < total THEN notas(indice) = novaNota ELSE PRINT "Índice inválido" END IF END SUB SUB deletarNota(indice AS INTEGER) IF indice >= 0 AND indice < total THEN FOR i = indice TO total - 2 notas(i) = notas(i + 1) NEXT total = total - 1 ELSE PRINT "Índice inválido" END IF END SUB ' Exemplo de uso editarNota(0, "Nota Editada") deletarNota(1) listarNotas()
Testando a aplicação
Crie diferentes cenários de teste para sua aplicação. Uma boa prática é garantir que cada função de CRUD funciona como esperado. Use impressões para confirmar que o comportamento está correto ao adicionar, editar, e deletar notas.
app.bas' Testando as funcionalidades do CRUD adicionarNota("Teste") listarNotas() ' Editando editarNota(0, "Novo Teste") listarNotas() ' Deletando ' Deletar a nota adicionada
Adicionando um UI simples
Implemente uma interface de usuário simples utilizando a biblioteca gráfica do QB64. Crie um menu interativo para permitir que usuários escolham a operação a ser realizada com as notas.
app.basWHILE TRUE PRINT "1. Adicionar Nota" PRINT "2. Listar Notas" PRINT "3. Editar Nota" PRINT "4. Deletar Nota" PRINT "0. Sair" INPUT "Escolha uma opção: "; opcao IF opcao = 0 THEN EXIT WHILE ' Expor as funções correspondentes aqui WEND
Refatorando para um código mais limpo
Utilize princípios de refatoração para garantir que seu código esteja limpo e fácil de entender. Remova duplicações e implemente funções que encapsulam lógica repetitiva.
app.bas' Refatoração de um código exemplo SUB menu() ' Código do menu de interação END SUB
Otimizando a experiência do usuário
Considere adicionar mais recursos, como salvar as notas em um arquivo externo ou permitir que o usuário escolha opções através de um sistema de entradas mais amigável. A experiência do usuário é uma parte crucial das aplicações modernas.
app.bas' Esboço de salvamento em arquivo SUB salvarNotas() OPEN "notas.txt" FOR OUTPUT AS #1 FOR i = 0 TO total - 1 PRINT #1, notas(i) NEXT CLOSE #1 END SUB
Conclusão
Neste tutorial, exploramos como construir uma aplicação moderna com QBasic utilizando o QB64. Ao longo do processo, incorporamos práticas de desenvolvimento ágil, fundamentais para a criação de software de qualidade. Desde a configuração do ambiente até a implementação de funções CRUD e uma interface de usuário básica, você desenvolveu habilidades que podem ser facilmente aplicadas a projetos mais complexos. Essa abordagem não só revigorou o legado do BASIC, mas também proporcionou uma visão única sobre desenvolvimento de software contemporâneo.