Shopping Hospedagem Fórum Contato
     
   O portal do desenvolvedor ASP Florianópolis-SC, Terça-feira - 25 de Setembro de 2018  
Busca

Menu do site
Efetuar Login
Usuário:

Senha:

 Esqueceu a senha?
Login automático

 Cadastre-se
Delphi + ASP
Avaliações: 32   -   Minha nota: Média Geral: 4  

Crie um sistema feito em Delphi que captura dados através do ASP

Este recurso pode ser util quando usamos uma base de dados em Access, o que significa que a mesma não pode ser acessada remotamente. Diferente de uma base de dados em SQL Server por exemplo, que pode ser acessada remotamente pelo Delphi através do componente ADO.


Criando o banco de dados

Abra o Acces e crie novo banco de dados em branco chamado asp_delphi na pasta C:\Inetpub\wwwroot
Crie uma nova tabela chamada cadastro usando o modo design com os seguintes campos:
id - Autonumérico
nome - texto
email - texto

Em seguida, adicione alguns dados na tabela
Se preferir, clique aqui e faça o download da base de dados

Veja abaixo a tabela deste exemplo:


 
Vamos ao código

1
2
3
4
5
6
7
8
9
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?xml version="1.0" encoding="iso-8859-1"?>
<cadastro>

<%
Set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open "Data Source=C:\Inetpub\wwwroot\asp_delphi.mdb;Provider=Microsoft.Jet.OLEDB.4.0;"
ComandoSQL = "SELECT * FROM cadastro ORDER BY nome ASC"
Set objRS = Conexao.Execute(ComandoSQL)
If Not objRS.EOF Then
While Not objRS.EOF
%>

<usuario id="<%=objRS("id")%>" nome="<%=objRS("nome")%>" email="<%=objRS("email")%>"/>

<%
objRS.MoveNext
Wend
Else
%>

<usuario id="" nome="" email=""/>

<%
End If
Conexao.Close
Set objRS = Nothing
Set Conexao = Nothing
%>

</cadastro>

Crie uma nova página em ASP usando seu editor preferido e salve-a como asp_delphi.asp dentro da pasta C:\Inetpub\wwwroot
Se preferir, clique aqui e faça o download da página


O código ASP irá gerar um texto em XML que será interpretado pelo componente XMLDocument do Delphi.

Veja abaixo a página ASP sendo exibida pelo browser:

 

Agora vamos ao Delphi

Abra o Delphi e crie uma nova aplicação, clicando em File›New›Application

Insira no formulário o componente XMLComponet da aba Internet, clicando no componente e em seguida no formulário

Insira também o componete StrinGrid da aba Additional, clicando no componente e em seguida no formulário

O formulário ficará da seguinte forma:



Clique na aba Events do Object Inspector, e de um duplo clique na área branca do evento OnCreate.

Será criado automaticamente uma nova procedure para o evento OnCreate do Formulário.
Insira o conteudo abaixo destacado em azul no código recêm criado pelo Delphi.

procedure TForm1.FormCreate(Sender: TObject);
  var i : integer;
begin

  XMLDocument1.Active := False;
  XMLDocument1.LoadFromFile('http://localhost/asp_delphi.asp');
  XMLDocument1.Active := True;
  StringGrid1.ColCount := 3;
  StringGrid1.RowCount := XMLDocument1.Node.ChildNodes['cadastro'].ChildNodes.Count + 1;
  StringGrid1.Cells[0,0] := 'id';
  StringGrid1.ColWidths[0] := 20;
  StringGrid1.Cells[1,0] := 'Nome';
  StringGrid1.ColWidths[1] := 150;
  StringGrid1.Cells[2,0] := 'Email';
  StringGrid1.ColWidths[2] := 150;
  for i := 1 to XMLDocument1.Node.ChildNodes['cadastro'].ChildNodes.Count do
    begin
      StringGrid1.Cells[0,i] := XMLDocument1.ChildNodes['cadastro'].ChildNodes['usuario'].Attributes['id'];
      StringGrid1.Cells[1,i] := XMLDocument1.ChildNodes['cadastro'].ChildNodes['usuario'].Attributes['nome'];
      StringGrid1.Cells[2,i] := XMLDocument1.ChildNodes['cadastro'].ChildNodes['usuario'].Attributes['email'];
    end;

end;

Pressione então a tecla F9 ou clique em Run›Run para rodar o programa

Veja abaixo o programa sendo rodado:


Espero que este exemplo lhe seja útil.


Fabiano Dias
fabiano@superasp.com.br

www.superasp.com.br
O portal do desenvolvedor ASP




SuperASP do Brasil Ltda

03.066.522/0001-84
Av. Rio Branco 433 - Centro - Florianopolis - SC
Contato

© 2001/2008 - Superasp do Brasil Ltda. Todos os direitos reservados