Obrigado por visitar a devmedia.com.br!

Precisamos de você para divulgar nossos vídeos e cursos gratuitos para a comunidade.

Se você gosta da devmedia.com.br por favor dê-nos o seu clique para o Google+ e ajude outros desenvolvedores ao redor do mundo.



Obrigado por seu apoio!
Equipe DevMedia

sair sem compartilhar (x)
DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:

Criando uma aplicação com o Lazarus e banco de dados Firebird – Parte 03

Neste artigo estarei mostrando um passo a passo sobre como criar uma aplicação usando a ferramenta de desenvolvimento Lazarus, juntamente com o componente ZeosDBO, conectando em um banco de dados do Firebird.

Nesta parte do artigo, vamos construir as telas de cadastro do nosso aplicativo. Já com o Lazarus aberto em nosso projeto, vamos abrir o datamodule criado anteriormente para adicionarmos os componentes de ligação do aplicativo com a tabela.

Adicione os componentes TZQuery e TZSequence da paleta Zeos Access, e o componente TDataSource da paleta Data Access, para cada tabela criada no banco de dados. Veja o Exemplo:




Agora configure as propriedades de cada um dos componentes, direcionando para as devidas tabelas seguindo as informações abaixo:

 

Componentes do Tipo TZQuery

Connection = ZConnection1;

Sequence = ZSeqContato (respectivamente);

SequenceField = ID (respectivamente, conforme o campo auto-incremental da tabela);

SQL = “select * from contatos” e “select * from agenda where agenda.id_contato = :pID”

Params = (Apenas para o componente relacionado a tabela de agenda) Selecione o parametro e configure as propriedades DataType e ParamType, conforme figura abaixo;




WhereMode = wmWhereAll;

 

Componentes do Tipo TZSequence

Connection = ZConnection1;

SequenceName = Selecione o respectivo Sequence da tabela;

 

Conponentes do Tipo TDataSource

DataSet = Selecione o respectivo componente TZQuery;

 

Adicione os seguintes códigos no evento OnNewRecord dos componentes TZQuery respectivamente das tabelas:

 

Contato:

  DataSet.FieldByName('ID').AsInteger := ZSeqContato.GetNextValue;

 

Agenda:

  DataSet.FieldByName('ID').AsInteger := ZSeqAgenda.GetNextValue;


Após isso dê um duplo clique no componente TZQuery, e na janela que se abre clique com o botão da direita do mouse e clique em ADD Fields. Na outra janela que se abrirá, selecione todos os campos e clique no botão Create, para que os campos fiquem disponíveis no componente TZQuery. Repita este procedimento para todas as tabelas. Veja exemplo abaixo:




Agora com o Datamodule configurado, vamos criar o formulário de cadastro. Para isso clique na opção File->New Form do menu principal, para inserir um novo formulário no aplicativo.

Dê um nome para o formulário e altere sua propriedade Caption a sua escolha e salve o mesmo junto com os outros arquivos do projeto.

Agora clique no formulário e pressione F12 para ir à codificação do mesmo, e abaixo da clausula implementation adicione o código “Uses uDM;”. Veja figura abaixo:




Monte este formulário conforme o exemplo das figuras abaixo, usando os seguintes componentes:

 

PageControl da paleta Common Controls;

DbGrid e DbEdit da paleta Data Controls;

Panel e Label da paleta Standart;

BtnBtn da paleta Additonal;






Agora vamos codificar nosso aplicativo.

 

Adicione a unit dB, uFrmCadAgenda na clausula uses do formulário;

Agora adicione o seguinte código no evento onshow do formulário:

 

  DM.DataContato.DataSet.Open;

  PageControl1.TabIndex:=0;

 

No Evento onClose adicione:

 

  if DM.DataContato.DataSet.State in [dsInsert,dsEdit]  then

  begin

    ShowMessage('É necessário confirmar ou cancelar os dados');

    Abort;

  end;

  DM.DataContato.DataSet.close;

 

Adicione um componente TActionList no formulário, dê um duplo clique no mesmo. Na jalena que se abre, clique com o botão da direita e em seguida em New Action, para criar as ações seguindo o exemplo da figura abaixo:




Dê um duplo clique sobre cada ação e codifique respectivamente, conforme indicado abaixo:

 

ActIncluir

  DM.DataContato.DataSet.Append;

  DBEdit2.SetFocus;

 

ActExcluir

  DM.DataContato.DataSet.Delete;

 

ActConfirmar

  DM.DataContato.DataSet.Post;

 

ActCancelar

  DM.DataContato.DataSet.Cancel;

 

ActAgenda

  FrmCadAgenda.pIDContato := DM.DataContato.DataSet.FieldByName('ID').AsInteger;

  FrmCadAgenda.ShowModal;

 

ActEncerrar

  Close;

 

Com isso concluímos a criação da tela de cadastro de Contatos.

 

Vamos agora incluir um novo formulário para ser usado para o cadastro de agenda. Para isso siga os mesmos passos da inclusão do cadastro de contatos, alterando respectivamente os dados para tabela de agenda. Veja abaixo como ficará a tela:






Codifique da seguinte forma:

 

Após a clausula implementation adicione “uses uDm,Db;”, e crie uma variável publica da seguinte forma:

 

  private

    { private declarations }

  public

    { public declarations }

    pIDContato : Integer;

  end;

 

No evento OnShow do formulário adicione:

  DM.QryAgenda.Params.ParamByName('pID').AsInteger:=pIDContato;

  DM.DataAgenda.DataSet.Open;

 

Nas Ações do componente ActionList adicione:

 

ActIncluir

  DM.DataAgenda.DataSet.Append;

  DM.DataAgenda.DataSet.FieldByName('ID_Contato').AsInteger := pIDContato;

  DBEdit2.SetFocus;

 

ActExcluir

  DM.DataAgenda.DataSet.Delete;

 

ActConfirmar

  DM.DataAgenda.DataSet.Post;

 

ActCancelar

  DM.DataAgenda.DataSet.Cancel;

 

ActEncerrar

  Close;

 

E com isso concluímos também a tela de cadastro de agenda de compromissos. Basta compilar o projeto e testar.

 

Observação: Ao final estarei disponibilizando os códigos fontes deste projeto.












    3 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Igor Silva
Haverá uma PARTE-4 ?
Estou interessado em aprender a consulta.


em 21/11/2011 09:59 - Responder

 

[Comentário do autor]   Luis Carlos Godinho
Olá!

Tive que dar uma parada temporária no curso por motivos pessoais. Em breve voltarei a publicar novos vídeos do curso.

Abs.!


em 21/11/2011 10:40 - Responder
 

[Comentário do autor]   Luis Carlos Godinho
Esta sequencia é mais antiga. Tem novas materias publicadas recentemente. Veja no link abaixo:

http://www.devmedia.com.br/luisgodinho

Abs.!


em 21/11/2011 10:43 - Responder
 



Autor
Luis Carlos Godinho

Programador formado em 1995, pela ETEIT – Escola técnica da UNIVALE. Atualmente trabalhando com a plataforma Delphi. Tem se dedicado nos últimos anos, ao desenvolvimento de aplicações PAF-ECF, SPED fiscal e NFe.


Space do autor
Estatísticas #
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]
Este post está disponível somente para quem possui Créditos DevMedia. (Ele não está associado a nenhuma publicação DevMedia).


  Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!

Plano conveniência – Neste plano este post custa R$ 0,00 (Compre agora)
Esse plano permite que você compre somente um post, pagando por ele seu preço sem desconto.

Plano ocasional: Aqui este post custa: R$ -1,00 (assinante) ou R$ -1,00 (não-assinante)
Este plano é ideal para quem tem interesse em mais de um post. Você compra um mínimo de R$ 50,00 em créditos e ganha, em média, 50% de desconto no preço do post. Compre Créditos agora!

Assinatura de Créditos (Plano econômico) – Aqui este post custa R$ -1,00
Este plano é ideal para quem tem interesse em muitos posts. Com esse plano você compra R$ 180,00 em créditos e ganha, em média, 80% de desconto no preço do post. Assine este plano agora!

> Saiba mais sobre o Sistema de Créditos DevMedia
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03