terça-feira, 19 de julho de 2016

XML com Delphi, lendo e escrevendo

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;
Figura 01
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;
Figura 02
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:
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:
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:
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