Olá galera.]
Alguém sabe os comando harbour para checar se tem internet ativa na cpu ? ?
COMANDO HARBOUR PARA SABER SE TEM INTERNET
Moderador: Moderadores
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
COMANDO HARBOUR PARA SABER SE TEM INTERNET
Não sei se alguém tem uma sugestão melhor, mas uso dessa forma:
Se você não enviar a URL a ser verificada, ela checa o google, que é uma URL com significativa estabilidade.
Código: Selecionar todos
Func IConectada( cAddress ) // Se cAddress = Nil, por padrÒo checa o google
Local aHosts
inetInit()
If cAddress == Nil
cAddress := "www.google.com.br"
EndiF
aHosts := inetGetHosts( cAddress )
IF aHosts == NIL .or. Len(aHosts)=0
inetCleanup()
Return .f.
endif
inetCleanup()
Return .t.Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
COMANDO HARBOUR PARA SABER SE TEM INTERNET
Olá!
O windows fica um iconizinho no canto direito inferior.
Fica o desenho de um GLOBO.
Tem coisas que é bom deixar a cargo do sistema operacional.
Tem outros exemplos aqui no forum, basta procurar.
Antigamente agente conversava com a impressora, hoje conversamos com o sistema operacional sobre qual é o estado da impressora.
Mas mesmo assim, mesmo sem internet existe a porta loop back 127.0.0.1 ou localhost, que sempre funciona se desejar testar (apache) por exemplo local.
Saudações,
Itamar M. Lins Jr.
O windows fica um iconizinho no canto direito inferior.
Fica o desenho de um GLOBO.
Tem coisas que é bom deixar a cargo do sistema operacional.
Tem outros exemplos aqui no forum, basta procurar.
Antigamente agente conversava com a impressora, hoje conversamos com o sistema operacional sobre qual é o estado da impressora.
Mas mesmo assim, mesmo sem internet existe a porta loop back 127.0.0.1 ou localhost, que sempre funciona se desejar testar (apache) por exemplo local.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
COMANDO HARBOUR PARA SABER SE TEM INTERNET
Olá!
Fiz algumas alterações na função do Jairo (com licença Jairo).
Funciona mas, alguém sabe quais funções tem no Harbour no lugar destas do xHarbour: InetInit(), InetGetHosts() e InetCleanup()?
Só para não ter que linkar a xhb.hbc.
Fiz algumas alterações na função do Jairo (com licença Jairo).
Código: Selecionar todos
// Compilar: hbmk2 teste xhb.hbc
PROCEDURE Teste
hb_Alert( If( IConectada( 'http://sitefoo.com/' ), 'True', 'False' ) )
RETURN
//--------------------------------------------------------------------------
FUNCTION IConectada( cAddress ) // Se cAddress = Nil, por padrÒo checa o google
LOCAL aHosts
cAddress := If( Empty( cAddress ), "www.google.com", cAddress )
InetInit()
aHosts := InetGetHosts( cAddress )
InetCleanup()
RETURN ( ! Empty( aHosts ) )
//--------------------------------------------------------------------------Só para não ter que linkar a xhb.hbc.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
COMANDO HARBOUR PARA SABER SE TEM INTERNET
Eu uso assim, as funções são do harbour uso a 3.2 atualmente.
Abraços? temInternet() //retorna .t. ou .f.
Código: Selecionar todos
********************************************************************************
FUNCTION temInternet()
********************************************************************************
LOCAL string:="", cBai:="http://www.google.com", oHttp
oHttp:=TIpClientHttp():New(cBai)
if oHttp:open()
/* pode haver uma demora na leitura, por isso este 'for' */
for i=1 to 5
string:=oHttp:readAll()
if !empty(string)
exit
endif
millisec(200)
next
oHttp:close()
else
return .f.
endif
if !"ESTOU COM SORTE"$upper(string)
return .f.
endif
return .t.Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
COMANDO HARBOUR PARA SABER SE TEM INTERNET
Olá!
Obrigado Andril.
Funciona. Retorna todo o código fonte da página inicial do Google mas depende da língua do local onde está executando, o que pode ser um inconveniente. Achei melhor a opção que usa funções do xHarbour. Ainda falta ver a CURL...
Obrigado Andril.
Funciona. Retorna todo o código fonte da página inicial do Google mas depende da língua do local onde está executando, o que pode ser um inconveniente. Achei melhor a opção que usa funções do xHarbour. Ainda falta ver a CURL...
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)

