Olá meu povo, no artigo anterior nós implementamos a camada Controller, e neste artigo, vamos retornar a nossa camada VIEW, só que desta vez, vamos iniciar a implementação dos métodos.
Para, isso, com o projeto aberto no Delphi, acesse o "FrmCadastrarCliente", e no código, logo acima da classe do formulário, vamos criar um tipo enumerado chamada "TOperacao" que utilizaremos como flag para habilitar e desabilitar controles e para nortear o botão "Gravar", então, declare-o logo acima da classe do formulário:
Muito bem, feito isso, agora precisamos criar um atributo na classe do formulário que armazene o valor deste tipo enumerado que utilizaremos em determinados momentos durante a execução do aplicativo. No Delphi, os atributos de uma classe são chamados de "Fields", por isso, por convenção, o nome de um "Field" sempre inicia com a letra "F", então, vamos criar dois "Fields", um para armazenar o valor do tipo enumerado "FOperacao" e outro para guardar o código do cliente que for selecionado na Grid de pesquisa "FIdSelecionado", tudo isso na seção "Private". Também, aproveitando o momento, vamos declarar nossos métodos, a implementação completa ficará assim:
Pressione a tecla de atalho "Shift + Ctrl + C" e vamos iniciar implementando o método "SetUp":
Este método será chamado assim que a tela de cadastro for aberta, desta maneira, conforme a implementação acima, ele oculta a visibilidade das abas, ativa por padrão a aba de pesquisa, e define o código "1" por padrão ao nosso Field "IdSelecionado".
Agora vamos implementar o nosso método "Pesquisar":
Como já deve estar bem claro na sua mente, os métodos estão na camada DAO, portanto, para que a VIEW possa consumi-los, isto é, ter acesso a eles, isso é feito por intermédio da camada Controller, então, nós precisamos criar um objeto do tipo "TClienteController" para que por meio deste objeto, tenhamos acesso ao método da DAO, pois a Controller consegue enxergá-la.
Na linha 307 declaramos nosso objeto com seu tipo, na linha 309 instanciamos ele na memória. Na linha 311, chamamos o método "Pesquisar" que pede dois parâmetros, o primeiro, o filtro da pesquisa, que é por "Nome", desta maneira, passamos o conteúdo digitado pelo usuário no "edtPesquisar", o segundo parâmetro, é a nossa "TStringGrid" da aba de pesquisa, pois a mesma será configurada e preenchida lá na camada DAO. Por fim, na linha 313 apenas liberamos o objeto da memória após sua utilização.
Agora vamos implementar o método "Novo":
Este método é bem simples, ele apenas define o valor do nosso field "FOperacao" para "opNovo" e ativa a aba de dados. Este método será chamada quando o usuário clicar no botão "Novo". Você vai entender melhor porque estamos definindo o valor "opNovo" para o Field quando estivermos implementando o botão "Gravar".
Seguindo, agora implementaremos o método "Detalhar":
Este método verifica o cliente que está selecionado na pesquisa, captura o código dele, consulta ele no banco de dados, busca todas as informações por meio do método "CarregarCliente", e em seguida, ativa a aba de dados com estas informações preenchidas nos controles. Mas note que antes, na linha 183, fazemos uma pequena verificação, se na coluna 0 e linha 1 da Grid, se existe alguma informação, caso não exista informação, significa que a pesquisa não retornou nada, então, abortamos a operação de detalhamento e emitimos uma mensagem para o usuário.
Legal, no próximo artigo, seguiremos com a implementação dos métodos, vamos ficando por aqui, qualquer dúvida, deixe seu comentário, um forte Abraço. Tchau!
Este artigo faz parte da série: CRUD Delphi POO + MVC + DAO;
(Por ClipaTec Informática)
Show ClipaTec Informática, parabéns pelo trabalho, estou aqui aguardando ansiosamente pela próxima aula, vlw :)
ResponderExcluirOlá amigo, essa semana sai o restante. Abraço.
ExcluirParte 4 no ar:
Excluirhttps://www.clipatecinformatica.com.br/2018/05/cadastro-delphi-poo-mvc-dao-camada-view-parte-4.html
Muito boa essa série de artigos. Ansioso pela finalização da mesma.
ResponderExcluirOlá amigo, estamos trabalhando para que isso aconteça o mais rápido possível, fique ligado. Abraço.
ExcluirJá está no ar parte 4:
Excluirhttps://www.clipatecinformatica.com.br/2018/05/cadastro-delphi-poo-mvc-dao-camada-view-parte-4.html
Muito bom esse padrão MVC+DAO!! O código fica bem separadinho, cada qual no seu quadrado, show de bola ClipaTEC! Valeu!
ResponderExcluirDe fato, isso facilita muito em futuras manutenções ou implementação de novas features. Abraço e sucessos pra vc sempre.
Excluir