Skip to content

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

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages