Disciplina: Linguagem de Programação e Desenvolvimento de Software I e II (Delphi).
Professor: Omero Francisco Bertol (omero@utfpr.edu.br).

Estudo de Casos (*.dpr)

Aplicações Desenvolvidas em Artigos DevMedia:
[ 1 ] Valor por extenso
[ 2 ] Validando o CPF
[ 3 ] Validando o CNPJ
[ 4 ] Criando e Gravando dados em TXT
[ 5 ] Lendo dados de TXT
[ 6 ] Criando, Gravando e Lendo dados de TXT
[ 7 ] Recibo de Pagamento: Integrando Delphi com Word
[ 8 ] Criação de Componentes em Tempo de Execução
[ 9 ] Trabalhando com Parâmetros no Rave Reports
[ A ] Data por extenso
[ B ] Calculando o troco
[ C ] Calculando o Índice de Massa Corporal (IMC)
[ D ] Hora por extenso
[ E ] Arrays Dinâmicos - Estudo de caso 1: Vetor e Matriz
[ F ] Arrays Dinâmicos - Estudo de caso 2: Controle de Notas Escolares
[ G ] Usando o Operador LIKE em Consultas SQL
1. A Biblioteca de componentes visuais (VCL- Visual Component Library).
1.1 Minha primeira aplicação.
1.2 Calcula a média do acadêmico (a).
1.3 Define o valor de uma data por extenso.
1.4 Calcula o gasto energético basal.
1.5 Verifica se um número é múltiplo de outro.
1.6 Seleciona cor, alinhamento e tamanho da fonte de um texto.
1.7 Tabuada de um número.
1.8 Fatorial de um número.
1.9 Diferença entre datas, definindo o tempo de vida em anos, meses e dias.
1.10 Construindo barra de ferramentas e barra de status.
1.11 Testando os componentes ListBox e ComboBox.
1.12 Tocando MP3 em aplicações Delphi.
1.13 Componente "TreeView" da página Win32.
1.14 Tipo TDateTime, implementando um cronômetro. 
2. Banco de Dados
2.1 Uma grade de países (DBDemos - country.db).
2.2 Navegando pela tabela animais (DBDemos - animals.db).
2.3 Seleciona uma tabela para ser exibida através do componente DBGrid.
2.4 Testando os métodos: first, prior, next, last, findkey e locate do componente Table.
2.5 Cadastro de professores / titulação (graduado, pós-graduado, mestrado, ...).
2.6 Um aplicativo com vários formulários: DBGrid, navegação e tabelas master/ detail (Abordagem I).
2.7 Cardápio de restaurante, abordando principalmente o relacionamento master/ detail.
2.8 Projeto Times / Jogadores, abordando principalmente o relacionamento master/ detail.
2.9 Controle Acadêmico, mostra como configurar a propriedade Sql de um componente Query em tempo de execução.
2.10 Formulários padrão para manutenção de cadastros e localização de registros- Abordagem I e II.
2.11 Software para gerenciar uma Loja de CD's, ênfase em relatórios (usando Abordagem I e II).
2.12 Aplicativo para controlar o Caixa de uma República de Estudantes, apresenta os resultados através de gráficos.
2.13 Componente Table: propriedade, métodos e eventos.
2.14 Métodos de pesquisa: Locate e Findkey, atualizando banco de dados (Abordagem II).
2.15 Comparando as formas para manipulação de dados (Abordagem I x Abordagem II).
2.16 Criando "alias", chaves secundárias e tabelas em tempo de execução.
2.17 Trabalhando o conceito de "integridade referencial".
2.18 Opções avançadas no DBGrid: zebrado, ordenação e exibindo campos gráficos.
2.19 Diferença entre datas, calculando os dias em atraso (considerando ou não considerando domingos e feriados).
3. Componente Query, SQL- Structured Query Language.
3.1 Construindo sentenças SQL- select * from Tabela order by Campo, em tempo de Execução (usando componentes BDE).
3.2 Construindo sentenças SQL- select * from Tabela order by Campo, em tempo de Execução (usando componentes ADO).
3.3 Construindo sentenças SQL- select * from Tabela order by Campo, em tempo de Execução (usando componentes Interbase).
4. Access e ADO (ActiveX Data Objects) no Delphi.
4.1 Acessando o Excel via ADO.
5. InterBase / Firebird.
5.1 Testando IBTable e IBQuery: métodos de pesquisa, relacionamento master/detail, sql estática e parametrizada.
5.2 Projeto Professores / Titulação com banco de dados InterBase.   
6. Componentes QuickReport na criação de relatórios simples e com agrupamentos.
6.1 Visualizador de arquivos QRP.
7. A Linguagem Pascal
7.1 Validação de CPF e CNPJ.
7.2 Constantes tipadas na definição de valores por extenso: unidades, dezenas, centenas e dia da semana.
7.3 Valor por extenso.
7.4 Lê informações gravadas em arquivo texto.
7.5 Grava informações em arquivo texto.
7.6 Sugestão para imprimir NF's a partir de arquivo texto.
7.7 Analisa os métodos de ordenação: bolha, seleção, inserção, heapsort, shellsort e quicksort.
8. Programação Orientada a Objetos
8.1 Classe baseada no tipo e nas operações realizadas com datas. Implementando algoritmos básicos.
8.2 Classe baseada no tipo e nas operações realizadas com datas (by Marco Cantù).
8.3 Classe baseada no tipo abstrato de dados Lista Encadeada (implementação com ponteiros).
8.4 Classe baseada no tipo abstrato de dados Pilha (implementação com ponteiros).
8.5 Cria dinamicamente infinitos shape's circulares.
8.6 Cria dinamicamente infinitos panel's (associa código ao evento OnClick do componente em tempo de execução).
8.7 Classe baseada nas operações com vetor: ordenação com o método de seleção e pesquisa binária.
8.8 Classe implementando operações com o componente Query.
8.9 Cria dinamicamente e configura o acesso, em tempo de execução, a uma tabela de países.
8.10 Cria Edit's dinamicamente conforme os campos de uma tabela.
8.11 PageControl: cria TabSheet's em Tempo de Execução.
8.12 Cria imagens dinamicamente conforme os registros da tabela BioLife.xml.
8.13 Cria Botões do tipo BitBtn conforme os registros da tabela Events.xml.
8.14 Classe que cria os formulários de dados dinamicamente.
9. Tratamento de Exceções (try except).
10. Componente Chart na elaboração de gráficos.
11. Programação para Internet.
11.1 Cria um arquivo HTML puro contendo a relação dos registros da tabela países.
11.2 Cria um arquivo HTML tipo tabela de dados.
11.3 Enviando correio eletrônico (e-mail).
12. Transforma arquivos texto, ou fontes, em arquivos no formato HTML.
12.1 Linguagem Pascal (*.pas).
12.2 Linguagem C (*.cpp).
12.3 Linguagem Java (*.java).
13. Sistema hipotético com senha, configuração do perfil do usuário e formulário splash.
14. Integrando aplicações Delphi com aplicativos como MS Word e MS Excel, utilizando automação OLE.
Editada pela última vez em 01-Nov-2017.