Controlar filas de una tabla en internet y ejecutar acciones

y programas personales para otros como tu, puede que te corrijan ;)
Responder
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2099
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Controlar filas de una tabla en internet y ejecutar acciones

Mensaje por BasicOs »

Esto es un programa hecho algo a medida pero que puede servir para otros usos, ya que incluye una lógica de que si una página aumenta de tamaño, entonces hay que ejecutar causalmente un aviso, y también hay que ejecutar alguna aplicación, (en este caso el vnc).
Está hecho para controlar una página web en php-mysql que se basa una simple tabla resumen (cada fila es una incidencia), y en el momento en que aumentan, hay una fila más.
Esta incidencia implica que hay revisarla, y posiblemente ejecutar algún programa, en este caso el :smt023 :smt024 de control remoto como el vnc.

Código: Seleccionar todo

;Basicos
#include <INet.au3>
#include <IE.au3>
$PaginaAControlar = "http://aquivamiruta/tablaarevisarsiAumenta.php"
Local $nSize = StringLen(_INetGetSource($PaginaAControlar))
While 1
	If $nSize <> StringLen(_INetGetSource($PaginaAControlar)) Then
		TrayTip("Cambio en Incidencias", ($nSize - StringLen(_INetGetSource($PaginaAControlar))), 15)
		$zSize = $nSize
		$nSize = StringLen(_INetGetSource($PaginaAControlar))
		If $zSize < StringLen(_INetGetSource($PaginaAControlar)) Then
			$oIE = _IECreate($PaginaAControlar, 0, 0)
			$sText = _IEBodyReadText($oIE)
			$Ip = StringMid($sText, StringInStr($sText, "DondeEmpiezaLaIp"), 12) ; sale el nombre de red de la máquina en la tabla se guarda en una variab
;;aqui se va limpiando de basura restos de la tabla
			$sText = StringReplace($sText, "textoa Quitar de las filas", "")
			$sText = StringReplace($sText, "texto a sustituir en las filas", "-" & "HPC")
			_IEQuit($oIE)
			ClipPut($sText)
			;string(@year) se puede usar el año, las filas empiezan como texto marcador de comienzo de fila con 2010-
			$UltIncidencias=StringMid($sText, StringInStr($sText, "2010-"), StringInStr($sText, "2010-", 0, 5)) 
			$UltIncidencias="¿Aceptar para abrirla con el Internet Explorer? " & @CR & @CR & StringLeft($UltIncidencias,12) & " " & StringMid($UltIncidencias,15)
			If MsgBox(1, "Hay nueva incidencia", StringReplace($UltIncidencias,@YEAR & "-","")) = 1 Then $oIE = _IECreate($PaginaAControlar, 0, 1)
			$IPnombre=$IP
			$Ip= InputBox("Hay nueva incidencia", "¿Usar el Vnc con "&$Ip & " y su IP "& TCPNameToIP($IP)& @CR & StringMid($sText, StringInStr($sText, "2010-"), StringInStr($sText, "2010-", 0, 1)),TCPNameToIP($IP) )
			If $Ip<> "" Then ShellExecute("C:\Archivos de programa\RealVNC\VNC4\vncviewer.exe", $IP)
			If WinWaitActive("VNC Viewer : Authen","",5) <> 0 Then
				Send("aqui va la contraseña del vnc y se puede enviar INTRO")
			Else
				MsgBox(0,"Fallo del Vnc", $IPnombre & " y su IP introducida: "& TCPNameToIP($IP) & @CR )
			EndIf
		EndIf
	EndIf

	Sleep(4000)
WEnd
_IEQuit($oIE)
El programa es de pocas lineas y se puede modificar a gusto de la persona. Es un ejemplo de que se puede conectar programas php con eventos más "DUROS" o de codigo win32, que ejecuten otros programas en el pc. :smt026 E incluso usarlo como ejecutor de programas locales, leyendo las variables de las tablas de html/php, digamos que podemos dejarlo como un piloto automático, cuando esperamos que en internet se añada algo.
O también puedes crear una aplicación como el messenger que lea información que se va generando en la web!!

Salu22:)
P.D.:En esta linea habia otro programa para vigilar un tablón de anuncios: http://www.emesn.com/autoitforum/viewto ... 031&p=7671
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: Controlar filas de una tabla en internet y ejecutar acciones

Mensaje por Ximorro »

No está mal la idea aunque al principio se podría optimizar mucho, hace un montón de StringLen(_INetGetSource($PaginaAControlar)), lo que implica descargar la página 4 veces en 5 líneas de código. Esas de dentro del bucle probablemente se pueden unificar todas.

Más que nada lo digo porque si alguien lo usa que tenga en cuenta que será conveniente optimizarlo un poco para que no haga tantos accesos por red.
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Responder