Hacer Un Ping (Solucionado)


Objetivo: Hacer Un Ping (Solucionado)
Hola, es la primera vez que participo del foro.

Mis conocimiento en gambas son muy limitados, ya que hace poco decidi empezar a utilizarlo,
necesito conocer un fragmento que me permita ingresar una direccion ip en un TEXT y al presionar un boton me devuelva un mensaje informando si el ping fue exitoso o no. La verdad es que no se como hacerlo, pero seria bueno encontrar la forma de que funcione.

Muchas Gracias!

Perfil MP  
Objetivo: Re: Hacer Un Ping
He encontrado por internet este script en bash:

#!/bin/bash

# Programa que pide una direccion IP al usuario y reliza un 3 pings con interva$
read -p "Ingrese una direccion IP: " ip

if $(ping -c3 -i 2 $ip > /dev/null);then
echo "La maquina $ip esta arriba (up)"
else
echo "La maquina $ip esta abajo (down)"
fi


Pero no se como llevarlo a gambas2, seguramente con la orden Exec o Shell se debe de conseguir...

Objetivo: Re: Hacer Un Ping
Ya tengo el codigo en gambas...

Tienes que crear un listbox1,TextLabel1,un textobox llamalo TextBoxIP, y un boton llamado ButtonComprobar
pantallazo_1284109726_527815


PUBLIC SUB ButtonComprobar_Click()

DIM hproc AS Process
DIM buf AS String
DIM sCads AS NEW String[]
DIM a AS Integer
DIM NombreArchivoSalida AS String
DIM mensaje AS String

ListBox1.Clear

NombreArchivoSalida = User.home & "/print.txt"

IF Exist(NombreArchivoSalida) THEN
KILL NombreArchivoSalida
END IF

'PRINT "ping -c3 -i 2 "; TextBoxIP.Text & " >"; NombreArchivoSalida


hproc = SHELL ("ping -c3 -i 2 " & TextBoxIP.Text & " >" & NombreArchivoSalida)

DO WHILE hproc.State = Process.Running
WAIT 0.1
TextLabel1.text = "espere..."
LOOP

TextLabel1.text = "Salida generada"

sCads = Split(File.Load(NombreArchivoSalida), "\n")

FOR a = 0 TO scads.Count - 1
ListBox1.Add(Str(sCads[a]))
IF InStr(scads[a], "0% packet loss") <> 0 THEN
mensaje = "No hay paquetes perdidos"
ENDIF

' PRINT scads[a]

NEXT

IF mensaje = "No hay paquetes perdidos" THEN
Message.Info("No hay paquetes perdidos")
ELSE
Message.Info("Ha habido algun problema")
ENDIF

END



Lo que hace es la salida del ping de la consola te lo muestra en la pantalla.

Y hace una pequeña comprobacion, si alguna linea contine "0% packet loss", saca un mensaje diciendo que "No hay paquetes perdidos", en cualquier otro caso dice "Ha habido algun problema" (o bien no existe la IP, no tienes conexion a internet..)

pantallazo_1_1284110005_431072


Aqui esta el codigo fuente Enlace

última edición por jsbsan el Viernes, 10 Septiembre 2010, 10:20; editado 1 vez
Objetivo: Re: Hacer Un Ping
Excelente! Funciono de maravilla! muchas gracias por los aportes!

Perfil MP  
Objetivo: Re: Hacer Un Ping
Ok, he puesto una entrada en mi blog explicando el funcionamiento del programa.

http://jsbsan.wordpress.com/2010/09/11/haciendo-ping-en-gambas/



Nota:
Si esta resuelto el problema, edita el titulo de tu primera pregunta y añade [SOLUCIONADO]


Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.2517s (PHP: -55% SQL: 155%)
Consultas SQL: 30 - Debug off - GZIP Activado