Mostrando postagens com marcador lazarus. Mostrar todas as postagens
Mostrando postagens com marcador lazarus. Mostrar todas as postagens

SQLite Playground com Lazarus: construindo um sistema do zero na prática

Se você programa com Lazarus e quer aprender a trabalhar com banco de dados de forma prática, preparei um conteúdo que pode te interessar bastante: um SQLite Playground junto com uma série de vídeos no canal Programming Drops, onde estou construindo um sistema do zero usando Lazarus + SQLite.


A proposta dessa série é sair um pouco da teoria e mostrar, na prática, como podemos desenvolver uma aplicação desktop completa, organizada e funcional, utilizando ferramentas leves, gratuitas e muito poderosas.

Por que usar SQLite com Lazarus?

O SQLite é uma excelente opção para vários tipos de projeto, principalmente quando queremos:

  • simplicidade na configuração
  • banco de dados embutido no próprio projeto
  • portabilidade
  • bom desempenho para aplicações desktop;
  • facilidade de distribuição.

Quando combinamos isso com o Lazarus, temos uma stack muito interessante para criar sistemas locais, utilitários, cadastros, ferramentas administrativas e até projetos maiores, dependendo da necessidade.

Uma das grandes vantagens do SQLite é que ele não exige um servidor de banco de dados rodando separadamente. Em muitos casos, tudo fica concentrado em um único arquivo, o que torna o desenvolvimento, os testes e a distribuição muito mais simples.


O que é o SQLite Playground?

O SQLite Playground é a ideia de criar um ambiente de experimentação e aprendizado, onde podemos testar consultas, estruturar tabelas, validar regras de negócio e entender melhor como o SQLite se comporta dentro de uma aplicação feita em Lazarus.

Mais do que apenas conectar ao banco, o objetivo é usar esse playground como base para construir um sistema real, passo a passo.

Ou seja: em vez de apenas mostrar exemplos isolados de SQL ou componentes visuais, a proposta é evoluir um projeto completo, abordando desde a estrutura inicial até recursos práticos de uso no dia a dia.


O que você vai encontrar na série

Na série publicada no canal Programming Drops, estou mostrando o desenvolvimento do sistema de forma progressiva, o que facilita bastante o acompanhamento, principalmente para quem está aprendendo ou quer organizar melhor seus projetos.

Entre os pontos trabalhados ao longo dos vídeos, estão:

  • criação da base do projeto no Lazarus
  • integração com SQLite
  • modelagem inicial do banco de dados
  • criação de telas e formulários
  • operações de cadastro, consulta, edição e exclusão
  • organização do código
  • boas práticas para evoluir o sistema com mais segurança.

A ideia é que você possa acompanhar cada etapa e, ao mesmo tempo, adaptar os conceitos ao seu próprio projeto.


Aprendizado prático faz diferença

Uma das melhores formas de aprender banco de dados e desenvolvimento desktop é justamente construindo algo real. Quando colocamos a mão no código, surgem dúvidas importantes sobre estrutura, persistência de dados, organização de telas e manutenção do sistema.

É nesse ponto que a prática faz toda a diferença.

Ao desenvolver um sistema do zero com Lazarus + SQLite, fica muito mais fácil entender como as peças se conectam: interface, regras de negócio e banco de dados trabalhando em conjunto.


Para quem essa série é indicada?

Esse conteúdo pode ser útil para:

  • quem está começando com Lazarus;
  • quem quer aprender SQLite de forma aplicada;
  • quem já usa Delphi/Object Pascal e quer explorar soluções leves;
  • quem deseja construir sistemas desktop sem depender de infraestrutura complexa;
  • quem gosta de aprender acompanhando projetos reais.

Se você já trabalha com Pascal, Delphi ou Lazarus, essa série pode servir tanto como aprendizado quanto como inspiração para seus próprios projetos.


Acompanhe a série no canal

Se você quiser ver a construção desse sistema na prática, acompanhe os vídeos no canal Programming Drops no YouTube.


Curso de Pascal Grátis em Vídeo

Sim! É isso mesmo: um novo curso de Pascal em vídeo, totalmente gratuito, disponível em pleno 2025! 🚀

Se você tem dificuldade de encontrar material recente e de qualidade sobre a linguagem Pascal, esta é a oportunidade perfeita para começar.

Nesta primeira aula, vamos conhecer a linguagem, o ambiente de desenvolvimento e entender quais recursos básicos vamos utilizar para criar uma base sólida no aprendizado. O objetivo é conduzir você, passo a passo, ao domínio dessa linguagem fantástica que tanto amamos.

Além de apresentar os conceitos fundamentais, todos os exemplos serão desenvolvidos ao vivo, de forma interativa. Isso significa que você vai acompanhar o processo real de escrita de código, incluindo erros e como corrigi-los — exatamente como acontece na vida de um programador.

🎯 O que você vai aprender nesta aula

  1. O que é a linguagem Pascal e para que ela é utilizada.

  2. Como configurar o ambiente de desenvolvimento.

  3. Estrutura básica de um programa em Pascal.

  4. Como compilar e executar seu primeiro programa.

  5. Boas práticas para começar no mundo da programação.


📺 Assista à Aula 1


Próxima aula: veremos Variáveis e Estruturas Condicionais, para criar programas interativos e inteligentes.

📂 Recursos

📜 Código Fonte: https://github.com/Programming-Drops/pascal-course

Criando um Game Completo - Parte 7


Bem vindo à sétima parte do nosso mini curso Criando um Game Completo, onde criamos uma versão do clássico Space Invaders compatível com Windows e Linux, utilizando aceleração de hardware para gráficos 2D, suporte a joysticks e uma tabela de scores online! Tudo isto compilando em Delphi e Lazarus.

Neste post iremos criar o menu inicial do game, definir a lógica de transição entre as telas e realizar os ajustes necessários na tela de gameplay para que o jogador possa voltar à tela inicial.

Criando um Game Completo - Parte 6.1

Bem vindo à parte 6.1 do nosso mini curso Criando um Game Completo, onde criamos uma versão do clássico Space Invaders compatível com Windows e Linux, utilizando aceleração de hardware para gráficos 2D, suporte a joysticks e uma tabela de scores online! Tudo isto compilando em Delphi e Lazarus.

Neste post, vamos complementar as melhorias introduzidas no texto anterior e criar um efeito de estrelas para deixar o plano de fundo do jogo mais interessante. A imagem ao lado mostra como ficará o visual das animações na cena do gameplay no final do processo.

Criando um Game Completo - Parte 6

Bem vindo à sexta parte do nosso mini curso Criando um Game Completo, onde criamos uma versão do clássico Space Invaders compatível com Windows e Linux, utilizando aceleração de hardware para gráficos 2D, suporte a joysticks e uma tabela de scores online! Tudo isto compilando em Delphi e Lazarus.

Já faz um tempo desde o último artigo da série, um ano, para ser exato e eu gostaria de começar pedindo desculpas por esta ausência tão longa. Estive envolvido com vários projetos simultâneos nestes últimos 12 meses, ministrando muitas aulas e trabalhando com sistemas embarcados, o que foi muito enriquecedor mas acabou me afastando um pouco aqui do blog. Mea culpa, mea culpa...

Bom, explicações dadas, vamos ao que interessa: nosso game!

Criando um Game Completo - Parte 5

Sequencia de introdução do game
Bem vindo à quinta parte do nosso mini curso Criando um Game Completo, onde criamos uma versão do clássico Space Invaders compatível com Windows e Linux, utilizando aceleração de hardware para gráficos 2D, suporte a joysticks e uma tabela de scores online!

No último artigo completamos uma versão jogável do game. Os sons, as animações o tratamento de colisões, tudo o que planejamos foi implementado com sucesso. Mas ainda falta muita coisa para o game estar, de fato, completo.

A imensa maioria do código que escrevemos está contido dentro de uma única classe: TGame. Isto vinha funcionando bem, mas conforme o game cresce, fica evidente que as classes estão acumulando responsabilidades demais. Com a necessidade de criar outras telas, é preciso isolar algumas tarefas e criar objetos mais genéricos para que possamos reutilizá-los em outras partes.

Neste post, vamos fazer uma grande refatoração no código e criar nosso próprio motor, de modo que sejamos capaz de realizar tudo o que TGame faz atualmente e começar a esconder alguns detalhes de nível mais baixo do SDL. Vamos caminhar rumo a um modelo de programação menos procedural e mais orientado a eventos, um conceito bem familiar para quem está acostumado a bibliotecas como VCL e LCL.

Espero que apreciem.

Abraços!

Criando um Game Completo - Parte 4

Game rodando em debug no Lázarus
Bem vindo à quarta parte do nosso mini-curso Criando um Game Completo, onde criamos uma versão do clássico Space Invaders compatível com Windows e Linux, utilizando aceleração de hardware para gráficos 2D, suporte a joystics e uma tabela de scores online!

No último artigo, o projeto começou a tomar uma cara de game. Criamos o código que distribui os inimigos na tela, incluímos o tratamento de colisões entre os tiros do jogador e os alienígenas e demos os primeiros passos na construção da interface do usuário.

Vamos seguir nossa jornada adicionando algumas animações extras, fazendo os inimigos se movimentar e atirar, ampliar a lógica de colisões para detectar os danos sofridos pelo jogador e adicionar vários efeitos sonoros.

No final, como bônus, vamos adicionar a capacidade de alternar entre os modos de tela cheia e exibição em janela. Acompanhe o código no GitHub ou faça o download nos links no final do texto e, mais uma vez, mãos à obra!

Criando um Game Completo - Parte 3

Inimigos, pontuação e colisões!
Bem vindo à terceira parte do nosso mini-curso Criando um Game Completo, onde criamos uma versão do clássico Space Invaders compatível com Windows e Linux, utilizando aceleração de hardware para gráficos 2D, suporte a joystics e uma tabela de scores online!

No último artigo, preparamos as fundações e demos os primeiros passos na construção do game. Agora, com as bases prontas, vamos começar a nos concentrar no conteúdo - imagens, animações e interação entre os objetos do jogo e a interface do usuário.

Este post será maior que os outros dois, construiremos objetos mais complexos e resolveremos alguns problemas mais difíceis portanto, é aconselhável baixar o código-fonte e ir acompanhando as explicações utilizando-o como referência. Caso não queira fazer o download, você também pode ver o código no repositório do GitHub.

Abraços, e mão à obra!

Criando um Game Completo - Parte 2

Modelo do controle usado para os testes
Bem vindo à segunda parte do nosso mini-curso Criando um Game Completo, onde criamos uma versão do clássico Space Invaders compatível com Windows e Linux, utilizando aceleração de hardware para gráficos 2D, suporte a joystics e uma tabela de scores online!

No último artigo, criamos uma classe para encapsular a lógica do game, carregamos algumas imagens para a memória e exibimos o primeiro inimigo na tela.  Seguiremos, agora, com a animação dos sprites e a movimentação do jogador através do teclado ou do joystick.

Vamos lá!

Criando um Game Completo - Parte 1

Você não precisa ver toda a escada,
simplesmente dê o primeiro passo!
Bem vindo à primeira parte do nosso mini-curso Criando um Game Completo, onde iremos criar, do zero, uma versão do clássico Space Invaders compatível com Windows e Linux, utilizando aceleração de hardware para gráficos 2D, suporte a joysticks e uma tabela de scores online!

O jogo é propositalmente simples para que o leitor com pouca experiência na linguagem Pascal e no desenvolvimento de games possa acompanhar o texto e o código o início ao fim. Iremos utilizar uma abordagem mista de programação estruturada e orientada a objetos já que precisaremos interfacear com algumas bibliotecas de baixo nível, mas sempre buscaremos manter o código simples, comentando e explicando cada bloco que surgir.

O curso está divido em nove partes, com cada uma delas sendo publicada semanalmente aqui no blog. Dúvidas, críticas e sugestões poderão ser postadas livremente nos comentários.

Espero que apreciem.

Criando um Game Completo - Parte 0

Nesta série de artigos, divida em 9 partes, vamos partir do zero e criar uma versão do clássico Space Invaders compatível com Windows e Linux, utilizando aceleração de hardware para gráficos 2d, suporte a joystick e uma tabela de high scores online.

O jogo é propositalmente simples para que o leitor com pouca experiência na linguagem e no desenvolvimento de games possa acompanhar o texto e o código o início ao fim.

Ao final de cada etapa, como de costume, estarão disponíveis para download tanto o código fonte como o executável equivalente.

Espero que apreciem.

Animando o Console - Efeito Matrix Parte II

Saída da 2ª animação em modo texto. Bem mais interessante.
No último post criamos um pequeno programa que imprimia zeros e uns em posições aleatórias da tela, criando um efeito muito simples, mas nada parecido com o efeito do console do matrix que estamos querendo escrever.

O objetivo deste primeiro programa era se familiarizar com as funções da API do windows e começar a conhecer o ambiente e suas limitações.

O leitor mais atento poderá ter percebido, entretanto, vários problemas com o programa escrito. O primeiro deles é que não estamos realmente gerando os quadros (frames) de uma animação, estamos simplesmente jogando caracteres na tela da maneira mais displiscente e ineficiente se pode imaginar.

Animando o Console - Efeito Matrix

Saída da 1ª animação em modo texto. Bem vindo à Matrix! :)
Depois de ver o vídeo Armaggedon na postagem anterior, fiquei nostálgico e resolvi brincar um pouco com o console na tentativa de gerar algo graficamente interessante.

E por que alguém faria isto em pleno ano de 2014 com tantas opções e tantas tecnologias capazes de renderizar imagens super realistas em hardwares comuns e baratos? - eu até posso ouvir você perguntando.

Pelo prazer e pelo desafio, ora bolas! Sinceramente, precisa de mais que isto?

Então vamos começar nos familiarizando com o console dentro do Windows. Segundo a documentação da Microsoft

Consoles gerenciam inputs e outpus (I/O) para aplicações em modo caractere (aplicações que não providenciam sua própria interface gráfica).

A Magnetic Adventure
Um game de física escrito no Lazarus



O jogo A Magnetic Adventure não é exatamente novo (seu release aconteceu em outubro de 2010), mas hoje, num fórum de OpenGL, eu tive a grata surpresa de descobrir que ele foi escrito inteiramente em pascal.

Para ser mais exato, ele foi feito usando o Lazarus para a programação, GLScene para os gráficos e os bindings do Box2D para calcular a física. E a física é o ponto alto do jogo.

O jogador controla um ímã para interagir com as partes metálicas de curiosos mecanismos que guardam "totens" que o personagem precisa alcançar para concluir cada um dos 50 níveis disponíveis.