Esse artigo faz parte da revista Clube Delphi Edição 82. Clique aqui para ler todos os artigos desta edição

ONT-FAMILY: Verdana">Podemos encontrar no site dos Correios (www.correios.com.br) quase no rodapé da página principal, o sistema de busca de CEPs. No mesmo quadro, mais abaixo encontramos um link que direciona para “outras formas de consulta” (www.correios.com.br/servicos/cep/cep_loc_log.cfm).

Nessa página, no menu lateral esquerdo existe o link: Veja como consultar o CEP no Office da Microsoft (www.correios.com.br/parcerias/cep/office2003/default.cfm), onde você encontra as instruções de como instalar o Web Service no Office 2003.

Seguindo as instruções da página, durante o processo de instalação, o Office exibe uma janela com um endereço direcionando para o Web Service (Figura 1), a extensão ASMX indica que o Web Service foi criado com ASP.NET, e será esse endereço que usaremos para fazer as consultas.

 

Figura 1. Extraindo o endereço do Web Service do Office

 

Criando o projeto

Crie um novo projeto no Delphi. Para obter acesso ao Web Service usaremos SOAP através de uma interface que o Delphi gerará por meio do WSDL Importer. No menu File>New>Other, selecione a aba WebServices e então o WSDL Importer.

No wizard que aparecerá, digite o endereço do Web Service. O valor a ser digitado, é: “http://consultacep.correios.com.br/office2003/Query.asmx?WSDL”. O ?WSDL serve para que o Web Service retorne sua descrição e funções remotas disponíveis, se quiser ver o retorno detalhado abra o endereço anterior em seu navegador (Figura 2).

 

Figura 2. WSDL Import do Delphi

 

Depois de digitar o endereço, clique em Next e veja que o Delphi gerou uma unit com a interface de acesso ao Web Service, que possui apenas uma função chamada Query (Figura 3).

 

Figura 3. Interface gerada pelo WSDL Import para acesso ao Web Service

 

Após finalizar o assistente você terá uma nova unit em seu projeto, Query.pas. Como nosso objetivo é criar um cadastro de fornecedores, precisaremos de um banco de dados e a devida tabela para armazenar os fornecedores cadastrados. Neste exemplo utilizaremos o Firebird como banco de dados e os componentes dbExpress para acessá-lo.

 

Criando o banco de dados

Criei uma estrutura simples para a tabela de fornecedores, apenas para demonstrar o funcionamento do Web Service. Vamos então criar o banco de dados de testes através do script da Listagem 1, usando seu gerenciador Firebird preferido ou mesmo usando o isql na pasta bin do Firebird. Lembre-se de criar a pasta mostrada no script ou altere o caminho do arquivo para o de sua preferência.

 

Listagem 1. Script para criação do banco de dados de exemplo

CREATE DATABASE 'LOCALHOST:C:\CLUBEDELPHI\TESTE_CEP.FDB'

USER 'SYSDBA' PASSWORD 'masterkey' PAGE_SIZE 4096;

 

CREATE TABLE FORNECEDORES (

  ID INTEGER NOT NULL,

  RAZAO_SOCIAL VARCHAR(200) NOT NULL,

  CEP VARCHAR(8) NOT NULL,

  ENDERECO VARCHAR(200),

  NUMERO INTEGER,

  BAIRRO VARCHAR(100),

  CIDADE VARCHAR(150),

  UF CHAR(2),

  CNPJ_CPF VARCHAR(18),

  TELEFONE VARCHAR(22),

  CONTATO VARCHAR(200),

  WEBSITE VARCHAR(200),

  EMAIL VARCHAR(200));

 

COMMIT WORK;

ALTER TABLE FORNECEDORES ADD PRIMARY KEY (ID);

COMMIT WORK;

 

Criando o cadastro de fornecedores

Após criar o banco de dados, volte ao Delphi e adicione ao formulário os componentes: SQLConnection, SimpleDataset, DataSource, um DBNavigator e configure-os como descrito a seguir:

·         SQLConnection

o        Name: “SQLCon”

o        ConnectionName: “IBConnection”

o        LoginPrompt: False

o        Params[SQLDialect]: “3”

o        Params[Database]: “C:\CLUBEDELPHI\TESTE_CEP.FDB”

...

Quer ler esse conteúdo completo? Tenha acesso completo