
Código: Seleccionar todo
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
La idea es hacer un ping a una direccion dada en un textbox y la salida que genera en pantalla pasarla a un archivo de texto, eso lo hacemos con la siguiente orden, anteriormente hemos definido un proceso:
Código: Seleccionar todo
DIM hproc AS Process
.....
.....
hproc = SHELL ("ping -c3 -i 2 " & TextBoxIP.Text & " >" & NombreArchivoSalida)
Código: Seleccionar todo
DO WHILE hproc.State = Process.Running
WAIT 0.1
TextLabel1.text = "espere..."
LOOP
Código: Seleccionar todo
sCads = Split(File.Load(NombreArchivoSalida), "\n")
Código: Seleccionar todo
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
Código: Seleccionar todo
IF mensaje = "No hay paquetes perdidos" THEN
Message.Info("No hay paquetes perdidos")
ELSE
Message.Info("Ha habido algun problema")
ENDIF
Código: Seleccionar todo
NombreArchivoSalida = User.home & "/print.txt"
IF Exist(NombreArchivoSalida) THEN
KILL NombreArchivoSalida
END IF
