<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CODIGO.actionscript &#187; AIR</title>
	<atom:link href="http://www.codigoactionscript.org/tag/air/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codigoactionscript.org</link>
	<description>Blog de programación en ActionScript. Tips, tutoriales, ejemplos de Adobe Flash, Flex y AIR</description>
	<lastBuildDate>Fri, 30 Sep 2011 11:25:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Adobe Wave, el twitter de Adobe, disponible en beta</title>
		<link>http://www.codigoactionscript.org/adobe-wave-el-twitter-de-adobe-disponible-en-beta/</link>
		<comments>http://www.codigoactionscript.org/adobe-wave-el-twitter-de-adobe-disponible-en-beta/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 03:09:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Aplicaciones]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[aplicación]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[wave]]></category>

		<guid isPermaLink="false">http://www.codigoactionscript.org/?p=507</guid>
		<description><![CDATA[<p>=http://labs.adobe.com/technologies/waveAdobe Wave[/url] es una nueva herramienta en formato AIR que acaba de ser publicada en fase beta, y que podemos descargar e instalar desde los =http://labs.adobe.com/technologies/waveLabs de Adobe[/url].</p>
<p>Adobe Wave es un sistema de notificaciones parecido a Twitter ya que permite al usuario registrarse a diferentes canales de información y recibir mensajes instantáneos cuandos estos los publiquen, y a su vez permite al usuario crear su propio canal para enviar noticias a sus usuarios registrados.</p>
<p>Las diferencias de Adobe Wave y Twitter son grandes, y en realidad no son dos servicios comparables [...]
Related posts:<ol>
<li><a href='http://www.codigoactionscript.org/disponible-adobe-air-2-beta-2/' rel='bookmark' title='Disponible Adobe AIR 2 beta 2'>Disponible Adobe AIR 2 beta 2</a></li>
<li><a href='http://www.codigoactionscript.org/adobe-lanza-adobe-labs-ideas-para-flash-catalyst/' rel='bookmark' title='Adobe lanza Adobe Labs Ideas para Flash Catalyst'>Adobe lanza Adobe Labs Ideas para Flash Catalyst</a></li>
<li><a href='http://www.codigoactionscript.org/beta-de-adobe-air-2-0-disponible-en-labs/' rel='bookmark' title='Beta de Adobe AIR 2.0 disponible en Labs'>Beta de Adobe AIR 2.0 disponible en Labs</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://labs.adobe.com/technologies/wave">=http://labs.adobe.com/technologies/wave</a>Adobe Wave[/url] es una nueva herramienta en formato <a href="http://www.cristalab.com/tips/tags/air">AIR</a> que acaba de ser publicada en fase beta, y que podemos descargar e instalar desde los <a href="http://labs.adobe.com/technologies/wave">=http://labs.adobe.com/technologies/wave</a>Labs de Adobe[/url].</p>
<p>Adobe Wave es un sistema de notificaciones parecido a <a href="http://es.wikipedia.org/wiki/Twitter">Twitter</a> ya que permite al usuario registrarse a diferentes canales de información y recibir mensajes instantáneos cuandos estos los publiquen, y a su vez permite al usuario crear su propio canal para enviar noticias a sus usuarios registrados.</p>
<p>Las diferencias de Adobe Wave y Twitter son grandes, y en realidad no son dos servicios comparables ni excluyentes, ya que Wave no está enfocado a compartir información, ya que no puedes contestar ni reenviar las notificaciones que te lleguen, ni tampoco puedes hacer busquedas sobre un tema concreto.</p>
<p>De hecho la aplicación AIR de Adobe Wave únicamente permite recibir notificaciones, si quisiesemos ser nosotros los que enviasemos las notificaciones tendríamos que registrarnos aparte en una cuenta de editores de Adobe Wave y asociar esa cuanta a un site concreto.</p>
<p>El enfoque que tiene Adobe Wave es precisamente ese, el poder registrarse a páginas web concretas y recibir en tiempo real notificaciones directamente desde el origen de la noticia. Este es un buen servicio para mantenernos atentos a actualizaciones de aplicaciones, publicaciones de post o cualquier tipo de aviso que nos haga dirigirnos a la web a la que decidimos agregar. Siendo así un servicio de información más limpio ya que solo recibiremos notificaciones directamente desde la web de origen.</p>
<div align="center"><a href="http://labs.adobe.com/technologies/wave">=http://labs.adobe.com/technologies/wave</a><img src="http://www.cristalab.com/images/tips/blogportada/adobewave/cap_012.jpg" alt="" />[/url]</div>
<div align="center"><em>Para instalar Adobe Wave ve a las <a href="http://labs.adobe.com/technologies/wave">=http://labs.adobe.com/technologies/wave</a>Labs de Adobe[/url] y haz click sobre el botón de "Get alerts with ADOBE WAVE" que puedes ver en esta misma imagen</em></div>
<p>.</p>
<h2>¿Cómo agrego Feeds a mi cuenta de Adobe Wave?</h2>
<p>Las páginas web a las que podremos registrarnos, obviamente deberán estar registradas en una cuenta de editor de Adobe Wave y por lo tanto tendrán disponibles desde la web un badge desde el cual haciendo click agregaremos el site a nuestra aplicación. El badge que por defecto ofrece Adobe es el siguiente:</p>
<div align="center"><a href="http://www.codigoactionscript.org/files/wave-badge/badge.html"><img src="http://www.cristalab.com/images/tips/blogportada/adobewave/cap_014.jpg" alt="" /></a></div>
<div align="center"><em>Para agregar a Cristalab en tu cuenta de Adobe Wave clicka sobre la imagen y luego sobre el botón "<a href="http://www.cristalab.com/images/tips/blogportada/adobewave/badge.html">Get alerts with ADOBE WAVE</a>"</em></div>
<p>.</p>
<p>Una vez hayamos agregado un Feed a nuestra cuenta este saldrá listado dentro de la aplicación.</p>
<div align="center"><img src="http://www.cristalab.com/images/tips/blogportada/adobewave/cap_001.jpg" alt="" /></div>
<p>Cómo ya he dicho, lo interesante de Adobe Wave es que las notificaciones de los Feeds están divididas por diferentes Topics, y podemos dejar seleccionados únicamente los que nos interese, haciendo invisibles el resto de ellas.</p>
<div align="center"><img src="http://www.cristalab.com/images/tips/blogportada/adobewave/cap_002.jpg" alt="" /></div>
<div align="center"><em>Topics del Feed de Cristalab</em></div>
<p>.</p>
<p>Apartir de aquí, cada notificación relacionada con Cristalab nos aparecerá en una ventanita emergente en una esquina (que podemos elegir) de nuestra pantalla.</p>
<div align="center"><img src="http://www.cristalab.com/images/tips/blogportada/adobewave/cap_005.jpg" alt="" /></div>
<p>Abriendo la aplicación AIR de Adobe Wave podremos ver el listado de las notificaciones de cada Feed y Topic seleccionado y podremos enlazar a la dirección URL correspondiente.</p>
<div align="center"><img src="http://www.cristalab.com/images/tips/blogportada/adobewave/cap_007.jpg" alt="" /></div>
<h2>¿Cómo creo mi propio Feed?</h2>
<p>Para crear una cuenta de Adobe Wave y poder publicar tu propio Feed únicamente has de registrarte en el <a href="https://ps-wave.adobe.com/portal/PublisherAdmin.html">Adobe Wave Publisher Portal</a>.</p>
<div align="center"><a href="https://ps-wave.adobe.com/portal/PublisherAdmin.html"><img src="http://www.cristalab.com/images/tips/blogportada/adobewave/cap_011.jpg" alt="" /></a></div>
<p>Una vez dentro podrás registrar tu Feed con el nombre y la URL que quieras, y espera que Adobe te la valide. Pasado este trámite podrás empezar a configurar tu Feed.</p>
<p>Lo primero que tienes que hacer es añadir los diferentes Topics con los que vas a dividir las diferentes categorias de las notificaciones que vayas a publicar (existe un máximo de 10).</p>
<div align="center"><img src="http://www.cristalab.com/images/tips/blogportada/adobewave/cap_009.jpg" alt="" /></div>
<p>Cuando tengas esta y otras propiedades (como el icono o el color de las ventanas emergentes) tendrás que distribuir el Feed para que la gente pueda registrarse y ver las notificaciones que envies. Para ello podrás utilizar el bange (como el mostrado al principio del articulo para Cristalab) que por defecto Adobe te genera, y que puedes incluir en cualquier página HTML.</p>
<p>Ahora, para enviar las notificaciones a tus usuarios registrados solo tendrás que seleccionar el Tópic correspondiente y escribir el mensaje.</p>
<div align="center"><img src="http://www.cristalab.com/images/tips/blogportada/adobewave/cap_008.jpg" alt="" /></div>
<p>En los mensajes que envíes podrás seleccionar, aparte del texto, una pequeña imagen de muestra y en enlace a una página web, a la que irá el usuario cuando haga click sobre la ventana.</p>
<div align="center"><img src="http://www.cristalab.com/images/tips/blogportada/adobewave/cap_004.jpg" alt="" /></div>
<h2>Conclusión</h2>
<p>Adobe Wave es un sistema más limpio ya que solo recibimos las notificaciones que el administrador del site considera de interés para los usuarios registrados, evitando tener que recibir mensajes, comentarios o conversaciones que nos podrian resultar irrelevantes, como pasa con Twitter. En este sentido Wave y Twitter no son dos servicios comparables ni que uno excluya al otro. Además Adobe pone a nuestra disposición la <a href="http://help.adobe.com/en_US/Wave/1.0/GettingStartedGuide/WSC83F8C79-7F60-403d-BF86-44B9D23731AE.html">API de Wave</a>, de manera que podremos desarrollar nuestras propias aplicaciones que permitan notificar directamente en ambos servicios.</p>
<p><strong>PD:</strong> No olvides registrarte y agregar a Cristalab en tus Feeds <img src='http://www.codigoactionscript.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Related posts:<ol>
<li><a href='http://www.codigoactionscript.org/disponible-adobe-air-2-beta-2/' rel='bookmark' title='Disponible Adobe AIR 2 beta 2'>Disponible Adobe AIR 2 beta 2</a></li>
<li><a href='http://www.codigoactionscript.org/adobe-lanza-adobe-labs-ideas-para-flash-catalyst/' rel='bookmark' title='Adobe lanza Adobe Labs Ideas para Flash Catalyst'>Adobe lanza Adobe Labs Ideas para Flash Catalyst</a></li>
<li><a href='http://www.codigoactionscript.org/beta-de-adobe-air-2-0-disponible-en-labs/' rel='bookmark' title='Beta de Adobe AIR 2.0 disponible en Labs'>Beta de Adobe AIR 2.0 disponible en Labs</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.codigoactionscript.org/adobe-wave-el-twitter-de-adobe-disponible-en-beta/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ADM, aplicación AIR para editar archivos de configuración</title>
		<link>http://www.codigoactionscript.org/adm-aplicacion-air-para-editar-archivos-de-configuracion/</link>
		<comments>http://www.codigoactionscript.org/adm-aplicacion-air-para-editar-archivos-de-configuracion/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 03:46:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Aplicaciones]]></category>
		<category><![CDATA[Aportes]]></category>
		<category><![CDATA[aplicación]]></category>
		<category><![CDATA[configuración]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.codigoactionscript.org/?p=471</guid>
		<description><![CDATA[<p>En mi =http://www.codigoactionscript.org/archivo-de-configuracion-de-airtip anterior[/url] escribí una descripción del archivo de configuración de las aplicaciones AIR. Este archivo de configuración lo deberemos editar para definir las características de nuestra aplicación.</p>
<p>Navegando por internet encontré una aplicación creada por David Deraedt que me pareció muy útil. Se trata de ADM (AIR Application Descriptor Manager), una aplicación AIR que nos permite abrir y editar todos los parámetros de un archivo de configuración.</p>
<p>Es una aplicación gratuita que la podemos descargar desde la página del autor:</p>

Descargar ADM

<p>Una vez instalada la aplicación podremos abrir cualquier archivo .XML [...]
Related posts:<ol>
<li><a href='http://www.codigoactionscript.org/listar-archivos-de-un-directorio-web-con-php-y-xml/' rel='bookmark' title='Listar archivos de un directorio web con PHP y XML'>Listar archivos de un directorio web con PHP y XML</a></li>
<li><a href='http://www.codigoactionscript.org/editar-cadenas-de-texto-utilizando-expresiones-regulares/' rel='bookmark' title='Editar cadenas de texto utilizando expresiones regulares'>Editar cadenas de texto utilizando expresiones regulares</a></li>
<li><a href='http://www.codigoactionscript.org/impedir-la-visualizacion-de-archivos-swf-individualmente/' rel='bookmark' title='Impedir la visualización de archivos SWF individualmente'>Impedir la visualización de archivos SWF individualmente</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>En mi <a href="http://www.codigoactionscript.org/archivo-de-configuracion-de-air">=http://www.codigoactionscript.org/archivo-de-configuracion-de-air</a>tip anterior[/url] escribí una descripción del archivo de configuración de las aplicaciones <a href="http://www.cristalab.com/tips/tags/php">AIR</a>. Este archivo de configuración lo deberemos editar para definir las características de nuestra aplicación.</p>
<p>Navegando por internet encontré una aplicación creada por <a href="http://www.dehats.com">David Deraedt</a> que me pareció muy útil. Se trata de <strong>ADM (AIR Application Descriptor Manager)</strong>, una aplicación AIR que nos permite <strong>abrir y editar todos los parámetros de un archivo de configuración</strong>.</p>
<p>Es una aplicación gratuita que la podemos descargar desde la <a href="http://www.dehats.com/drupal/?qnode/55">página del autor</a>:</p>
<ul>
<li><a href="http://www.dehats.com/projets/adm/ADM.air">Descargar ADM</a></li>
</ul>
<p>Una vez instalada la aplicación podremos abrir cualquier archivo .XML de configuración de nuestros proyectos AIR, y podremos introducir los parámetros de una manera más cómoda:</p>
<div align="center"><img src="http://www.cristalab.com/images/tips/air/adm/cap_0012.png" alt="" /></div>
<p>Una característica que especialmente me gustó es que te permite generar de forma automática todos los tamaños necesarios para los iconos de la aplicación desde un mismo archivo de imagen:</p>
<div align="center"><img src="http://www.cristalab.com/images/tips/air/adm/cap_0022.png" alt="" /></div>
<p>La página web del autor también tenemos disponible un vídeo para ver una demostración de la aplicación:</p>
<div align="center"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/sgW7eysWNWY&amp;hl=es&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/sgW7eysWNWY&amp;hl=es&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<p>En definitiva, una aplicación muy práctica y recomendable para los que generan habitualmente aplicaciones AIR.</p>
<p>Related posts:<ol>
<li><a href='http://www.codigoactionscript.org/listar-archivos-de-un-directorio-web-con-php-y-xml/' rel='bookmark' title='Listar archivos de un directorio web con PHP y XML'>Listar archivos de un directorio web con PHP y XML</a></li>
<li><a href='http://www.codigoactionscript.org/editar-cadenas-de-texto-utilizando-expresiones-regulares/' rel='bookmark' title='Editar cadenas de texto utilizando expresiones regulares'>Editar cadenas de texto utilizando expresiones regulares</a></li>
<li><a href='http://www.codigoactionscript.org/impedir-la-visualizacion-de-archivos-swf-individualmente/' rel='bookmark' title='Impedir la visualización de archivos SWF individualmente'>Impedir la visualización de archivos SWF individualmente</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.codigoactionscript.org/adm-aplicacion-air-para-editar-archivos-de-configuracion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mostrar una alerta antes del cierre de una aplicación AIR</title>
		<link>http://www.codigoactionscript.org/mostrar-una-alerta-antes-del-cierre-de-una-aplicacion-air/</link>
		<comments>http://www.codigoactionscript.org/mostrar-una-alerta-antes-del-cierre-de-una-aplicacion-air/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 01:59:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Básico]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[alert]]></category>
		<category><![CDATA[componente]]></category>

		<guid isPermaLink="false">http://www.codigoactionscript.org/?p=322</guid>
		<description><![CDATA[<p>En este ejemplo mostraré como crear una ventana de alerta cuando le demos al botón de cerrar en una aplicación AIR, teniendo que validar el cierre evitando que se cierre directamente. De esta manera podemos controlar que el usuario cierre la aplicación si haber realizado una operación necesaria, por ejemplo guardar los cambios realizados en el caso de tratarse de una a aplicación que edite documentos.</p>

<p>Lo primero que deberemos hacer es colocar la función a realizar cuando se detecte el evento de cierre de la aplicación (osea, cuando el usuario [...]
Related posts:<ol>
<li><a href='http://www.codigoactionscript.org/como-personalizar-el-icono-del-panel-de-alerta-de-flex/' rel='bookmark' title='Cómo personalizar el icono del panel de Alerta de Flex'>Cómo personalizar el icono del panel de Alerta de Flex</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>En este ejemplo mostraré como crear una ventana de alerta cuando le demos al botón de cerrar en una aplicación AIR, teniendo que validar el cierre evitando que se cierre directamente. De esta manera podemos controlar que el usuario cierre la aplicación si haber realizado una operación necesaria, por ejemplo guardar los cambios realizados en el caso de tratarse de una a aplicación que edite documentos.</p>
<div align="center"><img src="http://www.cristalab.com/images/tips/flex/cerrarAlert/cap_005.png" alt="" /></div>
<p>Lo primero que deberemos hacer es colocar la función a realizar cuando se detecte el evento de cierre de la aplicación (osea, cuando el usuario cierra la aplicación).</p>
<div id="codigo">
<div class="igBar"><span id="lactionscript-7"><a href="#" onclick="javascript:showPlainTxt('actionscript-7'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Actionscript:</span>
<div id="actionscript-7">
<div class="actionscript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;mx:WindowedApplication xmlns:mx=<span style="color: #ff0000;">"http://www.adobe.com/2006/mxml"</span> layout=<span style="color: #ff0000;">"absolute"</span> closing=<span style="color: #ff0000;">"cerrarApp(event)"</span>&gt; </div>
</li>
</ol>
</div>
</div>
</div>
</div>
<p></p>
<p>Ahora escribiremos la función. El punto importante aquí es como evitar el cierre de la aplicación, ya que el usuario realmente a clicado en el botón de cerrar. Esto lo conseguimos con el método <strong>preventDefault()</strong> de la clase Event. Con este método conseguimos que el evento no ejecute las funciones por defecto y por lo tanto no se cierra la aplicación. Lo que haremos en su lugar es abrir una ventana de <strong>Alert</strong>.</p>
<div id="codigo">
<div class="igBar"><span id="lactionscript-8"><a href="#" onclick="javascript:showPlainTxt('actionscript-8'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Actionscript:</span>
<div id="actionscript-8">
<div class="actionscript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> cerrarApp<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:Event<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0066CC;">e</span>.<span style="color: #006600;">preventDefault</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; Alert.<span style="color: #006600;">yesLabel</span> = <span style="color: #ff0000;">"Si"</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; Alert.<span style="color: #0066CC;">show</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"¿Realmente quiere salir?"</span>,<span style="color: #ff0000;">"Salir aplicación"</span>, Alert.<span style="color: #006600;">YES</span> | Alert.<span style="color: #006600;">NO</span>, <span style="color: #000000; font-weight: bold;">null</span>, cerrar, <span style="color: #000000; font-weight: bold;">null</span>, <span style="color: #cc66cc;color:#800000;">2</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
</div>
<p></p>
<div align="center"><img src="http://www.cristalab.com/images/tips/flex/cerrarAlert/cap_007.png" alt="" /></div>
<p>Con <strong>yesLabel  </strong>decimos que aparezca el texto "Si" en el botón de validar en lugar de "Yes". Y con el <strong>2</strong> al final de los parámetros decimos que el botón seleccionado por defecto sea el segundo, osea el "No".</p>
<p>También le estamos indicando que al clicar sobre cualquiera de los botones se ejecute la función "<strong>cerrar</strong>" que es la siguiente:</p>
<div id="codigo">
<div class="igBar"><span id="lactionscript-9"><a href="#" onclick="javascript:showPlainTxt('actionscript-9'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Actionscript:</span>
<div id="actionscript-9">
<div class="actionscript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> cerrar<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:CloseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">detail</span> == Alert.<span style="color: #006600;">YES</span><span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">this</span>.<span style="color: #006600;">nativeApplication</span>.<span style="color: #006600;">exit</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
</div>
<p></p>
<p>Donde le estamos indicando que si el botón seleccionado es el "Si" entonces cierre la aplicación. En el caso de seleccionar el "No" no se ejecuta nada y por lo tanto la aplicación sigue abierta.</p>
<p>[h3]Segundo ejemplo[/h3]</p>
<p>El código anterior se ejecutaría siempre que le demos al icono de cerrar aplicación. Pero lo interesante es poder controlar cuando queremos mostrar esa advertencia. </p>
<p>Por ejemplo en el caso de tener una aplicación que sea un editor de texto. Si le damos al botón de cerrar la aplicación teniendo cambios sin guardar mostraremos el Alert, pero en el caso de haber guardado los cambios previamente cerraremos directamente la aplicación.</p>
<p>Primero crearemos una variable booleana que controlará si la aplicación se cierra automáticamente o requiere mostrar la advertencia.</p>
<div id="codigo">
<div class="igBar"><span id="lactionscript-10"><a href="#" onclick="javascript:showPlainTxt('actionscript-10'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Actionscript:</span>
<div id="actionscript-10">
<div class="actionscript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> cierre:<span style="color: #0066CC;">Boolean</span> = <span style="color: #000000; font-weight: bold;">true</span>; </div>
</li>
</ol>
</div>
</div>
</div>
</div>
<p></p>
<p>En la función que se ejecuta al cerrar la aplicación colocaremos un condicional que detecte el estado de esa variable. </p>
<div id="codigo">
<div class="igBar"><span id="lactionscript-11"><a href="#" onclick="javascript:showPlainTxt('actionscript-11'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Actionscript:</span>
<div id="actionscript-11">
<div class="actionscript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> cerrarApp<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:Event<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0066CC;">e</span>.<span style="color: #006600;">preventDefault</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>cierre == <span style="color: #000000; font-weight: bold;">false</span><span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; Alert.<span style="color: #006600;">yesLabel</span> = <span style="color: #ff0000;">"Si"</span>;&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; Alert.<span style="color: #0066CC;">show</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">"¿Desea guardar los cambios antes de salir?"</span>,<span style="color: #ff0000;">"Salir aplicación"</span>, Alert.<span style="color: #006600;">YES</span> | Alert.<span style="color: #006600;">NO</span> | Alert.<span style="color: #006600;">CANCEL</span>, <span style="color: #000000; font-weight: bold;">null</span>, cerrar, <span style="color: #000000; font-weight: bold;">null</span>, <span style="color: #cc66cc;color:#800000;">3</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #b1b100;">else</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">this</span>.<span style="color: #006600;">nativeApplication</span>.<span style="color: #006600;">exit</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
</div>
<p></p>
<div align="center"><img src="http://www.cristalab.com/images/tips/flex/cerrarAlert/cap_009.png" alt="" /></div>
<p>Lógicamente esa función "<strong>cierre</strong>" la deberemos controlar con el resto de funciones de la aplicación. Es decir, todas las funciones que realicen <strong>cualquier cambio que deba ser guardado</strong> deberán colocar esa variable a "<strong>false</strong>", y la función que realice el <strong>guardado de datos</strong> deberá colocar la variable a "<strong>true</strong>".</p>
<p>La función de cierre quedaría asi:</p>
<div id="codigo">
<div class="igBar"><span id="lactionscript-12"><a href="#" onclick="javascript:showPlainTxt('actionscript-12'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Actionscript:</span>
<div id="actionscript-12">
<div class="actionscript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> cerrar<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:CloseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">detail</span> == Alert.<span style="color: #006600;">YES</span><span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; guardarDatos<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">this</span>.<span style="color: #006600;">nativeApplication</span>.<span style="color: #006600;">exit</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">detail</span> == Alert.<span style="color: #006600;">NO</span><span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0066CC;">this</span>.<span style="color: #006600;">nativeApplication</span>.<span style="color: #006600;">exit</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
</div>
<p></p>
<p>De manera que si clicamos "Si" ejecutaríamos la función que nos guarda los datos y cerraríamos después la aplicación, si clisásemos "No" cerraríamos directamente y si clisásemos "Cancel" entonces no se ejecutaría nada y no cerraríamos la aplicación.</p>
<p>Related posts:<ol>
<li><a href='http://www.codigoactionscript.org/como-personalizar-el-icono-del-panel-de-alerta-de-flex/' rel='bookmark' title='Cómo personalizar el icono del panel de Alerta de Flex'>Cómo personalizar el icono del panel de Alerta de Flex</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.codigoactionscript.org/mostrar-una-alerta-antes-del-cierre-de-una-aplicacion-air/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Concurso MIF AIR</title>
		<link>http://www.codigoactionscript.org/concurso-mif-air/</link>
		<comments>http://www.codigoactionscript.org/concurso-mif-air/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 17:35:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Noticias]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[concurso]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[made in flex]]></category>
		<category><![CDATA[MIF]]></category>

		<guid isPermaLink="false">http://www.codigoactionscript.org/?p=145</guid>
		<description><![CDATA[<p>El Concurso MIF AIR es una iniciativa de Made In Flex como parte de las actividades del Adobe User Group. La competición se basa en seleccionar la mejor aplicación o trabajo realizado con Adobe AIR de entre todos los participantes que se presenten a concurso.</p>
<p></p>
<p>Las bases del concurso son las siguientes:</p>
<p>El ámbito del concurso está restringido a los países de habla hispana.
El período de inscripción al concurso es del 01/09/2008 al 30/09/2008.
La fecha límite de presentación de los trabajos es 1 de Octubre de 2008.
El resultado de los ganadores se [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p>El Concurso MIF AIR es una iniciativa de <a href="http://www.madeinflex.com">Made In Flex</a> como parte de las actividades del Adobe User Group. La competición se basa en seleccionar la mejor aplicación o trabajo realizado con Adobe AIR de entre todos los participantes que se presenten a concurso.</p>
<p><img src="http://www.madeinflex.com/wp-content/uploads/2008/08/logo_mifaircontest.png" alt="logo" /></p>
<p>Las bases del concurso son las siguientes:</p>
<p>El ámbito del concurso está restringido a los países de habla hispana.<br />
El período de inscripción al concurso es del 01/09/2008 al 30/09/2008.<br />
La fecha límite de presentación de los trabajos es 1 de Octubre de 2008.<br />
El resultado de los ganadores se hará público dos semanas después de la fecha límite de presentación de los trabajos en el evento MIF ONSITE III el 17 de Octubre de 2008.</p>
<p>Y estos son los premios del concurso:</p>
<p>    * Primer premio<br />
      Una entrada para el evento MAX 2008.<br />
    * Segundo premio<br />
      Una licencia de Adobe Flex Builder 3 Professional.<br />
    * Tercer premio<br />
      Una licencia de Adobe Flex Builder 3 Professional.</p>
<p>Más información en la web de MIF</p>
<p>   1. <a href="http://www.madeinflex.com/aug/concurso-mif-air/#toc-bases-del-concurso">Bases Del Concurso</a><br />
   2. <a href="http://www.madeinflex.com/aug/concurso-mif-air/#toc-premios">Premios</a><br />
   3. <a href="http://www.madeinflex.com/aug/concurso-mif-air/#toc-requisitos-de-las-aplicaciones">Requisitos de las aplicaciones</a><br />
   4. <a href="http://www.madeinflex.com/aug/concurso-mif-air/#toc-como-presentar-los-trabajos">Cómo presentar los trabajos</a><br />
   5. <a href="http://www.madeinflex.com/aug/concurso-mif-air/#toc-compromisos-del-consursantes">Compromisos del consursantes</a><br />
   6. <a href="http://www.madeinflex.com/aug/concurso-mif-air/#toc-que-valorara-el-jurado">Qué valorará el jurado</a><br />
   7. <a href="http://www.madeinflex.com/aug/concurso-mif-air/#toc-compromiso-de-madeinflex">Compromiso de MadeInFlex</a><br />
   8. <a href="http://www.madeinflex.com/aug/concurso-mif-air/#toc-fallo-del-jurado">Fallo del jurado</a></p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.codigoactionscript.org/concurso-mif-air/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

