Criando arquivos XML com ClientDataSet com Pesquisa e Ordenação de Colunas

 

Olá pessoal, neste artigo estarei demonstrando como em uma aplicação seja ela qual for pode-se criar através do ClientDataSet arquivos *.XML e estar fazendo as pesquisas dentro deste conteúdo.

Vamos usar para este exemplo o Delphi versão 7.

Então, vamos começar, peça um novo projeto no delphi como mostra a tela abaixo na figura 1.

figura1.JPG

Figura 1

Agora vamos salvar este projeto, Crie uma pasta na Raiz de C:\XML e salve a Unit1 e o Project dentro dela. Vamos usar essa pasta para armazenar todos os arquivo do exemplo e também onde ficará nosso arquivo XML.

Depois do projeto salvo deixe sua tela da aplicação igual ao da Figura 2 onde nele estamos inserindo:

Componente

Quantidade

Local (Palheta)

ClientDataSet

1

Data Access

DataSource

1

Data Access

DBNavigator

1

Data Controls

DBGrid

1

Data Controls

Edit

1

Standard

Sua tela da aplicação deverá ficar parecida com o que será mostrado na figura 2 abaixo.

figura2.JPG

Figura 2

Agora vamos começar a montar nossa estrutura básica para podermos dar inicio ao nosso arquivo XML.

Clique no ClientDataSet e no Object Inspector procure a propriedade FieldDefs e clique nos ... como mostra a figura 3

figura3.JPG

Figura 3

Logo que você clicar neste botão, vai aparecer a tela de Edição dos nossos campos que colocaremos no ClientDataSet para gerarmos nossa estrutura, pressione Insert no teclado para entrarmos com os seguintes atributos.

 

Name

Propriedade

Valor

Nome_Pessoa

DataType

ftString

 

Size

35

 

Atributes

FaRequired

     

Endereço

DataType

ftString

 

Size

35

 

Atributes

FaRequired

     

Nascimento

DataType

FtDate

 

Size

0

 

Atributes

FaRequired

Nossa tela tem que estar neste formato como mostra a figura 4

figura4.JPG

Figura 4

Agora com nossos campos criados temos que criar o DataSet, pra isso com o mouse clicar com o botão Direito em cima do ClientDataSet e logo em seguida clicar em CREATE DATASET, isso faz a criação dos campos acima na memória da máquina, ainda não está sendo salvo em nenhum lugar. Como mostra na Figura 5.

figura5.JPG

Figura 5

Agora pra definirmos que os dados sejam gravados em arquivos clique novamente no ClientDataSet1 e na propriedade FILENAME vamos colocar o nome de cadastro.xml, lembrando que o delphi salvará esse arquivo na pasta onde o executável estará sendo gravado, no nosso caso em C:\xml. Agora os dados que forem digitados no grid estarão sendo salvos diretamente no arquivo e não ocasionando nenhuma perda.

Clique em cima do DataSource1 e na propriedade DataSet defina o ClientDataSet1 para este componente.

Clique no DBNavigator1 e na propriedade DataSource defina o DataSource1 para este componente.

Clique em cima do DBGrid1 e na propriedade DataSource defina o DataSource1 para este componente, note que sua tela deverá ter a seguinte aparência como mostra abaixo a figura 6 se estiver igual salve o projeto.

figura6.JPG

Figura 6

 

Agora execute seu projeto e entre com os seguintes valores que serão apresentados na figura 7 logo abaixo.

figura7.JPG

Figura 7

Agora toda a inclusão de um novo registro ou qualquer alteração que seja feita será automaticamente gravada no arquivo cadastro.xml e não mais como antes que somente estava criado na memória da máquina.

Bem, agora volte para o projeto vamos configurar o Edit1.text para que ele sirva de um campo de pesquisa de registros do nosso ClientDataSet1, vá até o evento OnChange do Edit1.text e digite a seguinte instrução como mostra na figura 8.

figura8.JPG

Figura 8

Agora execute novamente sua aplicação e perceba que quando você digitar a letra r em minúscula quanto maiúscula vai ser mostrados os dois resultados da pesquisa, o nome de Ricardo e o nome do Ronaldo.

Agora, volte no nosso projeto que iremos fazer com que o usuário possa ordernar o grid de seleção que está sendo mostrados todos os nossos dados da seguinte maneira, clique sobre o DBGrid e no evento OnTitleClick e entre com o código que está sendo mostrado na figura 9 logo abaixo.

figura9.JPG

Figura 9

Bem, até o momento é só, espero ter ajudado com este arquivo !!!!

Até o próximo !!!!!