Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

seidesenvolver

Aulas ministradas no curso de introdução a programação com Delphi.

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

Curso de Desenvolvimento com Delphi e RAD Studio

Material de apoio, exemplos e exercícios para um curso introdutório e progressivo de desenvolvimento com Delphi e RAD Studio, com foco em lógica de programação, VCL, FireMonkey, banco de dados, orientação a objetos, REST, RAD Server e WebStencils.

Este repositório foi organizado como material white label. Ele pode ser reutilizado, adaptado e aplicado por instrutores, instituições, turmas de estudo ou profissionais que queiram estruturar uma trilha prática de aprendizagem. Cada pasta de aula representa uma etapa da evolução dos conteúdos, começando pelos fundamentos de algoritmo e chegando à construção de aplicações com interface, banco de dados, serviços REST e recursos web.

Sumário

Objetivo do curso

O curso tem como objetivo apresentar a programação de forma progressiva, partindo dos conceitos básicos de lógica até a criação de aplicações completas usando Delphi e RAD Studio.

Ao longo das aulas, os alunos praticam:

  • raciocínio lógico e construção de algoritmos;
  • entrada, processamento e saída de dados;
  • estruturas condicionais e laços de repetição;
  • criação de aplicações VCL e FMX;
  • organização de código em units, métodos e funções;
  • manipulação de formulários, componentes visuais e eventos;
  • acesso a banco de dados com FireDAC;
  • uso de DataModules, DataSources e DataSets;
  • desenvolvimento mobile com FireMonkey;
  • conceitos de orientação a objetos;
  • consumo e criação de APIs REST;
  • uso de RAD Server e WebStencils;
  • preparação e apresentação de um projeto final.

Estrutura do repositório

text
.
├── aulas/
│   ├── Aula01/
│   ├── Aula02/
│   ├── ...
│   └── Aula25/
├── material_apoio/
├── ApresentacaoCurso.pdf
├── ApresentacaoInstrutor.pdf
└── README.md

Pastas principais

Caminho Conteúdo
aulas/ Projetos, exemplos e exercícios separados por aula.
aulas/Commom/Classes/ Classes reutilizadas nos exemplos de orientação a objetos.
material_apoio/ PDFs e documentos complementares do curso.
ApresentacaoCurso.pdf Apresentação geral da proposta do curso.
ApresentacaoInstrutor.pdf Apresentação do instrutor.

Pré-requisitos

Para acompanhar os exemplos, recomenda-se ter:

  • RAD Studio ou Delphi instalado;
  • noções básicas de uso do Windows;
  • acesso ao GitHub para baixar ou clonar o repositório;
  • banco de dados local quando a aula exigir exemplos com FireDAC, InterBase ou SQLite;
  • em aulas mobile, ambiente Android configurado no RAD Studio.

Alguns exemplos utilizam recursos específicos do RAD Studio, como VCL, FireMonkey, FireDAC, LiveBindings, RAD Server e WebStencils. Dependendo da edição instalada, alguns componentes podem exigir configuração adicional.

Como estudar pelo repositório

  1. Leia o cronograma da aula correspondente.
  2. Abra a pasta da aula em aulas/AulaXX.
  3. Abra o projeto .dproj ou grupo .groupproj no RAD Studio.
  4. Execute o exemplo e observe o comportamento da aplicação.
  5. Leia os arquivos .pas, .dfm ou .fmx para entender a implementação.
  6. Refaça o exercício com pequenas alterações para fixar o conteúdo.

Para melhor aproveitamento, evite apenas copiar o código. Tente recriar partes dos exemplos, alterar nomes, mudar regras de negócio e testar novos fluxos.

Cronograma das aulas

Aula 01 - Apresentação e introdução

  • Apresentação do instrutor.
  • Apresentação do projeto do curso.
  • Visão geral do RAD Studio.
  • Conceito de RAD e IDE.
  • Apresentação dos alunos.
  • Organização da estrutura de diretórios.
  • Introdução ao CamelCase.
  • Conceito de algoritmo.
  • Dinâmica "Programando Humanos".
  • Exercícios com Blockly.

Aula 02 - Algoritmos e estruturas básicas

  • Entrada e saída de dados.
  • Fluxo de execução.
  • Estrutura top-down.
  • Variáveis.
  • Palavras reservadas.
  • Tipos de dados básicos.
  • Condicionais.
  • Laços de repetição.
  • Exercício da CNH.
  • Primeiros exemplos em console.

Aula 03 - IMC e laços de repetição

  • Revisão dos conceitos iniciais.
  • Calculadora de IMC em console.
  • Calculadora de IMC em VCL.
  • Exercícios com while, for e repeat.

Aula 04 - Operadores e RAD Studio

  • Diferenças entre laços de repetição.
  • Operadores de atribuição, aritméticos e comparativos.
  • Relação entre algoritmos e Delphi.
  • Tour pelo RAD Studio.
  • Menus, Project Manager, Object Inspector e Tool Palette.
  • Debug, Data Explorer, Multi Device Preview e Code Editor.

Aula 05 - Editor e criação dinâmica de formulários

  • Recursos do Code Editor.
  • Code Complete e Sync Edit.
  • Project Options.
  • Diretórios de saída.
  • Criação dinâmica de formulários.
  • Application.CreateForm.
  • TForm.Create.

Aula 06 - Units, métodos e funções

  • Units.
  • Tipos de dados.
  • Procedures e functions.
  • Criação de unit para operações aritméticas.
  • Soma, subtração, multiplicação e divisão.
  • Uso de imagens.
  • OpenPictureDialog.
  • Herança visual.

Aula 07 - Datas e componentes visuais

  • Manipulação de datas.
  • DateEdit no FMX.
  • DateTimePicker na VCL.
  • DayOfWeek.
  • Soma e diferença entre datas.
  • FormatDateTime.
  • Format.
  • Timer, CheckBox, ComboBox, RadioGroup e GroupBox.
  • MainMenu e ToolBar.

Aula 08 - Criptografia, caminhos e login

  • Laboratório de codificação.
  • Aplicação de encriptação e decriptação.
  • Uso de Succ e Pred.
  • Hashes MD5 e SHA.
  • Funções VCL para caminhos de arquivos.
  • System.IOUtils no FMX.
  • Simulação de tela de login.
  • Controle de janela modal.

Aula 09 - Abas, actions e estilos

  • Herança visual.
  • PageControl.
  • TabControl no FMX.
  • ActionList.
  • Ações padrão para navegação entre abas.
  • Custom Style no FMX.
  • SkiaAnimatedImage.
  • LottieFiles e Icons8.

Aula 10 - Resolução de exercícios

  • Revisão.
  • Resolução e melhoria do exercício de IMC.

Aula 11 - Introdução a banco de dados

  • Conceito de banco de dados.
  • SGBD.
  • Tabelas.
  • SQL.
  • Engines de acesso no Delphi.
  • DBX.
  • FireDAC.
  • Fields e valores.

Aula 12 - Banco de dados e relacionamento mestre-detalhe

  • Conexão com apontamento dinâmico.
  • Carregamento e salvamento de configuração.
  • Acesso a banco remoto.
  • Visual LiveBindings.
  • Relacionamento mestre-detalhe.
  • Manipulação de dados com Data Controls.
  • Eventos de DataSource.

Aula 13 - DataModule e eventos de dataset

  • Banco remoto.
  • Preenchimento de fields sem Data Controls.
  • Evento BeforePost.
  • Evento StateChange.
  • DataModule.
  • Evento OnCreate.
  • Ordem de criação no source code.

Aula 14 - Interface, imagens e navegação de dataset

  • Imagens na interface.
  • Uso de JPEG e PNG.
  • Acesso a dados sem Data Controls.
  • Simulação de DBNavigator.
  • Percorrer componentes em tela.
  • Typecast com is e as.
  • Eventos OnEnter e OnExit.
  • Cores.
  • Application Appearance, ícones e versionamento.

Aula 15 - Funções escolares e referências

  • Referências para estudo contínuo.
  • Exercício de média de notas dos quatro bimestres.
  • Separação das regras em unit específica.

Aula 16 - Banco de dados no FMX e Android

  • Acesso a dados com FireMonkey.
  • Projeto de dados locais.
  • Conexão dinâmica.
  • TPath.Combine.
  • TPath.GetDocumentsPath.
  • Diretivas de compilação.
  • LiveBindings.
  • Driver SQLite.
  • Permissões Android.
  • Project Options para Android.
  • Deployment.

Aula 17 - Layouts e navegação no FMX

  • TLayout.
  • FlowLayout.
  • GridPanelLayout.
  • Herança visual.
  • MultiView.
  • Frames.
  • ListView.
  • ListBox.

Aula 18 - ListView, FDMemTable e animações

  • ListViewItem.
  • ListViewItems.
  • BeginUpdate e EndUpdate.
  • FDMemTable.
  • Bind visual.
  • View Selector.
  • Arquivos FMX por plataforma.
  • Samsung Remote Labs.
  • Efeitos e animações FMX.

Aula 19 - Introdução à orientação a objetos

  • Contexto histórico do Object Pascal.
  • Conceitos de POO.
  • Abstração.
  • Herança.
  • Polimorfismo.
  • Encapsulamento.
  • Classe e objeto.
  • Unit e classe.
  • Classes amigas.
  • Estrutura de uma unit.
  • Primeiro exemplo de POO.

Aula 20 - Classes, atributos e métodos

  • Escopos de visibilidade.
  • Estrutura de uma classe.
  • Atributos.
  • Fields e properties.
  • Procedures e functions.
  • Constructors e destructors.
  • Diferença entre forms e units.
  • Refatoração da atividade anterior.

Aula 21 - Projeto com classes

  • Novo projeto usando classes.
  • Pessoa.
  • Cliente.
  • Conversa com profissional convidado.
  • Continuação do projeto proposto.

Aula 22 - Polimorfismo

  • Revisão.
  • Continuação do projeto.
  • Overload.
  • Override.
  • Sobrecarga.
  • Sobrescrita.
  • Exemplos em código.

Aula 23 - HTTP, REST e RAD Server

  • Conceitos HTTP.
  • Métodos GET, POST, PUT e DELETE.
  • Conceitos REST.
  • Resources.
  • Configuração inicial do RAD Server.
  • Criação de servidor com RAD Server.
  • Resource como DataModule.
  • REST Debugger.
  • REST Client.
  • Aplicação Client VCL.
  • RAD Server com banco de dados.

Aula 24 - REST com memória e servidor remoto

  • Servidor com FDMemTable.
  • Arquitetura REST.
  • EMSDataSetResource.
  • AllowedActions.
  • KeyField.
  • ResourceSuffix.
  • Servidor remoto.
  • REST Debugger com parâmetros.
  • Content Type.
  • Dados tabulares.
  • Copy Components.
  • Client VCL.

Aula 25 - Base64, imagens e WebStencils

  • Parâmetros em runtime no RESTRequest.
  • Class Helpers.
  • Conversão Base64 e imagem.
  • NetEncoding.
  • Introdução ao WebStencils.
  • HTML e XHTML com dados do Delphi.
  • RAD Server com WebStencils.
  • Visão de possibilidades para web.

Projeto final

Após a Aula 25, os alunos devem construir um projeto aplicando os conhecimentos desenvolvidos durante o curso e apresentá-lo em formato de pitch.

O projeto final deve demonstrar, sempre que possível:

  • organização do código;
  • uso de interface visual;
  • separação de responsabilidades;
  • manipulação de dados;
  • aplicação de conceitos de orientação a objetos;
  • comunicação com serviços ou banco de dados;
  • clareza na apresentação da proposta.

Material de apoio

Caderno de atividades

Apresentações

Apostilas e materiais complementares

Observações importantes

  • Este repositório é educacional. Alguns códigos priorizam clareza didática em vez de padrões usados em produção.
  • Algumas aulas podem conter caminhos locais, conexões de exemplo ou configurações específicas do ambiente usado em sala.
  • Em exemplos com banco de dados, confirme se as conexões FireDAC estão configuradas corretamente na sua máquina.
  • Em projetos mobile, verifique as permissões, SDKs e opções de deployment do RAD Studio.
  • Arquivos gerados pela IDE podem variar conforme a versão do RAD Studio utilizada.

Referências recomendadas