Sistema-de-cat-logos-de-filmes-em-Delphi
Um sistema feito em Delphi que importa dados de um arquivo txt, exporta para um arquivo csv e salva no banco de dados e no sistema, crud e cadastro de filmes
- Active · last change 5-25-2026
- ★ 1 on GitHub
README
🎬 Sistema de Catálogo de Filmes
Aplicação desktop em Delphi com banco de dados SQL Server
Entrada via TXT · Saída via CSV · Interface visual em VCL
📋 Índice
- Sobre o Projeto
- Funcionalidades
- Arquitetura
- Pré-requisitos
- Instalação Passo a Passo
- Configuração da Conexão
- Como Usar
- Importar TXT
- Exportar CSV
- Estrutura do Projeto
- Solução de Problemas
🎯 Sobre o Projeto
Desafio: Catálogo de Filmes | Entrada:
.TXT| Saída:.CSV
Sistema desktop desenvolvido em Delphi (Object Pascal) para gerenciar um catálogo de filmes. Conecta-se a um banco SQL Server via FireDAC, permite cadastrar filmes manualmente, importar dados em massa por arquivo .txt com múltiplos formatos de delimitador, e exportar o catálogo completo para .csv com encoding UTF-8.
✨ Funcionalidades
| Funcionalidade | Descrição |
|---|---|
| 📋 Listagem | Grade com todos os filmes e ordenação por coluna |
| 🔍 Pesquisa dinâmica | Filtro em tempo real por qualquer campo |
| ➕ Cadastro | Formulário completo com validação de campos obrigatórios |
| ✏️ Edição | Carrega dados do registro selecionado para alteração |
| 🗑️ Exclusão | Remove com caixa de confirmação antes de apagar |
| 🚫 Anti-duplicidade | Impede filmes com mesmo título e diretor |
| 📥 Importar TXT | Lê arquivos com delimitadores |, ; ou , |
| 📤 Exportar CSV | Gera .csv em UTF-8 com todos os registros |
| 🔒 Proteção do grid | Bloqueia Ctrl+Del para evitar exclusões acidentais |
| ⚙️ Conexão configurável | Parâmetros lidos do config.ini (SQL ou Windows Auth) |
🏗️ Arquitetura
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??? INTERFACE (VCL) ???
??? ???????????????????????????????????????????????? ???????????????????????????????????????????????????????????? ???
??? ??? uCadFilme ??? ??? uDtmConexao ??? ???
??? ??? (FormView) ?????????????????? (DataModule) ??? ???
??? ???????????????????????????????????????????????? ???????????????????????????????????????????????????????????? ???
??? ??? ??? ???
??? ???????????????????????????????????????????????? ???????????????????????????????????????????????????????????? ???
??? ??? cCadFilme ??? ??? FireDAC ??? ???
??? ??? (TFilme) ??? ??? TFDConnection ??? ???
??? ??? CRUD/Rules ??? ??? TFDQuery ??? ???
??? ???????????????????????????????????????????????? ???????????????????????????????????????????????????????????? ???
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???
?????????????????????????????????????????????????????????????????????????????????
??? SQL SERVER ???
??? database: filmes ???
??? table: catalogo ???
?????????????????????????????????????????????????????????????????????????????????
[.TXT] ????????? Importar ????????? SQL Server ????????? Exportar ????????? [.CSV]🖥️ Pré-requisitos
Antes de começar, garanta que você tem instalado:
| # | Requisito | Versão mínima | Download |
|---|---|---|---|
| 1 | Windows | 10 ou 11 (64-bit) | — |
| 2 | Delphi RAD Studio | 10.3 Rio ou superior | embarcadero.com |
| 3 | SQL Server | 2016 ou superior | microsoft.com |
| 4 | SSMS (opcional) | Qualquer versão | Download SSMS |
| 5 | Git | Qualquer versão | git-scm.com |
💡 Não tem licença do Delphi? Baixe a versão gratuita Community Edition em embarcadero.com/products/delphi/starter
🚀 Instalação Passo a Passo
Passo 1 — Clonar o repositório
Abra o Prompt de Comando ou PowerShell e execute:
git clone https://github.com/BrunoPignatar/Sistema-de-cat-logos-de-filmes-em-Delphi.gitcd Sistema-de-cat-logos-de-filmes-em-DelphiPasso 2 — Instalar o SQL Server
- Baixe o SQL Server Developer (gratuito para desenvolvimento) em: 👉 https://www.microsoft.com/pt-br/sql-server/sql-server-downloads
- Execute o instalador e escolha "Básico" para instalação rápida
- Anote o nome do servidor exibido ao final da instalação
Exemplo:
MEUPC\SQLEXPRESSoulocalhost - (Opcional) Instale o SSMS para gerenciar o banco visualmente
Passo 3 — Habilitar autenticação SQL Server
Por padrão o SQL Server aceita apenas autenticação Windows. Para usar usuário e senha:
- Abra o SSMS e conecte-se ao servidor
- Clique com o botão direito no servidor → Propriedades
- Vá em Segurança → marque "SQL Server e Autenticação do Windows"
- Clique em OK e reinicie o serviço do SQL Server
⚙️ Configuração da Conexão (config.ini)
Passo 4 — Configurar o arquivo de conexão
Localize o arquivo Win32\Debug\config.ini dentro do projeto e edite com o Bloco de Notas:
[DB]
Server=NOME_DO_SEU_SERVIDOR\INSTANCIA
Database=master
User=sa
Password=sua_senha_aqui🔎 Como descobrir o nome do servidor? No SSMS, o nome aparece na tela de login. Exemplos comuns:
localhostMEUPC\SQLEXPRESS192.168.1.10\SQLSERVER
Para usar autenticação Windows (sem usuário/senha), configure assim:
[DB]
Server=NOME_DO_SERVIDOR
Database=filmes
Auth=WindowsPasso 5 — Abrir o projeto no Delphi
- Abra o Delphi RAD Studio
- Vá em File → Open → Project...
- Navegue até a pasta clonada e selecione
uFilmes.dproj - Aguarde o Delphi carregar todas as units
Passo 6 — Compilar e executar
No Delphi, pressione:
F9 ??? Compila e executa o projetoOu pelo menu: Run → Run
O executável compilado ficará em:
Win32\Debug\uFilmes.exe⚠️ Certifique-se de que o arquivo
config.iniestá na mesma pasta que ouFilmes.exe
📖 Como Usar
Tela Principal — Listagem
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??? ???? Cat??logo de Filmes ???
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???
??? [Novo] [Alterar] [Apagar] [Pesquisar: __________ ] ???
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??? C??digo ??? T??tulo ??? Diretor ??? G??n. ??? Ano ???
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??? 1 ??? Interestelar ??? C. Nolan ??? FC ??? 2014 ???
??? 2 ??? O Poderoso.. ??? F. Coppola ??? Dra ??? 1972 ???
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
[???? Importar TXT] [???? Exportar CSV] [Fechar]- Clique no cabeçalho de qualquer coluna para ordenar
- Use o campo Pesquisar para filtrar registros em tempo real
- Selecione um registro na grade antes de clicar em Alterar ou Apagar
Tela de Cadastro
Campos disponíveis:
| Campo | Obrigatório | Tipo |
|---|---|---|
| Título | ✅ Sim | Texto |
| Diretor | ✅ Sim | Texto |
| Gênero | ✅ Sim | Texto |
| Ano de Lançamento | ✅ Sim | Numérico (apenas números) |
| Sinopse | ✅ Sim | Texto longo |
📥 Importando Dados via TXT
O sistema aceita arquivos .txt com os seguintes formatos de delimitador:
| Delimitador | Exemplo |
|---|---|
Ponto e vírgula ; |
Título;Diretor;Gênero;Sinopse;Ano |
Pipe | |
Título|Diretor|Gênero|Sinopse|Ano |
Vírgula , |
Título,Diretor,Gênero,Sinopse,Ano |
Formato esperado do arquivo
Crie um arquivo .txt com UTF-8 e 5 colunas por linha:
Titulo;Diretor;Genero;Sinopse;AnoLancamento
Interestelar;Christopher Nolan;Fic????o Cient??fica;Astronautas viajam pelo universo em busca de um novo lar para a humanidade;2014
O Poderoso Chef??o;Francis Ford Coppola;Drama;A saga da fam??lia Corleone e o submundo do crime nos EUA;1972
Parasita;Bong Joon-ho;Suspense;Uma fam??lia pobre infiltra-se na vida de uma fam??lia rica com consequ??ncias inesperadas;2019Regras de importação
- ✅ Linhas de cabeçalho são detectadas e ignoradas automaticamente
- ✅ Marcadores no formato
[secao]são ignorados - ✅ Registros duplicados (mesmo título + diretor) são pulados
- ✅ Linhas em branco são ignoradas
- ❌ Linhas com menos de 5 campos são descartadas
- ❌ Campos vazios invalidam a linha inteira
Como importar
- Clique em 📥 Importar TXT na tela principal
- Selecione o arquivo
.txtno explorador de arquivos - Aguarde a mensagem de confirmação com o total de registros inseridos
📤 Exportando para CSV
Formato do arquivo gerado
CodFilme;Titulo;Diretor;Genero;AnoLancamento;Sinopse
1;Interestelar;Christopher Nolan;Ficção Científica;2014;Astronautas viajam...
2;O Poderoso Chefão;Francis Ford Coppola;Drama;1972;A saga da família...- Separador: ponto e vírgula (
;) - Codificação: UTF-8
- Nome padrão sugerido:
CatalogoFilmes.csv
Como exportar
- Clique em 📤 Exportar CSV na tela principal
- Escolha o local e nome do arquivo no explorador
- Clique em Salvar
⚠️ Se o arquivo CSV já estiver aberto no Excel ou outro programa, feche-o antes de exportar para evitar erro de escrita.
📁 Estrutura do Projeto
???? Sistema-de-cat-logos-de-filmes-em-Delphi/
???
????????? ???? Classes/
??? ????????? ???? cCadFilme.pas ??? Classe TFilme | Regras de neg??cio e CRUD
??? ????????? ???? uEnum.pas ??? Enumera????es: TEstadoDoCadastro
???
????????? ???? Controle/
??? ????????? ???? Catalogos.csv ??? Exemplo de arquivo CSV exportado
???
????????? ???? SQL/
??? ????????? ???? sqlFilmes.sql ??? Script de cria????o do banco e tabela
???
????????? ???? Win32/Debug/
??? ????????? ?????? config.ini ??? Configura????o da conex??o com o banco
??? ????????? ??????? uFilmes.exe ??? Execut??vel compilado
???
????????? ???? uCadFilme.pas ??? Formul??rio principal (TfrmCadFilme)
????????? ???? uCadFilme.dfm ??? Layout visual do formul??rio
????????? ???? uDtmConexao.pas ??? DataModule de conex??o FireDAC
????????? ???? uDtmConexao.dfm ??? Layout do DataModule
????????? ???? uFilmes.dpr ??? Arquivo de projeto Delphi
????????? ???? uFilmes.dproj ??? Arquivo de projeto RAD Studio
????????? ???? README.md🔧 Solução de Problemas
❌ "Arquivo config.ini não encontrado"
O config.ini precisa estar na mesma pasta do executável.
- Se executando pela IDE: coloque em
Win32\Debug\config.ini - Se executando o
.exediretamente: coloque na mesma pasta douFilmes.exe
❌ Erro de conexão com o banco de dados
- Verifique se o serviço do SQL Server está rodando:
- Abra
services.msc→ procure porSQL Server (...)→ Status deve ser Executando
- Abra
- Confirme o nome do servidor no
config.ini:- Abra o SSMS e veja o nome exato exibido na tela de conexão
- Verifique se a autenticação SQL Server está habilitada (Passo 3 deste guia)
- Teste a conexão diretamente no SSMS com as mesmas credenciais do
config.ini
❌ "Filme já cadastrado" ao importar
O sistema impede duplicatas com base na combinação Título + Diretor. Se o filme já existe no banco, ele é ignorado na importação — isso é o comportamento esperado.
❌ Erro ao exportar CSV ("fechar o arquivo já aberto")
O arquivo .csv de destino está aberto em outro programa (Excel, por exemplo). Feche o arquivo antes de exportar novamente.
❌ Registros não aparecem após importar TXT
Verifique se o arquivo .txt:
- Está salvo em UTF-8 (no Bloco de Notas: Salvar como → Codificação: UTF-8)
- Tem exatamente 5 colunas por linha
- Não tem campos vazios em nenhuma linha de dados
- Usa um dos delimitadores suportados:
;,|ou,
Feito com ❤️ por Bruno Pignatar

