Página 1 de 1

Viacep no XHARBOUR

Enviado: 22 Set 2021 11:35
por KLEBERVO
Bom dia
Utilizo o xharbour com bcc e gostaria de saber qual função usar para acessar um ws?
Vi exemplos de harbour com a lib hbtip, mas nao sei como aplicar no xharbour.
Qualquer ajuda é bem vinda...

Viacep no XHARBOUR

Enviado: 23 Set 2021 09:11
por Itamar M. Lins Jr.
Olá!
Tem algum impedimento de migrar, atualizar para o Harbour 3.2 e GCC ?

Saudações,
Itamar M. Lins Jr.

Viacep no XHARBOUR

Enviado: 23 Set 2021 16:05
por KLEBERVO
Boa tarde Sr Itamar
Na verdade eu não sei se a linguagem é totalmente compatível.
Eu apenas estou fazendo a manutenção do sistema da minha loja.
O sistema esta em xharbour puro com BCC e a base de CEP que eu tenho esta muito desatualizada.
Como eu estou totalmente desatualizado, saberia me dizer, se o harbour ficou mais atualizado do que o xharbour?
Atenciosamente,
Kleber Valentim

Viacep no XHARBOUR

Enviado: 23 Set 2021 16:17
por Itamar M. Lins Jr.
Olá!
saberia me dizer, se o harbour ficou mais atualizado do que o xharbour?
Nunca deixou de ser, o xHarbour é uma cópia do Harbour.
A ideia do xHb, foi só fogo de palha.

Saudações,
Itamar M. Lins Jr.

Viacep no XHARBOUR

Enviado: 23 Set 2021 17:49
por KLEBERVO
Perfeito Sr Itamar.

Vou baixar o harbour para fazer as atualizações.

Muito grato...

Viacep no XHARBOUR

Enviado: 28 Jan 2022 12:10
por alaminojunior
Eis o exemplo que utilizo em xHarbour, que deve funcionar também em Harbour.

Código: Selecionar todos

Function chkcep(cCep)
Local aUF, aCID, aBAI, aLOG, aRUA
if !netok()
	return {}
endif
PRIVATE oPg,cBuf
oPg := CreateObject("Microsoft.XMLHTTP")
oPg:Open("GET","http://cep.republicavirtual.com.br/web_cep.php?cep=" + cCep + "&formato=xml",.F.)
oPg:Send()
cBuf := oPg:responseBody
if at("cep inválido",cBuf) > 0
	msgexclamation("CEP inválido !","ATENÇÃO")
	return {}
endif
aUF  := substr(cBuf, at('<uf>', cBuf) + 4, 2)
aCID := substr(cBuf, at('<cidade>', cBuf) + 8, at('</cidade>', cBuf) - (at('<cidade>', cBuf) + 8))
aBAI := substr(cBuf, at('<bairro>', cBuf) + 8, at('</bairro>', cBuf) - (at('<bairro>', cBuf) + 8))
aLOG := substr(cBuf, at('<tipo_logradouro>', cBuf) + 17, at('</tipo_logradouro>', cBuf) - (at('<tipo_logradouro>', cBuf) + 17))
aRUA := substr(cBuf, at('<logradouro>', cBuf) + 12, at('</logradouro>', cBuf) - (at('<logradouro>', cBuf) + 12))
return {pad(aLOG + " " + aRUA,40),pad(aBAI,30),pad(aCID,25),pad(aUF,2)}