******************** Function Main(cCNPJ) ******************** * * If empty(cCNPJ) .or. len(cCNPJ) > 14 .or. len(cCNPJ) < 14 alert("Informe o CNPJ corretamente !") cCNPJ := "60316817000103" //CNPJ -> Microsoft //"5311379100012" EndIf GetCNPJ(cCNPJ) Return Nil *********************** Function GetCNPJ(cCNPJ) *********************** * * Local cRazao, cFantasia, cEndereco, cBairro, cCidade Local cURL, oHTTP, cBloco, nInicio, nFim, cCEP If empty(cCNPJ) hwg_Msginfo("Informe o CNPJ") return .f. EndIf cURL := "http://cnpj.info/"+cCNPJ oHTTP:= TIPClientHTTP():New( cURL ) IF oHTTP:Open() IF oHTTP:ReadToFile( "cnpj_"+cCNPJ+".html" ) Else alert( "Erro gravando dados do CNPJ: "+cCNPJ, oHTTP:lastErrorMessage() ) EndIF Else alert( "Erro conectando: ", oHTTP:lastErrorMessage() ) RETURN .F. ENDIF cBloco := upper( hb_memoread("cnpj_"+cCNPJ+".html") ) cBloco := substr(cBloco,hb_at("
",cBloco) ,hb_at("",cBloco) ) nInicio := hb_at("NOME DA EMPRESA",cBloco) nFim := hb_At( "", cBloco, nInicio) - nInicio cRazao := substr(cBloco,nInicio,nFim ) cRazao := substr( cRazao, hb_rat(">",cRazao)+1 ) ? cRazao cBloco := substr(cBloco,nInicio+nFim) nInicio := hb_at("FANTASIA NOME",cBloco) nFim := hb_At( "", cBloco, nInicio) - nInicio cFantasia := substr(cBloco,nInicio,nFim ) cFantasia := substr( cFantasia, hb_rat(">",cFantasia)+1 ) ? cFantasia cBloco := substr(cBloco,nInicio+nFim) nInicio := hb_rat("ENDERE",cBloco)+15 nFim := hb_At( "CONTATOS", cBloco, nInicio) - nInicio - 5 //Tem endereço com 4 e 5 linhas cBloco := substr(cBloco,nInicio,nFim) ? mlcount(cBloco) lRef := mlcount(cBloco) == 5 nInicio := hb_rat("ENDERE",cBloco)+15 nFim := hb_At('