Desenvolvimento de Aplicações Desktop Delphi Prof. Melo.

Post on 21-Apr-2015

149 views 9 download

Transcript of Desenvolvimento de Aplicações Desktop Delphi Prof. Melo.

Desenvolvimento de Desenvolvimento de Aplicações DesktopAplicações DesktopDelphiDelphiProf. MeloProf. Melo

Apresentação

Nome: Hildeberto Melo;Técnico em Desenvolvimento de Software. Ibratec, PE;Bacharel em Sistemas de Informação. FIR, PE;Pós-Graduação em Docência do Ensino Superior. FMN, PE;Mestre em Ciência da Computação. CIN/UFPE.

3

Competência

Identificar os componentes de aceso a banco de dados, aplicando as técnicas apropriadas para implementação de aplicações cliente servidor

4

Roteiro

IDE DelphiPrincipais componentes acesso a banco de dadosManipulação dos componentes Eventos PropriedadesRelatóriosAtividade para avaliação da competência

5

Criando Uma Conexão ODBC

Vá em:1. Iniciar do Windows2. Configurações3. Painel de Controle4. Ferramentas Administrativas5. Fontes de Dados ODBC

Criando Uma Conexão ODBC – Windows 7

Passo a passo:1. Vá na pasta c:\windows\sysWon642. Execute o aplicativo odbcad32.exe

7

Criando Uma Conexão ODBC

Para adicionar uma nova fonte clique no botão Adcionar

8

Access

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

9

Access

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

10

Access

Informe onde está o arquivo do bancoDepois confirme clicando no ok

11

SQL Server

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

12

SQL Server

Informar o nome do aliasEscolher o servidor no qual deseja se conectar

13

SQL Server

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

14

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.

15

SQL Server

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

16

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.

17

SQL Server

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

18

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.

19

No Delphi

Abrir o Delphi e Iniciar um nova aplicação

20

No Delphi

Adcionar um DataModule ao projeto

21

No Delphi

22

Paleta BDE

Table

DataBase

23

No DataModule

Adcionar o componente DataBase

Informar o Alias criado anteriormente

Informar o nome do componente

24

Propriedades do DataBase

Colocar a opçãoLoginPropt para True

Colocar a opçãoConnected para True

25

Table

Adcionar um TableNo DataModule

26

Table

Informar o DataBaseName Informar a

TableName

Ativar a Table

27

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

28

DataSource

29

DataSource

1. Colocar um DataSource no DataModule2. Escolher a tabela a qual irá se vincular

1 2

30

Paleta DataControls

DBGrid

DBNavigator

DBText

DBEdit

31

Form Principal

1. Colocar os Componentes DBGrid e DBNavigator2. Fazer com que o Form Principal use o DataModule

1

2

32

Form Principal

Vincular a propriedade DataSource do DBNavigator e DBGrid ao DataSource1

33

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

34

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.

35

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

36

Form Principal

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

37

Propriedades do Projeto

1. Ir no Menu Project -> options2. Colocar a criação do datamodule como o primeiro

38

Rodar a Aplicação

Resultado

39

Componente TTable Locate Filter

40

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 registrosPara utilizar o Locate em um formulário é necessário colocar na claúsula USES do form, a classe DB.

41

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.

42

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

43

Locate

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

44

Filter

Clique dos botões Filtrando e Limpando filtro.

45

Tela antes de utilizar os comandos Locate e Filter

46

Locate

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

47

Locate

Informando um nome que não existe na tabela

48

Filter

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

49

Dica

CharSet da aspa simples #39Podemos concatenar strings que precisam de aspas simples assim: Variavel := 'state = '+#39+Texto+#39; Variavel := ‘state = ‘ + ‘’’’ + texto + ‘’’’;

50

Status do Componente Table

InsertAppendEditPostCancelDeleteRefresh

Relacionando Tabelas

Mestre detalhe: Caso tivéssemos duas tabelas, uma para os

médicos e outra para as consultas dos médicos.

51

Relacionando Tabelas

Ao selecionar o médico automaticamente seria mostrado no grid de consultas, apenas as consultas do mesmo.

52

Relacionando Tabelas

53

Na propriedade MasterSource da tabela de consultas, iriamos escolher a tabela de médico

Na propriedade MasterField da tabela de consultas, criar o vínculo entre chaves primária e estrangeira

Instalando Componentes de Relatório

Menu Component – Install package

54

Instalando Componentes de Relatório

Adicionar os pacotes: Dclqrt70.bpl Dcltqr70.bpl

Ambos estão na pasta bin do delphi.

55

56

Relatório com Table

Passos:1. Criar um novo projeto2. Adicionar um DataModule ao projeto3. Adicionar um DataBase e uma Table ao

DataModule4. Configurar o DataBase e a Table conforme foi

visto anteriormente5. Adicionar mais um formulário ao projeto e

renomeá-lo para formImpressao

57

Relatório com Table

Passos (continuação):6. No formImpressao adicionar um quickRep

(aba QReport)

58

Relatório com Table

Ligar o QuickRep a Table do DataModule

59

Relatório com Table

Adicionar duas QRBands ao QuickRep

60

Relatório com Table

Configurar o BandType da segunda QrBand para rbDetail

61

Relatório com Table

Adicionar um QRLabel na banda de Título

62

Relatório com Table

Colocar um QRDBText na banda detalhesConfigurar o DataField e DataSet

63

Relatório com Table

No formulário principal colocar um botão, este botão servirá para chamar o formulário de impressão.

64

Relatório com Table

No clique do botão colocar o código abaixo

65

Executando a Aplicação

Atividade Avaliação Competência

QualidadeModelo de DadosCritérios

66

67

Qualidade

Renomear os componentes para facilitar sua identificaçãoUtilizar nomes sugestivos para as variáveis e componentes, evitar utilizar apenas uma letra. Ex: x: integer, a: string; “não utilizar” Ex: nomeFuncionario: string; idadeFuncionario: integer;As mensagens deverão ser claras e precisas, devendo informar ao usuário o que ele deve fazer. Evitando mensagens vagas Incorreto

“valor inválido” “Ocorreu um erro” “Informar o valor”

Correto “informar a data de nascimento no formato dd/mm/aaaa” “a idade deverá ser maior que zero” “o valor do salário deverá ser maior que zero”

68

Qualidade

Utilizar comentário no código-fonte, para facilitar o entendimento.A cada ação do usuário o sistema deverá responder.

69

Qualidade

Identar o código fonte para facilitar o entendimento e a identificação dos blocos de comando

Formulário Principal

70

Formulários Cadastro/Alteração

O sistema deverá ter formulários para efetuar o cadastro e alteração das diversas tabelas utilizadas pelo sistema.

71

Modelagem do Banco

73

Atividade Para Avaliação da Competência

Criar um sistema que deva conter as seguintes informações referentes ao modelo de dados apresentados anteriormente: Contato

Código: inteiro auto incremento Nome : string; Data de nascimento: Date;

Compromisso Código: inteiro auto incremento Descrição: string; Data: Date; Código do contato: inteiro

Esta informação será a ligação entre o contato e seus compromissos

74

Atividade Para Avaliação da Competência

Criar um sistema que deva conter as seguintes informações referentes ao modelo de dados apresentados anteriormente: Telefone

Código: inteiro auto incremento Ddd: string; Número: string; Código do contato: inteiro

Esta informação será a ligação entre o contato e seus telefones Endereço

Código: inteiro auto incremento Logradouro: string; complemento: string; Bairro: string; cidade: string; Uf: string; Cep: string; Código do contato: inteiro

Esta informação será a ligação entre o contato e seus endereços

75

Atividade Para Avaliação da Competência (2)

O formulário deverá estar devidamente organizado Distribuir os componentes forma a facilitar o

uso do sistema pelo usuário Alinhamento dos componentes

Aplicar os critérios de qualidade vistos anteriormente para esta atividadeTodas as informações do contato, endereço, telefone e compromissos serão obrigatórias, portanto realizar a validação dos mesmos.

76

Atividade Para Avaliação da Competência (3)

Para realizar o cadastro de um compromisso, telefone ou endereço será necessário vincular o mesmo a um contato, lembre-se que o atributo “código” será utilizado para tal rotina.

77

Atividade Para Avaliação da Competência (3)

O sistema deverá implementar as rotinas de cadastro, alteração, remoção, consulta e impressão de contatos e demais informações.Na remoção de um funcionário, se o mesmo tiver compromissos, telefones e endereços vinculados, remover os mesmos.

78

Atividade Para Avaliação da Competência (3)

Utilizar componentes de manipulação de bando de dados em delphi

79

Perguntas...