Clique para saber mais...
  Home     Download     Produtos / Cursos     Revista     Vídeo Aulas     Fórum     Contato   Clique aqui para logar | 07 de Setembro de 2026
  Login

Codinome
Senha
Salvar informações

 Esqueci minha senha
 Novo Cadastro

  Usuários
64 Usuários Online

  Revista ActiveDelphi
 Assine Já!
 Edições
 Sobre a Revista

  Conteúdo
 Apostilas
 Artigos
 Componentes
 Dicas
 News
 Programas / Exemplos
 Vídeo Aulas

  Serviços
 Active News
 Fórum
 Produtos / Cursos

  Outros
 Colunistas
 Contato
 Top 10

  Publicidade

  [Artigos]  Delphi para internet parte III: Acessando XML com Intraweb
Publicado por ActiveDelphi : Quarta, Abril 15, 2009 - 12:30 GMT-3 (2016 leituras)
Comentários comentar   Enviar esta notícia a um amigo Enviar para um amigo   Versão para Impressão Versão para impressão
Rafael Amaral Olá pessoal! Tenho recebido vários e-mails pedindo a continuidade dos artigos sobre Intraweb, por isso criei esta terceira parte abordando o cadastro e consulta de dados em arquivos XML utilizando o framework Intraweb como interface

Vamos primeiramente criar nosso XML, seguindo a estrutura abaixo:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DATAPACKET Version="2.0">
<METADATA>
<FIELDS>
<FIELD attrname="NOME" fieldtype="string" WIDTH="20"/>
<FIELD attrname="CIDADE" fieldtype="string" WIDTH="15"/>
<FIELD attrname="PAIS" fieldtype="string" WIDTH="15"/>
</FIELDS>
<PARAMS/>
</METADATA>
<ROWDATA>
<ROW NOME="JOAO" CIDADE="SAO PAULO" PAIS="BRASIL"/>
<ROW NOME="EUFRAZIO" CIDADE="SANTOS" PAIS="BRASIL"/>
<ROW NOME="ROONEY" CIDADE="MANCHESTER" PAIS="INGLATERRA"/>
<ROW NOME="MALDINI" CIDADE="MILAO" PAIS="ITALIA"/>
</ROWDATA>
</DATAPACKET>

Note que no exemplo acima estão previamente cadastrados alguns registros, mas isso não é uma regra, você pode muito bem criar apenas a estrutura sem nenhum dado.

Copie este XML e cole em um bloco de notas ou um editor de sua preferência, salvando-o como "Dados.xml".

Feito o XML, crie um novo projeto Intraweb: File/New/Other/VCL for the web. Dê um nome para seu projeto e salve-o, de preferência no mesmo diretório de seu arquivo XML para uma melhor organização.

Criado o projeto e com seu WebForm na tela, adicione os seguintes componentes:

COMPONENTE NOME VALOR
*IWRegion rgCadastro  
iwDbEdit DBENome  
iwDbEdit DBECidade  
iwDbEdit DBEpais  
Iwlabel lblNome Nome:
Iwlabel lblCidade Cidade:
Iwlabel LblPais País:
IwDbNavigator Navegacao  

*Nota: O IwRegion é semelhante a um Panel que estamos acostumados a ver em aplicativos Win32. Neste exemplo colocaremos todos os controles acima, dentro deste container.

Feita a parte de cadastro, vamos para a parte de consultas, adicionando logo abaixo os seguintes componentes:

COMPONENTE NOME
IwDbGrid DbgResultado
IwLabel lblPesquisa
Iwedit EdtPesquisa
IwButton BtPesquisa

Coloque os componentes e o resultado final de seu layout deverá fica semelhante a figura abaixo:


Figura 1 - Resultado da Interface

Bem, nossa parte de layout está pronta. Vamos então programar as funcionalidades de nossa página, o que é algo nada complicado.

Adicione um ClientDataSet e o renomeie como CDSCadastro. Na propriedade FileName, busque o arquivo DADOS.XML e logo após adicione os campos no cds.

Concluída a parte de conexão com nosso XML, adicione um datasource com o nome dsCadastro e na propriedade Dataset, selecione seu CDSCadastro como de costume numa aplicação win32.


Figura 2 - Adicionando o CDSCadastro.

Agora vamos “linkar” o CDSCadastro com os campos e com nosso dbNavigator:

COMPONENTE PROPRIEDADES
EdtNome Datasource=dsCadastro / Datafield=NOME
edtCidade Datasource=dsCadastro / Datafield=CIDADE
EdtPais Datasource=dsCadastro / Datafield=PAIS
Navegacao Datasource=dsCadastro

*Detalhe importante: Setar a propriedade Active de seu CDS como true.

Agora compile seu projeto e veja o resultado. podemos navegar nos registros previamente criados alem de adicionar outros, excluir e alterar através de nosso iwDBnavigator.

Para a parte de consulta, que será exibida em nosso Grid, dê um Ctrl-c e ctrl-v no CDSCadastro e no dsCadastro renomeando-os para CDSConsulta e DsConsulta (não utilizei o mesmo CDS por questões obvias, ponteiro de consulta iria aparecer nos campos do cadastro). Não é necessário setar a propriedade FileName, pois já está setada.

Faça o link do dbgConsulta com o dsConsulta, através da propriedade Datasource e agora é só programar a o botão btConsulta através do evento Onclick ou AsyncClik, caso queira utilizar o Ajax:

procedure TIWForm2.btPesquisaClick(Sender: TObject);
begin
  CDSConsulta.Close;
  CDSConsulta.Filter := 'NOME = ' + QuotedStr(edtPesquisa.Text);
  CDSConsulta.Filtered := True;
  CDSConsulta.Open;
end;

Note que na consulta estamos filtrando apenas por nome, informando ao comando Filter o campo do XML a ser pesquisado. O resultado é este:


Figura 3 - Sistema em funcionamento

Bom pessoal finalizamos mais este artigo abordando um pouco mais profundamente o Intraweb.

É importante ressaltar que apesar destas aplicações web serem feitas de forma bem semelhante a aplicações WIN32, é preciso ter certo cuidado, pois quanto mais carregada sua tela for de componentes, ou quanto mais pesadas forem suas consultas a banco de dados, mais lenta sua pagina será, pois tudo isso será gerado pelo código de sua página. É altamente recomendável separar as consultas e regras de Negócio da Interface Web, deixando-os em camadas diferentes justamente para não ter problemas de lentidão.

Um abraço a todos e o meu agradecimento ao Bruno Lichot, da CodeGear, que sempre que possível esclareceu minhas dúvidas.

Até a próxima!

Por: Rafael Amaral
Contato: rafamaral@hotmail.com



Comentários Comentários
   Ordem:  
Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos.
  Edição 112

Revista ActiveDelphi

  50 Programas Fontes


  Produtos

Conheça Nossos Produtos

Copyright© 2001-2016 – Active Delphi – Todos os direitos reservados