Skip to content

A desktop system project created using Pascal and Firebird database. It applies as an initial CRUD study for using Lazarus and its forms syntax.

Notifications You must be signed in to change notification settings

fsdanniel/crud_pascal

Repository files navigation

CrudPessoas: Sistema de Gerenciamento de Cadastros em Pascal/Lazarus

O projeto CrudPessoas é uma aplicação desktop desenvolvida em Object Pascal através da IDE Lazarus, focada no gerenciamento de cadastros de pessoas e seus respectivos endereços[cite: 694, 702]. A ferramenta utiliza uma arquitetura baseada em banco de dados relacional e controle transacional manual para assegurar a integridade das informações.


Tecnologias e Dependências

  • Linguagem: Object Pascal (FPC).
  • IDE: Lazarus.
  • Banco de Dados: Firebird SQL.
  • Pacotes Requeridos: SQLDBLaz, LCL e FCL.
  • Conectividade: Utilização de componentes TIBConnection e TSQLTransaction para gerenciamento de sessões e transações.

Estrutura do Software

A aplicação está organizada em módulos distintos para separar a interface da lógica de persistência de dados:

  • uMain: Formulário principal contendo a listagem (Grid) e os controles de navegação do CRUD.
  • uDM (DataModule): Centraliza a conexão com o banco e define os datasets (SQLQueries) de Pessoas e Endereços.
  • uCadastro: Interface dedicada à inserção e edição dos dados pessoais, incluindo controles de validação.
  • uEndereco: Formulário para inclusão e edição de endereços vinculados ao registro mestre.

Funcionalidades Técnicas

1. Relacionamento Mestre-Detalhe

O sistema implementa um vínculo automático entre as tabelas de Pessoas e Endereços:

  • A filtragem de endereços ocorre via parâmetro no evento AfterScroll da query de pessoas.
  • A atribuição da chave estrangeira (ID_PESSOA) é automatizada no evento BeforePost da query de endereços.

2. Controle Transacional e Persistência

As operações de escrita seguem um fluxo rigoroso para evitar inconsistências no banco Firebird:

  • Inserção/Edição: Utiliza transações explícitas com os comandos StartTransaction, Commit e Rollback.
  • ApplyUpdates: As alterações em memória são enviadas ao servidor através do método ApplyUpdates, seguido pela confirmação da transação.
  • Auto-Incremento: O ID do novo registro é capturado manualmente via query (queryGetID) antes da inserção.

3. Validações de Interface

A aplicação realiza a verificação de campos obrigatórios e formatos antes de permitir a persistência:

  • Pessoas: Validação de preenchimento do campo Nome e verificação de extensão exata de 11 dígitos para o CPF.
  • Endereços: Obrigatoriedade de Logradouro e Cidade, além de restrição para siglas de Estado com 2 caracteres.

Configuração do Banco de Dados

O sistema está configurado para localizar o banco de dados de forma relativa ao executável:

  • O arquivo de dados deve estar em [pasta_do_exe]\db\DADOS.FDB.
  • A conexão é ajustada dinamicamente no evento OnCreate do DataModule.

Comandos de Inicialização (Lazarus)

Para preparar o ambiente e executar o projeto:

# 1. Certifique-se de que o Firebird está rodando no sistema
# 2. Abra o arquivo CrudPessoas.lpi no Lazarus
# 3. Compile e rode o projeto utilizando a tecla F9

About

A desktop system project created using Pascal and Firebird database. It applies as an initial CRUD study for using Lazarus and its forms syntax.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages