70
Desenvolvimento de Aplicações Desktop Hildeberto Melo 2008-2

Desenvolvimento Delphi

Embed Size (px)

Citation preview

Page 1: Desenvolvimento Delphi

Desenvolvimentode

Aplicações Desktop

Hildeberto Melo

2008-2

Page 2: Desenvolvimento Delphi

Competências da Disciplina

Conhecer os recursos do sistema operacional que viabilizam instalação, adequação, otimização, e desinstalação de aplicações.

Identificar eficientemente os componentes de interface gráfica para o desenvolvimento da camada de usuários.

Identificar os componentes de acesso a bancos de dados, aplicando as técnicas apropriadas para a implementação de aplicações cliente-servidor.

Identificar os componentes e utilitários para consulta e impressão de relatórios em aplicações cliente-servidor

Page 3: Desenvolvimento Delphi

Habilidades

Especificar e habilitar os requisitos do sistema operacional, necessários para implantação da aplicação desenvolvida.

Utilizar os componentes para requisições de entradas do usuário e realizar criticas de validação.

Desenvolver aplicações que estabeleçam conexões com o banco de dados, implementem controle de transações concorrentes e manipulação de dados a partir de SQL.

Elaborar consultas e relatórios, utilizando-se dos componentes de geração de relatórios.

Page 4: Desenvolvimento Delphi

Ementa

Interface do ambiente de programação; Aspectos do ambiente; Elementos da linguagem de programação; Trabalhando com formulários; Manipulação de datas; Controles básicos da VCL e visualCLX; Controles avançados da VCL; Aplicação usando banco de dados; Operações básicas usando componentes de acesso a banco de dados; Parâmetro self; Componente para impressão de relatórios; Técnicas avançadas de programação orientada a objeto; Programação cliente/servidor; Programação concorrente; Controle de exceção; Bibliotecas e pacotes.

Page 5: Desenvolvimento Delphi

Critérios de Avaliação

Pontualidade Assiduidade Comportamento Interesse Participação em sala de aula Trabalho em grupo

Page 6: Desenvolvimento Delphi

Regras de convivência

Não fumar Não consumir alimentos ou bebida Evitar conversas paralelas Celulares desligados ou em modo silencioso Respeitar os colegas e professor Zelar pelas instalações e materiais das salas de aula Desligar os computares ao acabar a aula Utilizar a internet para assuntos relacionados a aula,

evitando jogar, sites de relacionamentos, verificando emails pessoais, etc…

Page 7: Desenvolvimento Delphi

Material do aluno

O aluno deverá trazer:– Dispositivo de armazenamento, se possível

PenDrive– Caneta, lápis e borracha– Caderno para anotações

Page 8: Desenvolvimento Delphi

Avaliações

Listas de exercícios individuais Listas de exercícios em grupo Seminários/Apresentações Provas Projetos

Page 9: Desenvolvimento Delphi

Delphi

Revisão– Introdução– Criando projetos– Componentes

Identificar as propriedades e eventos

– Qualidade do código fonte– Mensagens– Validação de formulários

Page 10: Desenvolvimento Delphi

Exercícios

Criar um formulário de cadastro com os seguintes campos:– Nome, endereço, número, complemento, bairro, cidade, uf, país,

data de nascimento, cpf, rg, filiação.– Agrupar as informações por características– Todos os campos são obrigatórios, portanto validar os mesmos.– Exibir mensagem com as informações do formulário, cada campo

deverá ser exibido em uma linha da mensagem.– Utilizar fontes e cores que facilitem o preenchimento das

informações pelo usuário. O exércicio é individual e deverá sem entregue na próxima

aula.

Page 11: Desenvolvimento Delphi

Conexão Com Banco de Dados

Page 12: Desenvolvimento Delphi

Criando Uma Conexão ODBC

Vá em:1. Iniciar do Windows

2. Configurações

3. Painel de Controle

4. Ferramentas Administrativas

5. Fontes de Dados ODBC

Page 13: Desenvolvimento Delphi

Criando Uma Conexão ODBC

Para adicionar uma nova fonte clique no botão Adcionar

Page 14: Desenvolvimento Delphi

Access

Aparecerá esta tela com os drives disponíveis para conexão Vamos escolher o Driver do Microsoft Access (*.mdb) e clicar em concluir

Page 15: Desenvolvimento Delphi

Access

Informar o nome da fonte de dados, ex: CTD2008 Selecionar o Banco de Dados, clicando no botão selecionar

Page 16: Desenvolvimento Delphi

Access

Informe onde está o arquivo do banco Depois confirme clicando no ok

Page 17: Desenvolvimento Delphi

SQL Server

Aparecerá esta tela com os drives disponíveis para conexão Vamos escolher o Driver do SQL Server e clicar em concluir

Page 18: Desenvolvimento Delphi

SQL Server

Informar o nome do alias Escolher o servidor no qual deseja se conectar

Page 19: Desenvolvimento Delphi

SQL Server

Após informado os dados clicar em avançar.

Page 20: Desenvolvimento Delphi

SQL Server

Caso não haja um usuário definido no banco de dados escolher a opção Com autenticação do windows, caso contrário escolha a opção com autenticação do SQL Serve, nesse caso deverá ser informado o login e senha.

Clicar em avançar.

Page 21: Desenvolvimento Delphi

SQL Server

Escolher o banco de dados no qual deseja se conectar. Clicar em avançar.

Page 22: Desenvolvimento Delphi

SQL Server

Aparecerá esta tela com opções de mudança de idioma e outras informações, não há necessidade de alterar as opções.

Clicar em concluir.

Page 23: Desenvolvimento Delphi

SQL Server

Aparecerá esta tela com as informações da conexão Clique no botão testar conexão pra verificar se está conectando com sucesso.

Page 24: Desenvolvimento Delphi

SQL Server

Aparecerá esta tela com o resultado do teste. Após estas etapas, basta ir clicando nos botões de OK/Confirmar e está

concluída a etapa de criação da conexão.

Page 25: Desenvolvimento Delphi

No Delphi

Abrir o Delphi e Iniciar um nova aplicação

Page 26: Desenvolvimento Delphi

No Delphi

Adcionar um DataModule ao projeto

Page 27: Desenvolvimento Delphi

No Delphi

Page 28: Desenvolvimento Delphi

Paleta BDE

Table

DataBase

Page 29: Desenvolvimento Delphi

No DataModule

Adcionar o componente DataBase

Informar o Alias criado anteriormente

Informar o nome do componente

Page 30: Desenvolvimento Delphi

Propriedades do DataBase

Colocar a opçãoLoginPropt para True

Colocar a opçãoConnected para True

Page 31: Desenvolvimento Delphi

Table

Adcionar um TableNo DataModule

Page 32: Desenvolvimento Delphi

Table

Informar o DataBaseName Informar a

TableName

Ativar a Table

Page 33: Desenvolvimento Delphi

Adcionando os Campos a Table

1. Dar um duplo clique no componente Table1 do DataModule2. Irá aparecer uma caixa, onde clicaremos com botão direito

do mouse nesta caixa3. Escolheremos a opção “Add All Fields”

1

23

Page 34: Desenvolvimento Delphi

DataSource

Page 35: Desenvolvimento Delphi

DataSource

1. Colocar um DataSource no DataModule

2. Escolher a tabela a qual irá se vincular

1 2

Page 36: Desenvolvimento Delphi

Paleta DataControls

DBGrid

DBNavigator

DBText

DBEdit

Page 37: Desenvolvimento Delphi

Form Principal

1. Colocar os Componentes DBGrid e DBNavigator

2. Fazer com que o Form Principal use o DataModule

1

2

Page 38: Desenvolvimento Delphi

Form Principal

Vincular a propriedade DataSource do DBNavigator e DBGrid ao DataSource1

Page 39: Desenvolvimento Delphi

Ir no Object Inspector do Form Principal e escolher a aba de eventos, o evento OnCreate

Page 40: Desenvolvimento Delphi

Form Principal

Colocar os seguintes comandos abaixo, no evento OnCreate do Form Principal, para ativar a conexão com o banco de dados e ativar a tabela.

Page 41: Desenvolvimento Delphi

Ir no Object Inspector do Form Principal e escolher a aba de eventos, o OnDestroy

Page 42: Desenvolvimento Delphi

Form Principal

Colocar os seguintes comandos abaixo, no evento OnDestroy do Form Principal, para fechar a conexão.

Page 43: Desenvolvimento Delphi

Propriedades do Projeto

1. Ir no Menu Project -> options

2. Colocar a criação do datamodule como o primeiro

Page 44: Desenvolvimento Delphi

Rodar a Aplicação

Resultado

Page 45: Desenvolvimento Delphi

Aula 28-02-2008

Componente TTable– Locate– Filter

Page 46: Desenvolvimento Delphi

Localizando Registros

Para localizar registros você pode usar vários métodos, mas o melhor deles é o Locate, no exemplo abaixo é feita uma pesquisa exata.

– if not DtmCli.Tbl.Locate('CodCli', Edt.Text, []) then   ShowMessage('Cliente não encontrado.'); Você também pode fazer uma pesquisa parcial e/ou sem sensitividade de caso usando o terceiro

parâmetro, que é um conjunto de opções.– DtmCli.Tbl.Locate('Nome', Edt.Text, [loPartialKey, loCaseInsensitive]);

Lopartialkey – pesquisas parciais, só precisa informar parte do nome. LocaseInsensitive – desconsidera maiúsculas e minúsculas Se você precisar fazer uma pesquisa por mais de um campo, separe os nomes dos campos por ponto e

vírgula e use a função VarArrayOf para criar um array com os valores que você quer procurar.– if not DtmPed.Tbl.Locate('Vendedor;Data', VarArrayOf([EdtVendedor.Text, EdtData.Text]), [loCaseInsensitive])

then  ShowMessage('O vendedor não realizou nenhuma venda nessa data'); Caso os campos pesquisados sejam indexados, a pesquisa será muito mais eficiente, senão será criado

um filtro temporário da BDE para localizar os registros Para utilizar o Locate em um formulário é necessário colocar na claúsula USES do form, a classe DB.

Page 47: Desenvolvimento Delphi

Utilizando o filter

Utilizamos a propriedade Filter e Filtered do componente TTable, para filtrar um determinado número de registros na tabela.

A propriedade Filter recebe uma String com o filtro. Ex: nomeDoCampo = ‘conteúdo da pesquisa’

A propriedade Filtered ativa o filtro, tendo como valores: false ou true.

Page 48: Desenvolvimento Delphi

Tela

Adicionar na tela– Um Edit e um Botão, para ser utilizado na

consulta com Locate.– Um Edit e dois Botões para ser utilizado com o

filter

Page 49: Desenvolvimento Delphi

Locate

Clique do botão consultar com locate, colocar este código.

Page 50: Desenvolvimento Delphi

Filter

Clique dos botões Filtrando e Limpando filtro.

Page 51: Desenvolvimento Delphi

Tela antes de utilizar os comandos Locate e Filter

Page 52: Desenvolvimento Delphi

Locate

Ao informar no Edit a palavra Wra, o locate localizou o primeiro registro da tabela que continha a palavra.

Page 53: Desenvolvimento Delphi

Locate

Informando um nome que não existe na tabela

Page 54: Desenvolvimento Delphi

Filter

Foi informado a palavra Snapper, ele filtrou e deixou apenas os registro que continham a palavra informada.

Page 55: Desenvolvimento Delphi

Criando um formulário de cadastro

Criaremos um formulário que servirá para cadastrar informações na base de dados.

Para tal operação é necessário saber algumas propriedades do componente Table.

– Insert – Inseri um novo registro na tabela– Append – Inseri um novo registro na tabela– Edit – Coloca o registro em modo de edição– Post – Confirma a inclusão de um novo registro ou a

alteração realiza em um registro– Cancel – Cancela a inclusão ou a alteração de um registro.

Page 56: Desenvolvimento Delphi

Dica

CharSet da aspa simples #39 Podemos concatenar strings que precisam

de aspas simples assim:– Variavel := 'state = '+#39+Texto+#39; – Variavel := ‘state = ‘ + ‘’’’ + texto + ‘’’’;

Page 57: Desenvolvimento Delphi

Trabalhando Com Querys

Page 58: Desenvolvimento Delphi

Trabalhando com querys

Abra uma nova aplicação no delphi e vamos utilizar querys para manipular informações no banco de dados.

Adcione um DataModule– Coloque um componente TDataBase– Coloque um Componente TQuery

Page 59: Desenvolvimento Delphi

Configuração do TDataBase

AliasName = ctds2008 DataBaseName = dbctd Name = dbctd

Page 60: Desenvolvimento Delphi

Configuração da TQuery

DataBaseName = dbctd

Page 61: Desenvolvimento Delphi

Banco de Dados a Ser Utilizado

Page 62: Desenvolvimento Delphi

Dica

Visando uma melhor representação e modularização do sistema, iremos definir um TIPO que representará cada entidade do banco de dados.

Page 63: Desenvolvimento Delphi

Adicionar Uma Nova Unit

Page 64: Desenvolvimento Delphi

Unit uTipo

Definir os tipos conforme cada tabela do banco de dados, para cada tabela haverá um tipo definido para a mesma.

Page 65: Desenvolvimento Delphi

Data Module

Com o intuito de unificar os procedimentos de acesso a base de dados, criaremos apenas um procedimento para cada operação que será realizada com uma determinada tabela.

Para cada tabela teremos, mo mínimo, os procedimentos de selecionar, atualizar, remover e inserir.

Page 66: Desenvolvimento Delphi

Data Module

Procedimentos

Page 67: Desenvolvimento Delphi

Implementação Dos Procedimentos

Page 68: Desenvolvimento Delphi

Implementação Dos Procedimentos

Page 69: Desenvolvimento Delphi

Implementação Dos Procedimentos

Page 70: Desenvolvimento Delphi

Implementação Dos Procedimentos