Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Caros Amigos,
Gostaria de uma dica da galera:
preciso de uma rotina que busce, via webservice ou de uma outra forma qualquer, o endereço referente a um CEP qualquer. Tipo , eu digito o CEP e vem o Logradouro, end, bairro, cidade e UF.
tenho essa função aqui
procedure TForm1.BuscaCEP(CEP: String);
var
vLista :TStringList;
vTemp ,
vEnd,vBairro,vCidade,vUF : String;
begin
vTemp := IdHTTP.Get('http://republicavirtual.com.br/web_cep.php?cep='+CEP+'&formato=query_string');//formato string
memo1.Lines.Add(IdHTTP.Get('http://republicavirtual.com.br/web_cep.php?cep='+CEP+'&formato=xml'));// formato
vLista:= TStringList.Create;
vLista.Text:= UpperCase(StringReplace(vTemp, '&', #13#10, [rfreplaceAll]));
if vLista.Values['RESULTADO'] = '0' then
raise Exception.Create('Não há dados para esta seleção!');
vEnd := vLista.Values['TIPO_LOGRADOURO'] + ' ' + vLista.Values['LOGRADOURO'];
edtLogradouro.Text := UpperCase(StringReplace(vEnd, '+', ' ', [rfreplaceAll]));
vBairro := vLista.Values['BAIRRO'];
edtBairro.Text :=UpperCase(StringReplace(vBairro, '+', ' ', [rfreplaceAll]));
vCidade := vLista.Values['CIDADE'];
edtCidade.Text :=UpperCase(StringReplace(vCidade, '+', ' ', [rfreplaceAll]));
vUF := vLista.Values['UF'];
edtUF.Text :=UpperCase(StringReplace(vUF, '+', ' ', [rfreplaceAll]));
end;
Eis a questao...
nos edits, quando tem algum acento nas palavras, o conteudo fica com caracteres "malucos"...
no memo, sai direitinho
A questão... alguem tem uma dica melhor do que essa pra me passar? Alguem sabe o por que do erro nos edits?
Cara,
Eu trabalho com Delphi 5, e não tenho esse componente (idhttp), você saberia dizer qual posso usar?
Eu tb trabalho com Dot.net (VB) e quando preciso converter linguagem HTML para texto normal uso assim:
LbDescricao.Text = Server.HtmlDecode(Ds.Tables(0).Rows(0)("Cal_Descricao"))
Agora, claro q Delphi é Delphi né, camarada! Então, não sei qual a versão do Delphi (acho q é Delphi 7) você está usando, mas veja se não tem algo do tipo:
vUF := Server.HtmlDecode(vLista.Values['UF']);
ou então...
vTemp:=stringreplace(idhttp1.URL.URLDecode(IdHTTP.Get('http://republicavirtual.com.br/web_cep.php?cep='+CEP+'&formato=query_string')),'&',#13#10,[rfreplaceAll]);//formato string
alguem?