XML, ou eXtensible Markup Language (Linguagem de marcação extensiva) é uma linguagem de marcação parecida com HTML usada para criação de documentos organizados hierarquicamente de texto, banco de dados, etc.. Esta linguagem é muito usada para a transferência de dados entre sistemas diferentes, principalmente no meio comercial e em sistemas financeiros, e é recomendada pela W3C para a comunicação entre aplicações WEB.
Lendo e escrevendo em arquivos XML com Delphi
Layout
1 – Para começar, com o Delphi aberto clique em File, no menu principal, depois em New >> VCL Forms Application – Delphi for Win32.
2 – Renomeio o Form conforme sua preferência salve a Unit e o projeto também com nomes a seu gosto, em uma pasta chamada projetoXML, na mesma pasta crie um arquivo com extensão .xml, usando um editor de texto de sua preferência, e salve-o em branco com o nome dados;
3 – De volta ao Delphi adicione dois elementos ao form, um Panel alinhado alTop, e um PageControl alinhado alClient, que deve ser renomeado para paginas.
4 – Adicione quatro BitBtn ao Panel, mude as propriedades Name e Caption deles para: btnCarregar, Carregar Arquivo (Bitbtn1), btnAdd, Adicionar Item(Bitbtn2), btnEditar, Editar Item(Bitbtn3), btnExcluir, Excluir Item(Bitbtn4). Os botões Adicionar Item, Editar Item e Excluir Item devem ter a propriedade Enable alterada para false;
5 – Adicione duas páginas no PageControl, clicando com o botão direito do mouse >> New Page. Edite as propriedades Name e Caption das páginas, um com TabListar e Listar, respectivamente, e outra com tabcadastro e Novo Cadastro.
6 – Dentro da página Listar coloque um componente DBGrid com a propriedade Align em alClient. Adicione também o nosso grande amigo ClientDataSet e um DataSource. O layout do programa deve ficar conforme está na figura 01;
2 – Renomeio o Form conforme sua preferência salve a Unit e o projeto também com nomes a seu gosto, em uma pasta chamada projetoXML, na mesma pasta crie um arquivo com extensão .xml, usando um editor de texto de sua preferência, e salve-o em branco com o nome dados;
3 – De volta ao Delphi adicione dois elementos ao form, um Panel alinhado alTop, e um PageControl alinhado alClient, que deve ser renomeado para paginas.
4 – Adicione quatro BitBtn ao Panel, mude as propriedades Name e Caption deles para: btnCarregar, Carregar Arquivo (Bitbtn1), btnAdd, Adicionar Item(Bitbtn2), btnEditar, Editar Item(Bitbtn3), btnExcluir, Excluir Item(Bitbtn4). Os botões Adicionar Item, Editar Item e Excluir Item devem ter a propriedade Enable alterada para false;
5 – Adicione duas páginas no PageControl, clicando com o botão direito do mouse >> New Page. Edite as propriedades Name e Caption das páginas, um com TabListar e Listar, respectivamente, e outra com tabcadastro e Novo Cadastro.
6 – Dentro da página Listar coloque um componente DBGrid com a propriedade Align em alClient. Adicione também o nosso grande amigo ClientDataSet e um DataSource. O layout do programa deve ficar conforme está na figura 01;
7 – Ligue o DataSource ao ClientDataSet eo DBGrid ao DataSource;
8 – Na página Novo Cadastro Crie um formulário com dois Edits, que devem ter nomes de edtEstado e edtUF. Adicione dois Bitbtn, que devem ter as propriedades Name e Caption alteradas para: btnCancelar, Cancelar, e btnSalvar, Salvar. veja a figura 02;
8 – Na página Novo Cadastro Crie um formulário com dois Edits, que devem ter nomes de edtEstado e edtUF. Adicione dois Bitbtn, que devem ter as propriedades Name e Caption alteradas para: btnCancelar, Cancelar, e btnSalvar, Salvar. veja a figura 02;
Eventos dos botões
1 – No evento onClick do botão Carregar Arquivo cole este código:
Que na linha 1 faz a conexão do ClientDataSet com o arquivo XML, que deve estar na mesma pasta do projeto. E nas outras linha ele Habilita o uso dos botões restantes;
2 – No botão Adicionar Item, no evento onClick, coloque o seguinte código:
2 – No botão Adicionar Item, no evento onClick, coloque o seguinte código:
Que na linha 1 faz a mudança da página de listagem para a página de cadastro, e nas linhas seguintes desabilita todos os botões do panel;
3 – No botão Editar, a única coisa que faremos é colocar o ClientDataSet em modo de edição, e a edição deverá acontecer na própria DBgrid, sem a necessidade um formulário. Use o código a seguir no evento onClick do botão Editar:
3 – No botão Editar, a única coisa que faremos é colocar o ClientDataSet em modo de edição, e a edição deverá acontecer na própria DBgrid, sem a necessidade um formulário. Use o código a seguir no evento onClick do botão Editar:
4 – No evento Onclik do botão excluir faremos apenas a exclusão do item do ClientDataSet e salvaremos o arquivo XML com a nova alteração, cole o seguinte código:
5 – No evento OnExit da DBGrid coloque o seguinte código:
6 – Agora na aba de cadastro, os botões Cancelar e Salvar terão os seguintes códigos:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | procedure TForm3.btnCancelarClick(Sender: TObject); begin paginas.ActivePage:=Tablistar; btnCarregar.Enabled:=true; btnAdd.Enabled:=true; btnEditar.Enabled:=true; btnExcluir.Enabled:=true; end; procedure TForm3.btnSalvarClick(Sender: TObject); begin if ClientDataSet1.FieldCount=0 then begin ClientDataSet1.FieldDefs.Clear; ClientDataSet1.FieldDefs.Add('Estado',ftString, 2,False); ClientDataSet1.FieldDefs.Add('NomeEstado', ftString, 30, false); ClientDataSet1.CreateDataSet; end; ClientDataSet1.Append; ClientDataSet1.FieldByName('Estado').AsString:=edtUF.Text; ClientDataSet1.FieldByName('NomeEstado').AsString:=edtEstado.Text; ClientDataSet1.Post; ClientDataSet1.SaveToFile('dados.xml',dfXML); paginas.ActivePage:=Tablistar; btnCarregar.Enabled:=true; btnAdd.Enabled:=true; btnEditar.Enabled:=true; btnExcluir.Enabled:=true; end; |
Pronto, agora compile o código e faça o teste, se não funcionar você pode baixá-lo. Qualquer dúvida deixe um comentário.
Nenhum comentário:
Postar um comentário