Buscar

Curso Delphi – Criando uma Aplicação do Início ao fim - Parte 4

nome

Rubens Antunes

Rubens Antunes, Autor do Livro Delphi Faça uma Aplicação Comercial e Desenvolvedor Delphi desde de 2004.

Curso Delphi – Criando uma Aplicação do Início ao fim - Parte 4

Formulário Modelo

Neste artigo irei criar um formulário que servirá como padrão, ou seja, iremos herdar deste formulário, para criarmos os formulários de cadastro de cliente e produto, para que não precisemos fazer vários formulários diferentes, isto serve também para o usuário se identificar melhor com o layout do formulário.

Crie um novo formulário em File, New, Form – Delphi e salve-o com UfrmModelo e mude a propriedade name para frmModelo. Coloque um componente panel da paleta standard e apague o conteúdo da propredade caption e mude a propriedade align para altop. Adicione ao panel sete componentes Bitbtn da paleta additional. Coloque um componente ImageList da paleta Win32 e dê dois clique sobre o mesmo e tecle no botão Add e coloque algumas figuras a sua escolha da pasta C:\Program Files\Common Files\CodeGear Shared\Images\GlyFX\Icons\XP\BMP\16x16 Coloque agora no formulário um DataSource da paleta DataAccess e mude a propriedade name para DTS, logo depois Coloque o componente BalloonHint da paleta Additional e por fim um ActionList da paleta Standard. Selecione o componente ActionList e mude a propriedade images para ImageList1, dê dois clique no ActionList e tecle na setinha para baixo do lado do botão New Action e abrirá a seguinte tela:


Escolha New Standard Action ou tecle Ctrl+Ins, na tela que se abre escolha os itens selecionados na tela a seguir:


Selecione os itens marcados dentro do dataset. Qual é a idéia aqui? A idéia e fazer o controle dos botões direto no ActionList, assim ele irá controlar os botões, ou seja, se o usuário clicar no botão novo ele desabilita automaticamente o botões excluir, os botões funcionaram de acordo com o estado da tabela. Assim que selecionar os itens clique em Ok e selecione a primeira ação e mude as seguintes propriedades:


Selecione o primeiro botão e mude as seguintes propriedades:


O formulário deverá ficar assim:


Vamos agora implementar os botões, dê dois clique no componente ActionList e selecione a ação AC_Novo e dê dois clique sobre ela e abrirá o editor de código do Delphi, coloque o seguinte código a seguir:

procedure TfrmModelo.AC_NovoExecute(Sender: TObject);
begin
    DTS.DataSet.Append;
end;

Na ação AC_Alterar coloque o seguinte código:

procedure TfrmModelo.AC_AlterarExecute(Sender: TObject);
begin
    DTS.DataSet.Edit;
end;

Na ação AC_Excluir coloque o seguinte código:

procedure TfrmModelo.AC_ExcluirExecute(Sender: TObject);
begin
  if not DTS.DataSet.IsEmpty then
  begin
    DTS.DataSet.Delete;
    if DTS.DataSet is TClientDataSet then
    TClientDataSet(DTS.DataSet).ApplyUpdates(0);
  end;
end;

Nesta ação excluir verificamos se o registro existe através da propriedade IsEmpty, logo depois apagamos o mesmo pelo delete e logo depois gravamos no banco a exclusão usando o método ApplyUpdates.

Na ação AC_Cancelar coloque o seguinte código:

procedure TfrmModelo.AC_CancelarExecute(Sender: TObject);
begin
  TClientDataSet(DTS.DataSet).CancelUpdates;
end;

Na ação AC_Gravar coloque o seguinte código:

procedure TfrmModelo.AC_GravarExecute(Sender: TObject);
begin
  TClientDataSet(DTS.DataSet).ApplyUpdates(0);
end;

Crie duas novas ações no actionList e dê o nome de Pesquisa e Sair, Implemente o último botão com a ação sair , colocando assim:

procedure TfrmModelo.AC_SairExecute(Sender: TObject);
begin
  Close;
end;

A ação do botão pesquisar implementaremos futuramente.

Vamos imaginar uma situação, o usuário está digitando um novo registro, de repende ele deseja fechar o formulário sem antes salvar ou cancelar, nós não deixaremos que isso aconteça, para isso selecione o frmModelo e no evento onClose coloque o seguinte código:

procedure TfrmModelo.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if dts.state in [dsEdit, dsInsert] then
  begin
    Action:= caNone;
    ShowMessage('É necessário Você Salvar ou Cancelar. ');
    frmModelo.SetFocus;
  end;
end;

Neste código estou verificando se o Dataset está em estado de edição ou inserção, caso ele esteja, eu não permito que o usuário feche o formulário.

Na próximo artigo, estarei falando sobre o formulário de cadastro de cliente e formulário. Abraço e até lá.

Rubens Antunes - Autor do Livro: Delphi – Faça Uma Aplicação Comercial

Publicidade

Vote no artigo




Quantidade de votos: 2 votos
Aceitação: 20%


Detalhes do artigo

Categoria: Banco de dados
Adicionado dia: 03/11/09
Por: Rubens Antunes
Visualizado: 39248 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009