terça-feira, 4 de dezembro de 2012

Verificação de IPs (ping)

Certas aplicações necessitam utilizar recursos da rede ou se conectar com outros computadores. Infelizmente, em PowerBuilder, as bibliotecas oferecidas para este tipo de conexão são bastante pobres.

Neste post eu apenas dou uma dica para realizar uma simples verificação de IP, ou seja, executar o clássico comando "ping" através do PowerBuilder. Faremos isto através de instruções fornecidas pelo próprio Shell do sistema operacional.

Abaixo eu apresento um exemplo de como isto pode ser implementado.

OleObject lo_Shell
Integer  li_return
String ls_ip

ls_ip = sle_ip.text

lo_Shell = CREATE OleObject
li_return = lo_Shell.ConnectToNewObject( "WScript.Shell" )

IF li_return <> 0 THEN
Messagebox("Falha", "Falha ao tentar instanciar Shell do Sistema Operacional.")
END IF

li_return =  lo_Shell.Run("ping -n 1 -w 300 " + ls_ip, 0, TRUE)

IF li_return <> 0 THEN
Messagebox("Falha", "Host indisponível.")
END IF


2 comentários:

  1. Existe uma forma de ficar pingando sem parar, sem travar a aplicação?
    Eu tentei fazer isso num loop mas geralmente o programa para de responder se ficar clicando por toda a parte... rsrs
    Existe como deixar rodando isso sem parar de forma estável?

    ResponderExcluir
  2. Olá,

    Talvez você esteja precisando de uma aplicação MultiThread, não?
    Se for, tente utilizar os comandos SharedObjectGet e SharedObjectRegister. Dê uma verificada no help do PowerBuilder sobre eles.

    ResponderExcluir