ClipaTec Informática

Receba novidades por e-mail. Digite seu e-mail abaixo e clique no botão "Cadastrar"

Delivered by FeedBurner

24 de outubro de 2016

Cadastro Delphi com dataware - modelo 2 - Implementações do cadastro - parte 1

delphi crud

Olá meu povo. Estamos na reta final da nossa série de artigo "Cadastro em Delphi com dataware - modelo 2", e neste artigo, vamos iniciar a implementação do cadastro. Vamos começar predefinindo as ações no componente "acLstAcoes". Para isso, dê um duplo clique sobre ele. Na janela que abrir, vamos começar a criar nossas ações.
Este componente, contém as ações de um "DataSet" já prontas, porém, faremos nossa própria implementação, desta forma, não usaremos estas ações já prontas, melhor dizendo, vamos usar apenas duas, a ação "TDataSetCancel" referente ao cancelamento da operação, e ação "TDataSetPost" referente à gravação dos dados, as demais ações implementaremos da nossa forma.
Legal, então vamos começar por estas duas ações, para isso, clique com o botão direito sobre a área "Actions" da janela que está aberta, e clique na opção "New Standard Action...". 
Ao escolher esta opção, note que uma segunda janela será aberta, localize o grupo "DataSet", dê um clique sobre a ação "TDataSetPost" e com a tecla "Shift" pressionada, clique sobre a ação "TDataSetCancel", desta forma, teremos as ações gravar e cancelar selecionadas. Apenas clique no botão "OK". Já aproveitando o momento, note que as duas ações já apareceram na lista de ações, então selecione as duas, a na propriedade "DataSource" aponte para o componente "dsCad", que será o DataSource responsável pelo "CRUD".
Agora, vamos apagar a categoria dessas duas ações, então, ainda com as duas selecionadas, clique na propriedade "Category" e apague o conteúdo dela.
Agora vamos criar o restante das ações, para isso, clique com o botão direito do mouse sobre a área das ações, e escolha a opção "New Action". Repita esse passo mais quatro vezes. No final, teremos um total de sete ações.
Muito bem, agora vamos renomear as propriedades de cada ação, segue a lista:

  • DatasetPost: "Name" para "ac_gravar", "Caption" para "Gravar";
  • DatasetCancel: "Name" para "ac_cancelar", "Caption" para "Cancelar";
  • Action1: "Name" para "ac_novo", "Caption" para "Novo";
  • Action2: "Name" para "ac_detalhar", "Caption" para "Detalhar";
  • Action3: "Name" para "ac_excluir", "Caption" para "Excluir";
  • Action4: "Name" para "ac_listar", "Caption" para "Listar";
  • Action5: "Name" para "ac_pesquisar", "Caption" para "Pesquisar";


Muito bem, desta forma concluímos esta etapa. Agora, dê um duplo clique sobre a ação "ac_novo", e implemente da seguinte forma:

delphi cadastro

No início verificamos se o nosso DataSet de cadastro está fechado. Se ele tiver fechado, nós abrimos, pois, não é possível realizar alguma operação com o DataSet fechado.
Em seguida, colocamos nosso DataSet em modo de inserção, e ativamos a aba de cadastro, onde teremos os campos para o usuário preencher.
Agora, dê um duplo clique sobre a ação "ac_detalhar" e implemente da seguinte forma:

delphi cadastro

Na ação detalhar, nós verificamos se o DataSet de cadastro está aberto, se estiver, precisamos fechar, pois, precisamos garantir que o registro que estará ativo seja o mesmo que foi selecionado na aba de pesquisa. Exatamente por isso, em seguida nós pegamos o código do cliente selecionado na aba de pesquisa na "DBGrid" (que está ligada ao DataSet de pesquisa), e atribuímos este código ao DataSet de cadastro para em seguida abri-lo, desta forma, teremos todos os dados do cliente carregado no DataSet de cadastro e disponíveis para serem alterados ou apenas para uma simples consulta completa. Em seguida, ativamos a aba de cadastro para que o usuário veja todos os dados do cliente selecionado.
Agora, vamos implementar a ação excluir, para isso, de um duplo clique sobre a ação "ac_excluir" e implemente da seguinte forma:

delphi cadastro

Esta é a mais difícil de todas kkkkkk. Só que não! Simplesmente enviamos para o usuário uma mensagem de confirmação de exclusão, pois, pode acontecer do usuário clicar no botão cancelar sem querer, para prever este desconforto, então pedimos uma confirmação de exclusão. Se o usuário confirmar clicando no botão "Sim", então, chamamos o método "Delete" do DataSet, para que a exclusão do registro seja realizado.
Para finalizarmos este artigo, agora vamos implementar a ação "ac_listar":

delphi cadastro

Quando o usuário está na aba de cadastro e ele deseja voltar a aba de pesquisa, esta ação será chamada, porém, não podemos deixar que o usuário volte para a pesquisar, se por um acaso ele fez alguma alteração e não salvou, pois, isso faria com que o usuário perdesse todo trabalho feito. Não ia ser nada legal isso né? Então, como você observa, no início fazemos uma verificação, se o DataSet de cadastro estiver em estado de inserção ou edição, ele aborta a operação e manda uma mensagem dizendo que o usuário deve cancelar ou gravar as alterações antes de voltar para a aba de pesquisa/listagem.
Se o DataSet de cadastro não estiver em nenhum estado de alteração, então atualizamos o DataSet de pesquisa e ativamos a aba de pesquisa. A atualização que fazemos, é para que as informações do cliente sejam alteradas também no DataSet de pesquisa, caso alguma alteração tenha sido realizada.
Muito bem galera, e assim chegamos ao final de mais um artigo. Para concluir, apenas selecione o componente "dsPesq" e na propriedade "DataSet" aponte para o componente "cdsPesq" e depois, selecione o componente "dsCad" e aponte para o componente "cdsCad". Se não aparecer estes componentes na propriedade, é porque não foi dado o "Uses" no "DataModule", para isso, basta pressionar as teclas "Alt+F11", na janela que abrir, selecionar o "DmDados" que é o nosso DataModule e em seguida clicar no botão "OK".
Qualquer dúvida, deixe seu comentário, até o próximo artigo. Abraço.

(Por ClipaTec Informática)

2 comentários:

  1. Ficou meu confuso esta parte:

    clique na propriedade "Category" e apague o conteúdo dela.

    Ao apagar não ficou nada na parte Actions(VCL)

    ResponderExcluir
    Respostas
    1. Sim. Mas na verdade ele não some, é só clicar na opção "No Category" ao lado esquerdo que você verá as ações. Caso ainda não conseguir, posta ai pra gente te ajudar. Abraço.

      Excluir

Visite nossa página de Política de comentarios antes de comentar para ter certeza de que seu comentário não será excluído! Lembre-se, assim que aprovarmos o teu comentário ele será publicado, por isso, não deixe de sempre visitar nosso blog e conferir nossa resposta ao seu comentário, abraço!