Desenvolvimento de Aplicações Desktop Hildeberto Melo 2008-2
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
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.
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.
Critérios de Avaliação Pontualidade Assiduidade Comportamento Interesse Participação em sala de aula Trabalho em grupo
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…
Material do aluno O aluno deverá trazer: Dispositivo de armazenamento, se possível PenDrive Caneta, lápis e borracha Caderno para anotações
Avaliações Listas de exercícios individuais Listas de exercícios em grupo Seminários/Apresentações Provas Projetos
Delphi Revisão Introdução Criando projetos Componentes Identificar as propriedades e eventos Qualidade do código fonte Mensagens Validação de formulários
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.
Conexão Com Banco de Dados
Criando Uma Conexão ODBC Vá em: Iniciar do Windows Configurações Painel de Controle Ferramentas Administrativas Fontes de Dados ODBC
Criando Uma Conexão ODBC Para adicionar uma nova fonte clique no botão  Adcionar
Access Aparecerá esta tela com os drives disponíveis para conexão Vamos escolher o Driver do Microsoft Access (*.mdb) e clicar em concluir
Access Informar o nome da fonte de dados, ex: CTD2008 Selecionar o Banco de Dados, clicando no botão selecionar
Access Informe onde está o arquivo do banco Depois confirme clicando no ok
SQL Server Aparecerá esta tela com os drives disponíveis para conexão Vamos escolher o Driver do SQL Server e clicar em concluir
SQL Server Informar o nome do alias Escolher o servidor no qual deseja se conectar
SQL Server Após informado os dados clicar em avançar.
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.
SQL Server Escolher o banco de dados no qual deseja se conectar. Clicar em avançar.
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.
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.
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.
No Delphi Abrir o Delphi e Iniciar um nova aplicação
No Delphi Adcionar um DataModule ao projeto
No Delphi
Paleta BDE Table DataBase
No DataModule Adcionar o componente DataBase Informar o nome  do componente Informar o Alias  criado anteriormente
Propriedades do DataBase Colocar a opção LoginPropt para True Colocar a opção Connected para True
Table Adcionar um Table No DataModule
Table Informar o  DataBaseName Informar a  TableName Ativar a Table
Adcionando os Campos a Table Dar um duplo clique no componente Table1 do DataModule Irá aparecer uma caixa, onde clicaremos com botão direito do mouse nesta caixa Escolheremos a opção “Add All Fields” 1 2 3
DataSource
DataSource Colocar um DataSource no DataModule Escolher a tabela a qual irá se vincular 1 2
Paleta DataControls DBGrid DBNavigator DBText DBEdit
Form Principal Colocar os Componentes DBGrid e DBNavigator Fazer com que o Form Principal use o DataModule 1 2
Form Principal Vincular a propriedade DataSource do DBNavigator e DBGrid ao DataSource1
Ir no Object Inspector do Form Principal e escolher a aba de eventos, o evento OnCreate
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.
Ir no Object Inspector do Form Principal e escolher a aba de eventos, o OnDestroy
Form Principal Colocar os seguintes comandos abaixo, no evento OnDestroy do Form Principal, para fechar a conexão.
Propriedades do Projeto Ir no Menu Project -> options Colocar a criação do datamodule como o primeiro
Rodar a Aplicação Resultado
Aula 28-02-2008 Componente TTable Locate Filter
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.
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.
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
Locate Clique do botão consultar com locate, colocar este código.
Filter Clique dos botões Filtrando e Limpando filtro.
Tela antes de utilizar os comandos Locate e Filter
Locate Ao informar no Edit a palavra Wra, o locate localizou o primeiro registro da tabela que continha a palavra.
Locate Informando um nome que não existe na tabela
Filter Foi informado a palavra Snapper, ele filtrou e deixou apenas os registro que continham a palavra informada.
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.
Dica  CharSet da aspa simples #39 Podemos concatenar strings que precisam de aspas simples assim: Variavel := 'state = '+#39+Texto+#39;  Variavel := ‘state = ‘ + ‘’’’ + texto + ‘’’’;
Trabalhando Com Querys
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
Configuração do TDataBase AliasName = ctds2008 DataBaseName = dbctd Name = dbctd
Configuração da TQuery DataBaseName = dbctd
Banco de Dados a Ser Utilizado
Dica Visando uma melhor representação e modularização do sistema, iremos definir um  TIPO  que representará cada entidade do banco de dados.
Adicionar Uma Nova Unit
Unit uTipo Definir os tipos conforme cada tabela do banco de dados, para cada tabela haverá um tipo definido para a mesma.
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.
Data Module Procedimentos
Implementação Dos Procedimentos
Implementação Dos Procedimentos
Implementação Dos Procedimentos
Implementação Dos Procedimentos

Desenvolvimento Delphi

  • 1.
    Desenvolvimento de AplicaçõesDesktop Hildeberto Melo 2008-2
  • 2.
    Competências da DisciplinaConhecer 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
  • 3.
    Habilidades Especificar ehabilitar 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.
  • 4.
    Ementa Interface doambiente 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.
  • 5.
    Critérios de AvaliaçãoPontualidade Assiduidade Comportamento Interesse Participação em sala de aula Trabalho em grupo
  • 6.
    Regras de convivênciaNã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…
  • 7.
    Material do alunoO aluno deverá trazer: Dispositivo de armazenamento, se possível PenDrive Caneta, lápis e borracha Caderno para anotações
  • 8.
    Avaliações Listas deexercícios individuais Listas de exercícios em grupo Seminários/Apresentações Provas Projetos
  • 9.
    Delphi Revisão IntroduçãoCriando projetos Componentes Identificar as propriedades e eventos Qualidade do código fonte Mensagens Validação de formulários
  • 10.
    Exercícios Criar umformulá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.
  • 11.
  • 12.
    Criando Uma ConexãoODBC Vá em: Iniciar do Windows Configurações Painel de Controle Ferramentas Administrativas Fontes de Dados ODBC
  • 13.
    Criando Uma ConexãoODBC Para adicionar uma nova fonte clique no botão Adcionar
  • 14.
    Access Aparecerá estatela com os drives disponíveis para conexão Vamos escolher o Driver do Microsoft Access (*.mdb) e clicar em concluir
  • 15.
    Access Informar onome da fonte de dados, ex: CTD2008 Selecionar o Banco de Dados, clicando no botão selecionar
  • 16.
    Access Informe ondeestá o arquivo do banco Depois confirme clicando no ok
  • 17.
    SQL Server Apareceráesta tela com os drives disponíveis para conexão Vamos escolher o Driver do SQL Server e clicar em concluir
  • 18.
    SQL Server Informaro nome do alias Escolher o servidor no qual deseja se conectar
  • 19.
    SQL Server Apósinformado os dados clicar em avançar.
  • 20.
    SQL Server Casonã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.
  • 21.
    SQL Server Escolhero banco de dados no qual deseja se conectar. Clicar em avançar.
  • 22.
    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.
  • 23.
    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.
  • 24.
    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.
  • 25.
    No Delphi Abriro Delphi e Iniciar um nova aplicação
  • 26.
    No Delphi Adcionarum DataModule ao projeto
  • 27.
  • 28.
  • 29.
    No DataModule Adcionaro componente DataBase Informar o nome do componente Informar o Alias criado anteriormente
  • 30.
    Propriedades do DataBaseColocar a opção LoginPropt para True Colocar a opção Connected para True
  • 31.
    Table Adcionar umTable No DataModule
  • 32.
    Table Informar o DataBaseName Informar a TableName Ativar a Table
  • 33.
    Adcionando os Camposa Table Dar um duplo clique no componente Table1 do DataModule Irá aparecer uma caixa, onde clicaremos com botão direito do mouse nesta caixa Escolheremos a opção “Add All Fields” 1 2 3
  • 34.
  • 35.
    DataSource Colocar umDataSource no DataModule Escolher a tabela a qual irá se vincular 1 2
  • 36.
    Paleta DataControls DBGridDBNavigator DBText DBEdit
  • 37.
    Form Principal Colocaros Componentes DBGrid e DBNavigator Fazer com que o Form Principal use o DataModule 1 2
  • 38.
    Form Principal Vinculara propriedade DataSource do DBNavigator e DBGrid ao DataSource1
  • 39.
    Ir no ObjectInspector do Form Principal e escolher a aba de eventos, o evento OnCreate
  • 40.
    Form Principal Colocaros seguintes comandos abaixo, no evento OnCreate do Form Principal, para ativar a conexão com o banco de dados e ativar a tabela.
  • 41.
    Ir no ObjectInspector do Form Principal e escolher a aba de eventos, o OnDestroy
  • 42.
    Form Principal Colocaros seguintes comandos abaixo, no evento OnDestroy do Form Principal, para fechar a conexão.
  • 43.
    Propriedades do ProjetoIr no Menu Project -> options Colocar a criação do datamodule como o primeiro
  • 44.
  • 45.
    Aula 28-02-2008 ComponenteTTable Locate Filter
  • 46.
    Localizando Registros Paralocalizar 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.
  • 47.
    Utilizando o filterUtilizamos 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.
  • 48.
    Tela Adicionar natela 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
  • 49.
    Locate Clique dobotão consultar com locate, colocar este código.
  • 50.
    Filter Clique dosbotões Filtrando e Limpando filtro.
  • 51.
    Tela antes deutilizar os comandos Locate e Filter
  • 52.
    Locate Ao informarno Edit a palavra Wra, o locate localizou o primeiro registro da tabela que continha a palavra.
  • 53.
    Locate Informando umnome que não existe na tabela
  • 54.
    Filter Foi informadoa palavra Snapper, ele filtrou e deixou apenas os registro que continham a palavra informada.
  • 55.
    Criando um formuláriode 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.
  • 56.
    Dica CharSetda aspa simples #39 Podemos concatenar strings que precisam de aspas simples assim: Variavel := 'state = '+#39+Texto+#39; Variavel := ‘state = ‘ + ‘’’’ + texto + ‘’’’;
  • 57.
  • 58.
    Trabalhando com querysAbra 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
  • 59.
    Configuração do TDataBaseAliasName = ctds2008 DataBaseName = dbctd Name = dbctd
  • 60.
    Configuração da TQueryDataBaseName = dbctd
  • 61.
    Banco de Dadosa Ser Utilizado
  • 62.
    Dica Visando umamelhor representação e modularização do sistema, iremos definir um TIPO que representará cada entidade do banco de dados.
  • 63.
  • 64.
    Unit uTipo Definiros tipos conforme cada tabela do banco de dados, para cada tabela haverá um tipo definido para a mesma.
  • 65.
    Data Module Como 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.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.