Por: master_of_puppetz + 20.12.2007
Código :
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
import mx.controls.Alert;
import flash.events.Event;
import mx.managers.CursorManager;
//Variable que nos ayuda a verificar si estamos o no en línea
private var enLinea:Boolean = false;
private function init():void {
//mandamos llamar nuestro HTTPService
rss_hs.send();
//Agregamos el Listener que estara al tanto de lo que sucede con la conexión
flash.desktop.NativeApplication.nativeApplication.addEventListener(Event.NETWORK_CHANGE, net_change);
}
private function invoke(e:mx.rpc.events.InvokeEvent):void {
CursorManager.setBusyCursor();
}
private function fault(e:FaultEvent):void {
//Si no pudo alcanzar la página, esta desconectado
enLinea = false;
CursorManager.removeBusyCursor();
Alert.show("Hubo un error al procesar su solicitud.\nAl parecer estas desconectado de internet");
}
private function result_rss(e:ResultEvent):void {
//Si hay un resultado, pues si estamos conectados
enLinea = true;
CursorManager.removeBusyCursor();
}
private function net_change(e:Event):void {
/* invertimos el valor cada vez que cambia el estado de la red
* esto es por que cuando hay exito en la consulta, se pone en true la variable
* entonces cuando se hace el cambio de estado pasa de true a false
* o bien, de conectado a desconectado y cuando no hay éxito, pues viceversa
*/
enLinea = !enLinea;
if(enLinea) Alert.show("Conectado!");
else Alert.show("Al parecer te has desconectado!");
}
]]>
</mx:Script>
<mx:HTTPService id="rss_hs" url="http://www.cristalab.com/rss.php" useProxy="false" method="POST" resultFormat="e4x"
invoke="invoke(event)" fault="fault(event)" result="result_rss(event)"/>
</mx:WindowedApplication>
Maxerker_blog :