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.
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.
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
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
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.
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.
Figura 6
Agora execute seu projeto e entre com os seguintes valores que serão apresentados na figura 7 logo abaixo.
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.
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.
Figura 9
Bem, até o momento é só, espero ter ajudado com este arquivo !!!!
Até o próximo !!!!!