Topic: Brazilian find postcode need help
procedure ConsultarCEP(vCEP: string; var vLogradouro, vBairro, vCidade, vUF: string);
var
vHTTP: TIdHTTP;
vXML: TStringStream;
vXMLDoc: TXMLDocument;
vCEPNode, vLogradouroNode, vBairroNode, vCidadeNode, vUFNode: IXMLNode;
begin
vHTTP := TIdHTTP.Create(nil);
vXML := TStringStream.Create('');
try
vHTTP.Get('https://viacep.com.br/ws/' + vCEP + '/xml/', vXML);
vXML.Position := 0;
ReadXMLFile(vXMLDoc, vXML);
vCEPNode := vXMLDoc.ChildNodes.FindNode('xmlcep');
if Assigned(vCEPNode) then
begin
vLogradouroNode := vCEPNode.ChildNodes.FindNode('logradouro');
vBairroNode := vCEPNode.ChildNodes.FindNode('bairro');
vCidadeNode := vCEPNode.ChildNodes.FindNode('localidade');
vUFNode := vCEPNode.ChildNodes.FindNode('uf');
if Assigned(vLogradouroNode) then
vLogradouro := vLogradouroNode.Text;
if Assigned(vBairroNode) then
vBairro := vBairroNode.Text;
if Assigned(vCidadeNode) then
vCidade := vCidadeNode.Text;
if Assigned(vUFNode) then
vUF := vUFNode.Text;
end;
finally
vHTTP.Free;
vXML.Free;
vXMLDoc.Free;
end;
end;
this code is correct? im try but is some error.