<?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"
	>

<channel>
	<title>Luis Adrián Rosas Wiedfeldt</title>
	<atom:link href="http://www.nomeva.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nomeva.com</link>
	<description>cada vez falta menos ...</description>
	<pubDate>Wed, 12 Nov 2008 11:02:23 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>MIF OnSite III - Resumen</title>
		<link>http://www.nomeva.com/2008/11/12/mif-onsite-iii-resumen/</link>
		<comments>http://www.nomeva.com/2008/11/12/mif-onsite-iii-resumen/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 11:01:28 +0000</pubDate>
		<dc:creator>Luis Adrián</dc:creator>
		
		<category><![CDATA[Eventos]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[MIF OnSite III]]></category>

		<guid isPermaLink="false">http://www.nomeva.com/?p=254</guid>
		<description><![CDATA[Hace poco publiqué en Cristalab un post sobre el resumen del evento MIF OnSite III. Para no volver a escribir aquí lo mismo simplemente lo comento por si les apetece leerlo.
Además añado algunas actualizaciones, pues los ponentes han publicado los sildes de sus charlas y algunos ejemplos:

Alberto Alcaraz - Optimización en Flex
Carlos Rovira - Arquitecturas [...]]]></description>
			<content:encoded><![CDATA[<p>Hace poco publiqué en <a title="Cristalab" href="http://www.cristalab.com/" target="_blank">Cristalab</a> un <a title="Reseña del evento MIF OnSite III de Madrid" href="http://www.cristalab.com/blog/63354/resena-del-evento-mif-onsite-iii-en-madrid.html" target="_blank">post</a> sobre el resumen del evento <a title="MIF OnSite III" href="http://www.madeinflex.com/mifonsite3/" target="_blank">MIF OnSite III</a>. Para no volver a escribir aquí lo mismo simplemente lo comento por si les apetece leerlo.</p>
<p>Además añado algunas actualizaciones, pues los ponentes han publicado los sildes de sus charlas y algunos ejemplos:</p>
<ul>
<li><a title="Optimización en Flex" href="http://www.madeinflex.com/2008/11/06/optimizacion-en-flex/" target="_blank">Alberto Alcaraz - <strong>Optimización en Flex</strong></a></li>
<li><a title="Arquitecturas Avanzadas Flex/JEE RIAlity" href="http://www.madeinflex.com/2008/11/03/arquitecturas-avanzadas-flexjee-riality/" target="_blank">Carlos Rovira - <strong>Arquitecturas Avanzadas Flex/JEE  RIAlity</strong></a></li>
<li><a title="Papervision 3D for dummies" href="http://www.madeinflex.com/2008/10/26/papervision3d-for-dummies/" target="_blank">Joan Garnet - </a><strong><a title="Papervision 3D for dummies" href="http://www.madeinflex.com/2008/10/26/papervision3d-for-dummies/" target="_blank">Papervision 3D for dummies</a><br />
</strong></li>
</ul>
<p>Las fotos que hice del evento las pueden encontrar <a title="Fotos MIF OnSite III" href="http://picasaweb.google.es/supremo.tata/MIFOnSiteIII" target="_blank">aquí</a>.</p>
<p>Un cosa curiosa, un dato importante, un gran acontecimiento, o simplemente las cosas que tiene la vida, pues resulta que me encontré con <a title="Kali Romiglia" href="http://www.romiglia.com/" target="_blank">Kali Romiglia</a>, <a title="Kali Romiglia" href="http://www.cristalab.com/foros/t1404_kali.html" target="_blank">si el mismo</a>, simplemente tenía que decirlo, jejeje, mi buen amigo <a title="Andrés Karp" href="http://www.akelarreweb.com/" target="_blank">Andrés Karp</a> nos hizo una foto, aunque Kali se ha tapado la cara, jejeje, pero es él, hace tiempo también conicidimos en el <a title="Flash For México" href="http://www.flashformexico.org/" target="_blank">Flash For México</a> y también tengo otra foto con él.</p>
<p style="text-align: center;"><img class="alignnone" title="MIF OnSite III - Javier, Iván, Luis Adrián y Kali" src="http://farm4.static.flickr.com/3048/2958999036_3635f26031.jpg" alt="" width="245" height="184" /> <img class="alignnone" title="Flash For México 04 - Luis y Kali" src="http://photos-g.ak.fbcdn.net/photos-ak-sf2p/v355/24/1/663508730/n663508730_979118_7781.jpg" alt="" width="137" height="183" /></p>
<p style="text-align: left;">Pero bueno, esto tuvo su parte graciosa en realidad Kali se cubría la cara por la risa que sucitó ver esto y escuchar al ponente sobre temas de control de errores en el código, es cierto, no hay errores, pero que me dicen de los warnings, jejeje, de verdad que esto es para echarse unas cuantas risas.</p>
<p style="text-align: center;"><img class="aligncenter" title="Flexbuilder - Warnings" src="http://lh5.ggpht.com/_FmvRC-Ll7fs/SP8ZQXtki8I/AAAAAAAACAY/LexDBmDyJqQ/s912/PA170305.JPG" alt="" width="328" height="246" /></p>
<p style="text-align: center;">
<p style="text-align: left;">Saludos!!!</p>
<p style="text-align: left;">Entradas relacionadas:</p>
<ul>
<li><a title="MIF OnSite III" rel="bookmark" href="http://www.nomeva.com/2008/09/18/mif-onsite-iii/">MIF OnSite III</a></li>
<li><a title="MIF OnSite III - Update" href="http://www.nomeva.com/2008/10/11/mif-onsite-iii-update/" target="_blank">MIF OnSite III - Update</a></li>
<li><a title="Papervision 3D for dummies - Slides y ejemplos" href="http://www.nomeva.com/2008/10/27/papervision-3d-for-dummies-slides-y-ejemplos/" target="_blank">Papervision 3D for dummies - Slides y ejemplos</a></li>
<li><a title="Mad in Spain 2008 - Vivencias y relfexión" href="http://www.nomeva.com/2008/09/25/mad-in-spain-2008-vivencias-y-reflexion/" target="_blank">Mad in Spain 2008 - Vivencias y reflexión</a></li>
<li><a title="Subflash 2008, vivencias, recuerdos, aventuras y mucho más" href="http://www.nomeva.com/2008/09/03/subflash-2008-vivencias/" target="_blank">Subflash 2008, vivencias, recuerdos, aventuras y mucho más</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.nomeva.com/2008/11/12/mif-onsite-iii-resumen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>El negocio de los videojuegos, casual games y redes sociales</title>
		<link>http://www.nomeva.com/2008/11/09/el-negocio-de-los-videojuegos-casual-games-y-redes-sociales/</link>
		<comments>http://www.nomeva.com/2008/11/09/el-negocio-de-los-videojuegos-casual-games-y-redes-sociales/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 05:25:16 +0000</pubDate>
		<dc:creator>Luis Adrián</dc:creator>
		
		<category><![CDATA[Flash]]></category>

		<category><![CDATA[General]]></category>

		<category><![CDATA[Interactividad]]></category>

		<category><![CDATA[Apple]]></category>

		<category><![CDATA[Casual games]]></category>

		<category><![CDATA[facebook]]></category>

		<category><![CDATA[iPhone]]></category>

		<category><![CDATA[iPod touch]]></category>

		<category><![CDATA[Nintendo]]></category>

		<category><![CDATA[nonoba]]></category>

		<category><![CDATA[videojuegos]]></category>

		<guid isPermaLink="false">http://www.nomeva.com/?p=231</guid>
		<description><![CDATA[
Desde hace tiempo tenía pensado este post pero no veía el momento ni la forma de escribirlo, así que hoy me he levantado y simplemente me he puesto a escribir pues no quiero que pase más tiempo ya que estamos viviendo el momento de los videojuegos online con sus mundos virtuales y demás acompañantes.
Existiendo gente [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="Lego Mario" src="http://www.nomeva.com/imagenes/lego-mario.jpg" alt="" width="289" height="403" /></p>
<p>Desde hace tiempo tenía pensado este post pero no veía el momento ni la forma de escribirlo, así que hoy me he levantado y simplemente me he puesto a escribir pues no quiero que pase más tiempo ya que estamos viviendo el momento de los videojuegos online con sus mundos virtuales y demás acompañantes.</p>
<p>Existiendo gente como <a title="Vida rodeada de videojuegos" href="http://www.urbanretrolifestyle.com/tag/nintendo/page/2/" target="_blank">esta</a> con tanta pasión por lo videojuegos, algunos crecimos con la evolución de los videojuegos, otros nos vieron crecer pero también estuvieron ahí acompañándonos con los videojuegos, otros ya estaban ahí cuando llegaron los videojuegos, algunos más se apuntaron casi al final de la carrera y se engancharon fácilmente a este apasionante mundo.</p>
<p>La cuestión aquí es que cada vez sómos más las personas enganchadas a los videojuegos, esto quizá se lo debemos a en gran parte a <a title="Nintendo" href="http://www.nintendo.es/" target="_blank">nintendo</a> gracias a revolucionar el mercado a través de sus consolas <a title="Nintedo DS" href="http://www.nintendo.es/NOE/es_ES/nintendo_ds_lite_1023.html" target="_blank">Nintendo DS</a> y <a title="Nintendo Wii" href="http://es.wii.com/" target="_blank">Nintendo Wii</a>, que permitieron acercar a muchísimas más personas que antes no entraban al mundo de los videojuegos, por la facilidad con que ellos consiguieron moldear está nueva generación interactiva de videojuegos.</p>
<p>Hay más gente detrás de este gran negocio de los videojuegos, otro peso pesado han sido los mundos virtuales que han podido triunfar a lo grande sacándole mucho partido a internet y la conexión de grandes masas de jugadores. Ejemplos de estos podemos ver <a title="World of Warcraft" href="http://www.worldofwarcraft.com/" target="_blank">World of Warcraft</a>, <a title="Age of Conan" href="http://www.ageofconan.com/" target="_blank">Age of Conan</a>, <a title="The Lord of The Ring Online" href="http://www.lotro-europe.com/index.php" target="_blank">The Lord of The Ring Online</a>, <a title="Second life" href="http://secondlife.com/" target="_blank">Second life</a>, muy pronto tendremos <a title="Lego Universe" href="http://universe.lego.com/en-us/Default.aspx" target="_blank">Lego Universe</a> y bueno hay una gran lista de mundos virtuales con un flujo masivo de usuarios.</p>
<p>Los casual games también han ayudado en gran medida a conectar con más gente y lo siguen haciendo día a día. Con ejemplos como <a title="99 bricks" href="http://www.kongregate.com/games/WeirdBeardGames/99-bricks" target="_blank">este</a> vemos la capacidad de enganche que tienen los casual games. Estos también han encontrado un perfecto espacio en las redes sociales como <a title="Facebook" href="http://www.facebook.com/" target="_blank">facebook</a> donde día a día millones de personas dedican segundos, minutos y en ocasiones horas a juegos tan sencillos y a la vez apasionantes como <a title="Word challenge" href="http://www.facebook.com/apps/application.php?id=10726707410" target="_blank">este</a>.</p>
<p>Bueno ¿y todo esto para qué? pues para hablar la gran oportunidad que existe hoy en día de conseguir nuestro trocito de pastel y ese pastel es bastante grande y jugoso, para hacerse una idea sólo echad un vistazo a este <a title="La inversión en mundos virtuales y casual games de 2008" href="http://secuoyas.com/blog/2008/10/31/mundos-virtuales-casual-games/" target="_blank">post</a> y también a todos los que aparecen <a title="Secuoyas - Mundos virtuales" href="http://secuoyas.com/blog/category/mundos-virtuales/" target="_blank">aquí</a>.</p>
<p>Para iniciarse en este mundo de los casual games multijugador no hace falta ser un experto desarrollador ni hacer una gran inversión en cuanto a servidores, pues hay varias iniciativas en internet que nos ayudan a empezar, un ejemplo es la comunidad de <a title="Nonoba" href="http://www.nonoba.com/" target="_blank">nonoba</a> que nos ofrece una API para el desarrollo de juegos multi jugador y el alojamiento de los juegos, además y por si fuera poco la posibilidad <a title="Nonoba - Developers contests" href="http://www.nonoba.com/developers/contests" target="_blank">ganar dinero</a> los juegos que se desarrollen, esto a través de los premios semanales y mensuales que entregan a los juegos más visitados.</p>
<p>Además todas las redes sociales nos permiten crear contenidos que estarán accesibles a sus millones de usuarios a través de sus API&#8217;s, por ejemplo la <a title="Facebook - Developers" href="http://developers.facebook.com/" target="_blank">API de Facebook</a>.</p>
<p>Otro gran nicho, pero más que grande es enorme o gigantesco es el que la gente de <a title="Apple" href="http://www.apple.com/" target="_blank">Apple</a> nos ha creado con la aparición del <a title="iPod touch" href="http://www.apple.com/es/ipodtouch/" target="_blank">iPod touch</a> y el <a title="iPhone" href="http://www.apple.com/es/iphone/" target="_blank">iPhone</a>, pues para los desarrolladores han proporcionado el <a title="iPhone SDK" href="http://developer.apple.com/iphone/" target="_blank">iPhone SDK</a> con el que entre muchísimas otras cosas podemos crear videojuegos.</p>
<p>Bueno, que son muchas, muchísimas las cosas que se desprenden de este tema. Simplemente quería escribir algo para comentarlo pues de verdad que si no hacemos algo ahora quizá mañana sea tarde.</p>
<p>Saludos!!!</p>
<p>Entradas relacionadas:</p>
<ul>
<li><a title="Gamelab 2008" href="http://www.nomeva.com/2008/07/15/gamelab-2008/" target="_blank">Gamelab 2008</a></li>
<li><a title="Más sobre Gamelab 2008" href="http://www.nomeva.com/2008/07/23/mas-sobre-gamelab-2008/" target="_blank">Más sobre Gamelab 2008</a></li>
<li><a title="Documental &quot;Hobby&quot; de Ciro Altabás" href="http://www.nomeva.com/2008/07/23/documental-hobby-de-ciro-altabas/">Documental &#8220;Hobby&#8221; de Circo Altabás</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.nomeva.com/2008/11/09/el-negocio-de-los-videojuegos-casual-games-y-redes-sociales/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tutorial JSFL - Comandos con interfaz gráfica II</title>
		<link>http://www.nomeva.com/2008/11/09/tutorial-jsfl-comandos-con-interfaz-grafica-ii/</link>
		<comments>http://www.nomeva.com/2008/11/09/tutorial-jsfl-comandos-con-interfaz-grafica-ii/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 14:19:37 +0000</pubDate>
		<dc:creator>Luis Adrián</dc:creator>
		
		<category><![CDATA[Flash]]></category>

		<category><![CDATA[JSFL]]></category>

		<category><![CDATA[Tutoriales]]></category>

		<category><![CDATA[comandos]]></category>

		<category><![CDATA[FLfile]]></category>

		<category><![CDATA[Interfaz gráfica]]></category>

		<guid isPermaLink="false">http://www.nomeva.com/?p=238</guid>
		<description><![CDATA[
Este tutorial continua la serie de tutoriales de JSFL que empecé a escribir en este post, no es el tercero sino la segunda parte del segundo tutorial de Comandos con interfaz gráfica.
En esta ocasión vamos a crear un comando que nos ayude a crear un XML con el listado de ficheros jpg que se encuentran [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="Comando Crea XML de imágenes" src="http://www.nomeva.com/imagenes/crea_xml_imagenes.jpg" alt="" width="370" height="230" /></p>
<p>Este tutorial continua la serie de <a href="../../../../../category/tutoriales/">tutoriales</a> de <strong><a href="../../../../../category/jsfl/">JSFL</a></strong> que empecé a escribir en este <a href="../../../../../2008/09/26/tutorial-jsfl-introduccion-a-comando/">post</a>, no es el tercero sino la segunda parte del <a href="../../../../../2008/10/12/tutorial-jsfl-comandos-con-interfaz-grafica/">segundo tutorial</a> de <strong>Comandos con interfaz gráfica</strong>.</p>
<p>En esta ocasión vamos a crear un comando que nos ayude a crear un <strong><a href="http://es.wikipedia.org/wiki/XML">XML</a></strong> con el listado de ficheros <strong><a href="http://es.wikipedia.org/wiki/JPEG">jpg</a></strong> que se encuentran en un directorio que indicaremos mediante un cuadro de diálogo <strong>Buscar carpeta</strong>.</p>
<p>En este tutorial veremos lo siguiente:</p>
<ul class="unIndentedList">
<li> Interfaz gráfica basada en una película <strong><a href="http://es.wikipedia.org/wiki/Animaciones_Flash">swf</a></strong>.</li>
<li> Uso de <strong><em>Función <a href="http://www.google.es/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Flivedocs.adobe.com%2Fflash%2F9.0_es%2Fmain%2F00001194.html&amp;ei=18EWSezKMoyE0QTmra2GCw&amp;usg=AFQjCNGeMJW8TlQO508U7T9HIBBGU_JpJw&amp;sig2=nn9mSHwSlkNoQUYeaD58DQ">MMExecute</a></em></strong>.</li>
<li> Uso de cuadro de diálogo <strong>Buscar carpeta</strong>.</li>
<li> Introducción al <strong><em>objeto <a href="http://www.google.es/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Flivedocs.adobe.com%2Fflash%2F9.0_es%2Fmain%2F00004188.html&amp;ei=CsYWSeKsCY760QSDxezsCg&amp;usg=AFQjCNHaJDEYD_sTq3YGM3k1gA83JVKerQ&amp;sig2=x5DKiU9q9skRq3U6oOGspg">FLfile</a></em></strong>.</li>
</ul>
<h3><strong>Interfaz gráfica basada en una película swf</strong></h3>
<p>Lo primero que debemos hacer es indicar en el fichero JSFL el uso de un xmlPanel mediante el siguiente código:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">fl.<span style="color: #660066;">getDocumentDOM</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">xmlPanel</span><span style="color: #009900;">&#40;</span>fl.<span style="color: #660066;">configURI</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;panel.xml&quot;</span><span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>Lo siguiente que debemos hacer es indicar en el fichero xml de configuración de interfaz gráfica del comando el uso de una película Flash, mediante el siguiente código:</p>

<div class="wp_syntax"><div class="code"><pre class="xml xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;flash</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;panel.swf&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;370&quot;</span>   <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;230&quot;</span>  <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;settings&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></div></div>

<p>Listo, con esto ya tenemos un comando que utiliza un fichero xml para configurar su interfaz gráfica y esta interfaz muestra una película swf.</p>
<h3><strong>Uso de <em>Función MMExecute</em></strong></h3>
<p>La función <strong><a href="http://www.google.es/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Flivedocs.adobe.com%2Fflash%2F9.0_es%2Fmain%2F00001194.html&amp;ei=18EWSezKMoyE0QTmra2GCw&amp;usg=AFQjCNGeMJW8TlQO508U7T9HIBBGU_JpJw&amp;sig2=nn9mSHwSlkNoQUYeaD58DQ">MMExecute</a></strong> sirve para ejecutar scripts JSFL desde una película swf, esto lo vamos a necesitar en este tutorial para ejecutar las siguientes acciones:</p>
<ul class="unIndentedList">
<li> Aceptar

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">MMExecute<span style="color: #009900;">&#40;</span>‘fl.<span style="color: #660066;">xmlui</span>.<span style="color: #660066;">accept</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;<span style="color: #3366CC;">');</span></pre></div></div>

</li>
<li> Cancelar

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">MMExecute<span style="color: #009900;">&#40;</span>‘fl.<span style="color: #660066;">xmlui</span>.<span style="color: #660066;">cancel</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;<span style="color: #3366CC;">');</span></pre></div></div>

</li>
<li> Asignar valor

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">MMExecute<span style="color: #009900;">&#40;</span>‘fl.<span style="color: #660066;">xmlui</span>.<span style="color: #660066;">set</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;variable&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;valor&quot;</span><span style="color: #009900;">&#41;</span>;<span style="color: #3366CC;">');</span></pre></div></div>

</li>
<li> Abrir cuadro de diálogo <strong>Buscar carpeta</strong>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">MMExecute<span style="color: #009900;">&#40;</span>‘fl.<span style="color: #660066;">browseForFolderURL</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Mensaje&quot;</span><span style="color: #009900;">&#41;</span>;‘<span style="color: #009900;">&#41;</span>;</pre></div></div>

</li>
</ul>
<p>Este código lo podemos ejecutar en eventos de botones como onClick, onRelease, etcétera desde nuestra interfaz de usuario.</p>
<p>La función <strong><a href="http://www.google.es/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Flivedocs.adobe.com%2Fflash%2F9.0_es%2Fmain%2F00001194.html&amp;ei=18EWSezKMoyE0QTmra2GCw&amp;usg=AFQjCNGeMJW8TlQO508U7T9HIBBGU_JpJw&amp;sig2=nn9mSHwSlkNoQUYeaD58DQ">MMExecute</a></strong> devuelve una cadena cuando la ejecución del script JSFL devuelve algo. <strong>NOTA importante</strong>, el resultado de MMExecute siempre será una cadena.</p>
<h3><strong>Uso de cuadro de diálogo Buscar Carpeta</strong></h3>
<p>Para abrir un cuadro de diálogo <strong>Buscar carpeta</strong> debemos ejecutar el siguiente código:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> ruta<span style="color: #339933;">:</span>String <span style="color: #339933;">=</span> fl.<span style="color: #660066;">browseForFolderURL</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Mensaje&quot;</span><span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>Este nos devolverá la ruta hasta la carpeta expresada como <strong><em>archivo:///URI </em></strong>que es el formato que utiliza JSFL para trabajar con el sistema de ficheros. Por ejemplo, en Windows para la carpeta <strong>D:\Fotos</strong> sería <strong>file:///D|/Fotos</strong>.</p>
<h3><strong>Introducción al objeto FLfile</strong></h3>
<p>El objeto <strong><a href="http://www.google.es/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Flivedocs.adobe.com%2Fflash%2F9.0_es%2Fmain%2F00004188.html&amp;ei=CsYWSeKsCY760QSDxezsCg&amp;usg=AFQjCNHaJDEYD_sTq3YGM3k1gA83JVKerQ&amp;sig2=x5DKiU9q9skRq3U6oOGspg">FLfile</a></strong> nos proporciona una <strong><a href="http://es.wikipedia.org/wiki/API">API</a></strong> de comunicación con el sistema de ficheros del sistema operativo poder <em>crear</em>, <em>modificar</em> o <em>eliminar</em> entre otras cosas<strong> ficheros</strong> o <strong>directorios</strong>. Este objeto lo vamos a utilizar en este tutorial para ejecutar las siguientes acciones:</p>
<ul class="unIndentedList">
<li> Listar el contenido de un directorio

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">FLfile.<span style="color: #660066;">listFolder</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;path&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;files&quot;</span><span style="color: #009900;">&#41;</span>;</pre></div></div>

</li>
<li> Crear un fichero

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">FLfile.<span style="color: #000066; font-weight: bold;">write</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;fileURI&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;contenido fichero&quot;</span><span style="color: #009900;">&#41;</span>;</pre></div></div>

</li>
</ul>
<p>El método FLfile.<strong>listFolder</strong> nos permite aplicar un filtro de búsqueda de tal forma que el resultado sólo incluya ficheros de cierto tipo, para nuestro ejemplo aplicamos el filtro de búsqueda para fichero de tipo <strong><a href="http://es.wikipedia.org/wiki/JPEG">jpg</a></strong>, esto lo conseguimos con el siguiente código:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">FLfile.<span style="color: #660066;">listFolder</span><span style="color: #009900;">&#40;</span>path <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;/*.jpg&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;files&quot;</span><span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>Este método devuelve un array con los resultados de la búsqueda.</p>
<p>El método FLfile.<strong>write</strong> nos permite crear un fichero, este método devuelve un valor de tipo booleano que indica el éxito de la operación al crear el fichero. Para nuestro ejemplo utilizamos este método para <strong>crear</strong> el fichero XML con el listado de los ficheros jpg del directorio indicado mediante el cuadro de diálogo <strong>Buscar carpeta</strong>.</p>
<p>Listo, ahora si ya hemos hablado sobre los puntos importantes que trata este comando, sobre todo de las nuevas funciones y los nuevos métodos que utilizamos. A continuación pongo el código de de los distintas partes que componen este comando.</p>
<p><strong>Fichero JSFL</strong> de nombre Crea XML de imágenes.jsfl</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">//Declaración de variables</span>
<span style="color: #003366; font-weight: bold;">var</span> oDoc;
<span style="color: #003366; font-weight: bold;">var</span> oCfg;
<span style="color: #003366; font-weight: bold;">var</span> sDirPath;
<span style="color: #003366; font-weight: bold;">var</span> sNameFile;
&nbsp;
<span style="color: #006600; font-style: italic;">//Llamadas al método de configuración</span>
<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">config</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
&nbsp;
<span style="color: #006600; font-style: italic;">/**
 * @method	config
 * Método encargado de la configuración del comando
 * @return	Void
 */</span>
<span style="color: #003366; font-weight: bold;">function</span> config<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #006600; font-style: italic;">//Limpiamos el panel de salida</span>
	fl.<span style="color: #660066;">outputPanel</span>.<span style="color: #660066;">clear</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
&nbsp;
	<span style="color: #006600; font-style: italic;">//Obtenemos las referencias al documento</span>
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">oDoc</span> <span style="color: #339933;">=</span> fl.<span style="color: #660066;">getDocumentDOM</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">oDoc</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #006600; font-style: italic;">//Obtenemos una referencia al objeto de configuración de la interfaz gráfica</span>
		<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">oCfg</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">oDoc</span>.<span style="color: #660066;">xmlPanel</span><span style="color: #009900;">&#40;</span>fl.<span style="color: #660066;">configURI</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;Commands/XML/Crea XML de imágenes.xml&quot;</span><span style="color: #009900;">&#41;</span>;
&nbsp;
		<span style="color: #006600; font-style: italic;">//Asignamos el valor de la variable del path para listar las imágenes y el nombre del fichero xml</span>
		<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">sDirPath</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">oCfg</span>.<span style="color: #660066;">sDirPath</span>;
		<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">sNameFile</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">oCfg</span>.<span style="color: #660066;">sNameFile</span>;
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000066; font-weight: bold;">else</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Debes tener un documento abierto.&quot;</span><span style="color: #009900;">&#41;</span>;
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">//Comprobación de la respuesta del usuario sobre la ventana de introducción de datos</span>
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">oCfg</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">oCfg</span>.<span style="color: #660066;">dismiss</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">&quot;accept&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">init</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #009900;">&#125;</span>
<span style="color: #000066; font-weight: bold;">else</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #006600; font-style: italic;">//El usuario ha cancelado la operación</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">/**
 * @method	init
 * Método encargado de la inicialización del comando
 * @return	Void
 */</span>
<span style="color: #003366; font-weight: bold;">function</span> init<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">sDirPath</span> <span style="color: #339933;">!=</span> <span style="color: #3366CC;">&quot;&quot;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #006600; font-style: italic;">//Obtenemos la ruta del fichero XML y el contenido del fichero XML.</span>
		<span style="color: #003366; font-weight: bold;">var</span> sXmlPath <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">getUrlXmlFile</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
		<span style="color: #003366; font-weight: bold;">var</span> sXmlContent <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">getContentXml</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
&nbsp;
		<span style="color: #006600; font-style: italic;">//Creamos el fichero e informamos al usuario el resultado de la operación.</span>
		<span style="color: #003366; font-weight: bold;">var</span> bSuccess <span style="color: #339933;">=</span> FLfile.<span style="color: #000066; font-weight: bold;">write</span><span style="color: #009900;">&#40;</span>sXmlPath<span style="color: #339933;">,</span> sXmlContent<span style="color: #009900;">&#41;</span>;
		<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>bSuccess<span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Se ha creado correctamente el fichero:<span style="color: #000099; font-weight: bold;">\n</span> &quot;</span> <span style="color: #339933;">+</span> sXmlPath<span style="color: #009900;">&#41;</span>;
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000066; font-weight: bold;">else</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;No se ha podido crear el fichero:<span style="color: #000099; font-weight: bold;">\n</span> &quot;</span> <span style="color: #339933;">+</span> sXmlPath<span style="color: #009900;">&#41;</span>;
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000066; font-weight: bold;">else</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Debes seleccionar un directorio.&quot;</span><span style="color: #009900;">&#41;</span>;
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">/**
 * @method	getUrlXmlFile
 * Método encargado de obtener la ruta del fichero XML que se generará, lo hace a partir del path del documento y realiza las conversiones pertinentes.
 * @return	String	Cadena con la ruta del fichero XML que se generará.
 */</span>
<span style="color: #003366; font-weight: bold;">function</span> getUrlXmlFile<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> ret <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;&quot;</span>;
&nbsp;
	<span style="color: #006600; font-style: italic;">//A partir del path del documento abierto componemos la ruta del fichero XML que será hermano del documento abierto.</span>
	<span style="color: #003366; font-weight: bold;">var</span> aTmp <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">oDoc</span>.<span style="color: #660066;">path</span>.<span style="color: #660066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #009900;">&#41;</span>;
	aTmp.<span style="color: #660066;">pop</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
	<span style="color: #003366; font-weight: bold;">var</span> sUnidad <span style="color: #339933;">=</span> aTmp.<span style="color: #660066;">shift</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
	<span style="color: #003366; font-weight: bold;">var</span> aTmp2 <span style="color: #339933;">=</span> sUnidad.<span style="color: #660066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;:&quot;</span><span style="color: #009900;">&#41;</span>;
	sUnidad <span style="color: #339933;">=</span> aTmp2.<span style="color: #660066;">shift</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
	ret <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;file:///&quot;</span> <span style="color: #339933;">+</span> sUnidad <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;|&quot;</span> <span style="color: #339933;">+</span> aTmp.<span style="color: #660066;">join</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;/&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;/&quot;</span> <span style="color: #339933;">+</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">sNameFile</span>;
&nbsp;
	<span style="color: #000066; font-weight: bold;">return</span> ret;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">/**
 * @method	getContentXml
 * Método encargado de obtener el contenido del XML, lo hace a través de listar el directorio configurado, filtrando por tipo de fichero jpg.
 * @return	String	Cadena con el contenido del fichero XML que se generará.
 */</span>
<span style="color: #003366; font-weight: bold;">function</span> getContentXml<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> ret <span style="color: #339933;">=</span> <span style="color: #3366CC;">''</span>;
&nbsp;
	<span style="color: #003366; font-weight: bold;">var</span> aListFiles <span style="color: #339933;">=</span> FLfile.<span style="color: #660066;">listFolder</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">sDirPath</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;/*.jpg&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;files&quot;</span><span style="color: #009900;">&#41;</span>;
&nbsp;
	ret <span style="color: #339933;">+=</span> <span style="color: #3366CC;">'&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;<span style="color: #000099; font-weight: bold;">\n</span>'</span>;
	ret <span style="color: #339933;">+=</span> <span style="color: #3366CC;">'&lt;data&gt;<span style="color: #000099; font-weight: bold;">\n</span>'</span>;
	<span style="color: #003366; font-weight: bold;">var</span> nTotal <span style="color: #339933;">=</span> aListFiles.<span style="color: #660066;">length</span>;
	<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i <span style="color: #339933;">=</span> 0; i <span style="color: #339933;">&lt;</span> nTotal; i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		ret <span style="color: #339933;">+=</span> <span style="color: #3366CC;">'<span style="color: #000099; font-weight: bold;">\t</span>&lt;imagen src=&quot;'</span> <span style="color: #339933;">+</span> aListFiles<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">'&quot;/&gt;<span style="color: #000099; font-weight: bold;">\n</span>'</span>;
	<span style="color: #009900;">&#125;</span>
&nbsp;
	ret <span style="color: #339933;">+=</span> <span style="color: #3366CC;">'&lt;/data&gt;<span style="color: #000099; font-weight: bold;">\n</span>'</span>;
&nbsp;
	<span style="color: #000066; font-weight: bold;">return</span> ret;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><strong>Fichero XML</strong> para la interfaz gráfica de nombre Crea XML de imágenes.xml</p>

<div class="wp_syntax"><div class="code"><pre class="xml xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;dialog</span> <span style="color: #000066;">title</span>=<span style="color: #ff0000;">&quot;Crea XML de imágenes&quot;</span>  <span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;flash</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;../SWF/Crea XML de imágenes.swf&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;370&quot;</span>   <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;230&quot;</span>  <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;settings&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;property</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;sDirPath&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;property</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;sNameFile&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/dialog<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p><strong>Código de la película SWF</strong> de la interfaz gráfica de nombre Crea XML de imágenes.swf</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript actionscript" style="font-family:monospace;"><span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">utils</span>.<span style="color: #006600;">Delegate</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">//Asignamos el Foco al botón Aceptar</span>
<span style="color: #0066CC;">Selection</span>.<span style="color: #0066CC;">setFocus</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">aceptarBTN</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//Asignamos el Tema de color Azul</span>
<span style="color: #000000; font-weight: bold;">_global</span>.<span style="color: #006600;">style</span>.<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;themeColor&quot;</span>, <span style="color: #ff0000;">&quot;haloBlue&quot;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #0066CC;">this</span>.<span style="color: #006600;">browsePathBTN</span>.<span style="color: #0066CC;">onRelease</span> = Delegate.<span style="color: #006600;">create</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>, onClickBrowserPath<span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">this</span>.<span style="color: #006600;">aceptarBTN</span>.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;click&quot;</span>, <span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">this</span>.<span style="color: #006600;">cancelarBTN</span>.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;click&quot;</span>, <span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">/**
 * @method	onClickBrowserPath
 * Método encargado de abrir el cuadro de diálogo de selección de directorio.
 * @return	Void
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> onClickBrowserPath<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> jsflCode:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;fl.browseForFolderURL('Selecciona el directorio que deseas listar.');&quot;</span>; 
	<span style="color: #000000; font-weight: bold;">var</span> sDirPath:<span style="color: #0066CC;">String</span> = <span style="color: #0066CC;">MMExecute</span><span style="color: #66cc66;">&#40;</span>jsflCode<span style="color: #66cc66;">&#41;</span>;
	pathImagenesTI.<span style="color: #0066CC;">text</span> = <span style="color: #66cc66;">&#40;</span>sDirPath == <span style="color: #ff0000;">&quot;null&quot;</span><span style="color: #66cc66;">&#41;</span> ? pathImagenesTI.<span style="color: #0066CC;">text</span> : sDirPath;
&nbsp;
	jsflCode = <span style="color: #ff0000;">&quot;fl.xmlui.set('sDirPath', '&quot;</span> + sDirPath + <span style="color: #ff0000;">&quot;');&quot;</span>;
	<span style="color: #0066CC;">MMExecute</span><span style="color: #66cc66;">&#40;</span>jsflCode<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/**
 * @method	click
 * Método encargado de ejecutar las acciones para aceptar el comando y asignar el valor a la variable sDirPath.
 * @param	_oEvent		Object		Objeto de configuración asociada al evento click del botón.
 * @return	Void
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> click<span style="color: #66cc66;">&#40;</span>_oEvent:<span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">switch</span><span style="color: #66cc66;">&#40;</span>_oEvent.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">_name</span><span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #b1b100;">case</span> <span style="color: #ff0000;">&quot;aceptarBTN&quot;</span>:
			onClickAceptar<span style="color: #66cc66;">&#40;</span>_oEvent<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #b1b100;">break</span>;
&nbsp;
		<span style="color: #b1b100;">case</span> <span style="color: #ff0000;">&quot;cancelarBTN&quot;</span>:
			onClickCancelar<span style="color: #66cc66;">&#40;</span>_oEvent<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #b1b100;">break</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/**
 * @method	onClickAceptar
 * Método encargado de ejecutar las acciones para aceptar el comando y asignar el valor a la variable sDirPath.
 * @param	_oEvent		Object		Objeto de configuración asociada al evento click del botón.
 * @return	Void
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> onClickAceptar<span style="color: #66cc66;">&#40;</span>_oEvent:<span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> jsflCode:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;fl.xmlui.set('sDirPath', '&quot;</span> + _oEvent.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">_parent</span>.<span style="color: #006600;">pathImagenesTI</span>.<span style="color: #0066CC;">text</span> + <span style="color: #ff0000;">&quot;');&quot;</span>;
	<span style="color: #0066CC;">MMExecute</span><span style="color: #66cc66;">&#40;</span>jsflCode<span style="color: #66cc66;">&#41;</span>;
&nbsp;
	jsflCode = <span style="color: #ff0000;">&quot;fl.xmlui.set('sNameFile', '&quot;</span> + _oEvent.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">_parent</span>.<span style="color: #006600;">nombreFicheroTI</span>.<span style="color: #0066CC;">text</span> + <span style="color: #ff0000;">&quot;');&quot;</span>;
	<span style="color: #0066CC;">MMExecute</span><span style="color: #66cc66;">&#40;</span>jsflCode<span style="color: #66cc66;">&#41;</span>;
&nbsp;
	jsflCode = <span style="color: #ff0000;">&quot;fl.xmlui.accept();&quot;</span>;
	<span style="color: #0066CC;">MMExecute</span><span style="color: #66cc66;">&#40;</span>jsflCode<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/**
 * @method	onClickCancelar
 * Método encargado de ejecutar las acciones para cerrar la ventana del comando.
 * @param	_oEvent		Object		Objeto de configuración asociada al evento click del botón.
 * @return	Void
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> onClickCancelar<span style="color: #66cc66;">&#40;</span>_oEvent:<span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> jsflCode:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;fl.xmlui.cancel();&quot;</span>;
	<span style="color: #0066CC;">MMExecute</span><span style="color: #66cc66;">&#40;</span>jsflCode<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Los ficheros de este tutorial los pueden descargar de <a href="../../../../../tutoriales/jsfl/Tutorial_JSFL_Comando_con_interfaz_grafica_II.zip">aquí</a>.<br />
Para cualquier duda, sugerencia o comentario aquí estaré atento a vuestros comentarios.</p>
<p>Saludos!!!</p>
<p>Entradas relacionadas:</p>
<ul>
<li><a title="Permanent Link: Recursos JSFL" href="../../../../../2008/08/24/recursos-jsfl/">Recursos JSFL</a></li>
<li><a title="Permanent Link: Tutorial JSFL, Introducción a comandos" href="../../../../../2008/09/26/tutorial-jsfl-introduccion-a-comando/">Tutorial JSFL - Introducción a comandos</a></li>
<li><a title="Permanent Link: Tutorial JSFL - Comandos con interfaz gráfica" href="../../../../../2008/10/12/tutorial-jsfl-comandos-con-interfaz-grafica/">Tutorial JSFL - Comandos con interfaz gráfica</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.nomeva.com/2008/11/09/tutorial-jsfl-comandos-con-interfaz-grafica-ii/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Universidad Carlos III - Jornadas Noviembre 2008</title>
		<link>http://www.nomeva.com/2008/11/04/universidad-carlos-iii-jornadas-noviembre-2008/</link>
		<comments>http://www.nomeva.com/2008/11/04/universidad-carlos-iii-jornadas-noviembre-2008/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 14:43:46 +0000</pubDate>
		<dc:creator>Luis Adrián</dc:creator>
		
		<category><![CDATA[Eventos]]></category>

		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[Python]]></category>

		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[Software libre]]></category>

		<guid isPermaLink="false">http://www.nomeva.com/?p=233</guid>
		<description><![CDATA[
Gracias a mi buen amigo Jonay me entero de las jornadas de noviembre de la Universidad Carlos III de Madrid. En esta ocasión se abordarán temás como el software libre, javascript, python, ruby, subversion y c entre otras cosas. Las jornadas empiezan el lunes 10 y terminan el jueves 13 de noviembre, para que más [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="Universidad Carlos III de Madrid" src="http://www.nomeva.com/imagenes/universidad_carlos_iii_jornadas_noviembre.jpg" alt="" width="390" height="360" /></p>
<p>Gracias a mi buen amigo Jonay me entero de las jornadas de noviembre de la <a title="Universidad Carlos III Madrid" href="http://www.uc3m.es/portal/page/portal/inicio" target="_blank">Universidad Carlos III de Madrid</a>. En esta ocasión se abordarán temás como el <a title="Software libre" href="http://es.wikipedia.org/wiki/C%C3%B3digo_libre" target="_blank">software libre</a>, <a title="Javascript" href="http://es.wikipedia.org/wiki/JavaScript" target="_blank">javascript</a>, <a title="Python" href="http://www.python.org/" target="_blank">python</a>, <a title="Ruby" href="http://es.wikipedia.org/wiki/Ruby" target="_blank">ruby</a>, <a title="Subversion" href="http://subversion.tigris.org/" target="_blank">subversion</a> y <a title="C" href="http://es.wikiversity.org/wiki/Programaci%C3%B3n_en_C" target="_blank">c</a> entre otras cosas. Las jornadas empiezan el lunes 10 y terminan el jueves 13 de noviembre, para que más gente pueda asistir serán por la tarde a partir de las 16 hrs.</p>
<p>Más información:</p>
<p><a title="Jornadas Noviembre 2008" href="http://cursos.gul.es/courses/calendar/9" target="_blank">Universidad Carlos III - Jornadas Noviembre 2008</a></p>
<p><a title="Grupo de Usuario de Linux de La Universidad Carlos III de Madrid" href="http://cursos.gul.es/" target="_blank">Grupo de Usuario de Linux de la Universidad Carlos III de Madrid</a></p>
<p>Entradas relacionadas:</p>
<p><a title="Sobre control de versiones" href="http://www.nomeva.com/2008/08/04/sobre-control-de-versiones-cvs/" target="_blank">Sobre control de versiones</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nomeva.com/2008/11/04/universidad-carlos-iii-jornadas-noviembre-2008/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MySQL - Replicación master-slave</title>
		<link>http://www.nomeva.com/2008/11/01/mysql-replicacion-master-slave/</link>
		<comments>http://www.nomeva.com/2008/11/01/mysql-replicacion-master-slave/#comments</comments>
		<pubDate>Sat, 01 Nov 2008 08:37:02 +0000</pubDate>
		<dc:creator>Luis Adrián</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[cluster]]></category>

		<category><![CDATA[replicación]]></category>

		<category><![CDATA[replication]]></category>

		<guid isPermaLink="false">http://www.nomeva.com/?p=227</guid>
		<description><![CDATA[
Hace poco me encontré con la necesidad de investigar sobre la replicación de bases de datos en MySQL, me refiero a trabajar con un servidor maestro (master) y uno o varios servidores esclavos (slave), así que me puse manos a la obra ha buscar información en internet, mi investigación me llevó a encontrar este artículo [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="MySQL" src="http://www.mysql.com/common/logos/logo_mysql_sun_a.gif" alt="" width="114" height="68" /></p>
<p>Hace poco me encontré con la necesidad de investigar sobre la replicación de bases de datos en <a title="MySQL" href="http://www.mysql.com/" target="_blank">MySQL</a>, me refiero a trabajar con un servidor maestro (<strong>master</strong>) y uno o varios servidores esclavos (<strong>slave</strong>), así que me puse manos a la obra ha buscar información en internet, mi investigación me llevó a encontrar este <a title="MySQL - Replicación" href="http://dev.mysql.com/doc/refman/5.0/en/replication-solutions-scaleout.html" target="_blank">artículo </a>de la documentación oficial de MySQL, está muy bien explicado, quizá un poco corto, pero a mi lo que más me gustó fue la imagen pues te deja todo bastante claro.</p>
<p style="text-align: center;"><img class="aligncenter" title="MySQL - Replicación" src="http://dev.mysql.com/doc/refman/5.0/en/images/scaleout.png" alt="" width="510" height="253" /></p>
<p style="text-align: left;">Además encontré otros artículos relacionados con clusters en la misma página de MySQL y un <a title="MySQL cluster in Debian" href="http://www.howtoforge.com/loadbalanced_mysql_cluster_debian" target="_blank">post</a> súper interesante sobre como montarlo todo en servidores Debian (tiene dos años, pero sigue siendo interesante, :P).</p>
<p style="text-align: left;">Ahora estoy con las pruebas de montarlo y ver que tal funciona todo, así que cualquier novedad la iré comentando.</p>
<p style="text-align: left;">Saludos!!!</p>
<p style="text-align: left;">Más información:</p>
<p style="text-align: left;"><a title="MySQL cluster Glosario" href="http://dev.mysql.com/doc/refman/5.0/es/mysql-cluster-glossary.html" target="_blank">Glosario</a> (Para entender mejor la terminología)</p>
<p style="text-align: left;"><a title="MySQL Cluster Overview" href="http://dev.mysql.com/doc/refman/5.0/en/mysql-cluster-overview.html" target="_blank">MySQL Cluster Overview</a></p>
<p style="text-align: left;"><a title="MySQL Cluster" href="http://dev.mysql.com/doc/refman/5.0/en/mysql-cluster.html" target="_blank">MySQL Cluster</a></p>
<p style="text-align: left;"><a title="MySQL - Replicación" href="http://dev.mysql.com/doc/refman/5.0/en/replication-solutions-scaleout.html" target="_blank">MySQL Using Replication for Scale-Out</a></p>
<p style="text-align: left;"><a title="Como instalar la replica de la base de datos en MySql" href="http://www.mygnet.net/articulos/mysql/680/" target="_blank">Como instalar la replica de la base de datos en MySql</a></p>
<p style="text-align: left;"><a title="MySQL cluster in Debian" href="http://www.howtoforge.com/loadbalanced_mysql_cluster_debian" target="_blank">How To Set Up A Load-Balanced MySQL Cluster</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nomeva.com/2008/11/01/mysql-replicacion-master-slave/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Papervision 3D for dummies - Slides y ejemplos</title>
		<link>http://www.nomeva.com/2008/10/27/papervision-3d-for-dummies-slides-y-ejemplos/</link>
		<comments>http://www.nomeva.com/2008/10/27/papervision-3d-for-dummies-slides-y-ejemplos/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 22:08:43 +0000</pubDate>
		<dc:creator>Luis Adrián</dc:creator>
		
		<category><![CDATA[Eventos]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[Interactividad]]></category>

		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://www.nomeva.com/?p=225</guid>
		<description><![CDATA[





De MIF OnSite III



Para los afortunados que pudimos asistir al evento MIF OnSite III y para los que no puedieron asistir, hoy es nuestro día de suerte, ya que Joan ha publicado y colgado las slides y los ejemplos de su charla en el evento. La charla, junto con las slides y los ejemplos son [...]]]></description>
			<content:encoded><![CDATA[<table style="width: auto;" border="0" align="center">
<tbody>
<tr>
<td><a href="http://picasaweb.google.es/lh/photo/UGsYWGY3f7ArOe6PedfiQg"><img src="http://lh6.ggpht.com/supremo.tata/SP8ZcPTKkxI/AAAAAAAACCE/Ad8KiWP-iR8/s288/PA170318.JPG" alt="" /></a></td>
</tr>
<tr>
<td style="font-family: arial,sans-serif; font-size: 11px; text-align: center;">De <a href="http://picasaweb.google.es/supremo.tata/MIFOnSiteIII">MIF OnSite III</a></td>
</tr>
</tbody>
</table>
<p>Para los afortunados que pudimos asistir al evento <a title="MIF OnSite III" href="http://www.nomeva.com/2008/09/18/mif-onsite-iii/" target="_blank">MIF OnSite III</a> y para los que no puedieron asistir, hoy es nuestro día de suerte, ya que <a title="Joan Garnet" href="http://www.joangarnet.com/" target="_blank">Joan</a> ha publicado y colgado las slides y los ejemplos de su charla en el evento. La charla, junto con las slides y los ejemplos son muy buenos, van desde lo básico las escenas, renders, cámaras, viewports, luces, materiales, primitivas y demás elementos básicos del 3D hasta las animaciones, todo esto desde un punto de vista de programador y acompañado de ejemplos súper sencillos.</p>
<p>Más información y descarga de los recursos:</p>
<p><a title="Papervision 3D for dummies" href="http://www.madeinflex.com/2008/10/26/papervision3d-for-dummies/" target="_blank">Papervision 3D for dummies en Made in Flex</a></p>
<p><a title="Papervision 3D for dummies" href="http://www.joangarnet.com/blog/?p=493" target="_blank">Papervision 3D for dummies en Joan Garnet</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nomeva.com/2008/10/27/papervision-3d-for-dummies-slides-y-ejemplos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tutorial PHP - Leer ficheros de parte privada</title>
		<link>http://www.nomeva.com/2008/10/25/tutorial-php-leer-ficheros-de-parte-privada/</link>
		<comments>http://www.nomeva.com/2008/10/25/tutorial-php-leer-ficheros-de-parte-privada/#comments</comments>
		<pubDate>Sat, 25 Oct 2008 08:15:49 +0000</pubDate>
		<dc:creator>Luis Adrián</dc:creator>
		
		<category><![CDATA[Php]]></category>

		<category><![CDATA[Tutoriales]]></category>

		<guid isPermaLink="false">http://www.nomeva.com/?p=221</guid>
		<description><![CDATA[
Hace poco hablaba con mis amigos Álvaro y Joan sobre como cargar contenidos en php que se encuentran en la parte privada de nuestro servidor y les dije que en cuanto tuviera un rato libre escribiría un tutorial, así es que aquí lo tienen.
Introducción, por lo general nuestro servidor suele venir con alguna de las [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="Lego php" src="http://www.nomeva.com/imagenes/lego_php.jpg" alt="" width="200" height="227" /></p>
<p>Hace poco hablaba con mis amigos <a title="Álvaro Granados" href="http://www.alvarogranados.com/" target="_blank">Álvaro</a> y <a title="Joan Garcia Camba" href="http://www.joangarcia.info/" target="_blank">Joan</a> sobre como cargar contenidos en <a title="Php" href="http://www.php.net/" target="_blank">php</a> que se encuentran en la parte <strong>privada</strong> de nuestro servidor y les dije que en cuanto tuviera un rato libre escribiría un tutorial, así es que aquí lo tienen.</p>
<p>Introducción, por lo general nuestro servidor suele venir con alguna de las siguientes carpetas:</p>
<ul>
<li><strong>web</strong></li>
<li><strong>www</strong></li>
<li><strong>httpdocs</strong></li>
</ul>
<p>En estas carpetas es donde se almacena todo el contenido al que el usuario puede acceder mediante <strong>http</strong> (salvo restringirlo mediante un fichero <a title=".htaccess" href="http://www.htaccess-guide.com/" target="_blank">.htaccess</a>).</p>
<p>Supongamos que tenemos un proyecto en el que necesitamos guardar los contenidos en la parte <strong>privada</strong>, es decir, en una carpeta por ejemplo al mismo nivel que nuestra carpeta <strong>pública</strong> (web, www, httpdocs) para así evitar que se acceda a estos contenidos mediante una petición <strong>http</strong>, pero que la aplicación necesitará acceder a estos contenidos. Aquí es donde viene tiene sentido este post, jejeje :D.</p>
<p>Bueno, para poder acceder a estos contenidos necesitamos contar con tres piezas:</p>
<ul>
<li>La ruta del fichero y el <a title="PHP - basename" href="http://es2.php.net/manual/es/function.basename.php" target="_blank">nombre del fichero</a></li>
<li>Conocer el <a title="Content Type" href="http://en.wikipedia.org/wiki/MIME" target="_blank">content type</a> (MIME)</li>
<li><a title="PHP - filesize" href="http://es2.php.net/filesize" target="_blank">Tamaño del fichero</a></li>
</ul>
<p>La primera la tenemos que conseguir de alguna forma a través de nuestra aplicación, la segunda partirá del tipo de fichero y la tercera la obtenemos a partir de la primera, jejeje.</p>
<p>Ahora si, sin más historias pongo el código de ejemplo que hice para este pequeño tutorial:</p>

<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">//Configuramos la tabla de tipo</span>
<span style="color: #000088;">$tipos</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000088;">$tipos</span><span style="color: #009900;">&#91;</span><span style="">'xml'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;text&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;xml&quot;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000088;">$tipos</span><span style="color: #009900;">&#91;</span><span style="">'swf'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;application&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;x-shockwave-flash&quot;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000088;">$tipos</span><span style="color: #009900;">&#91;</span><span style="">'pdf'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;application&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;pdf&quot;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000088;">$tipos</span><span style="color: #009900;">&#91;</span><span style="">'ppt'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;application&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;vnd.ms-powerpoint&quot;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000088;">$tipos</span><span style="color: #009900;">&#91;</span><span style="">'doc'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;application&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;vnd.ms-word&quot;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000088;">$tipos</span><span style="color: #009900;">&#91;</span><span style="">'xls'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;application&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;vnd.ms-excel&quot;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000088;">$tipos</span><span style="color: #009900;">&#91;</span><span style="">'zip'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;application&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;x-zip-compressed&quot;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000088;">$tipos</span><span style="color: #009900;">&#91;</span><span style="">'rar'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;application&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;x-rar-compressed&quot;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000088;">$tipos</span><span style="color: #009900;">&#91;</span><span style="">'gif'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;image&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;gif&quot;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000088;">$tipos</span><span style="color: #009900;">&#91;</span><span style="">'png'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;image&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;png&quot;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000088;">$tipos</span><span style="color: #009900;">&#91;</span><span style="">'jpg'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;image&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;jpg&quot;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000088;">$tipos</span><span style="color: #009900;">&#91;</span><span style="">'flv'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;video&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;x-flv&quot;</span><span style="color: #009900;">&#41;</span>;
&nbsp;
<span style="color: #666666; font-style: italic;">//Definimos la ruta base de los ficheros</span>
<span style="color: #000088;">$ruta_base_fichero</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;../contenidos/fichero_&quot;</span>;
&nbsp;
<span style="color: #666666; font-style: italic;">//Recogemos el tipo de fichero que nos solicitan</span>
<span style="color: #000088;">$tipo_fichero</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="">'fichero'</span><span style="color: #009900;">&#93;</span>;
&nbsp;
<span style="color: #666666; font-style: italic;">//Obtenemos la ruta del fichero combinando la rutaBaseFichero y el tipo_fichero</span>
<span style="color: #000088;">$ruta_fichero</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$ruta_base_fichero</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$tipo_fichero</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;.&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$tipo_fichero</span>;
&nbsp;
<span style="color: #666666; font-style: italic;">//Verificamos que el fichero exista, en caso contrario interrumpimos la ejecucion del proceso.</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ruta_fichero</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;El fichero solicitado no existe.&quot;</span><span style="color: #009900;">&#41;</span>;
&nbsp;
<span style="color: #666666; font-style: italic;">//Obtenemos el tamanyo del fichero</span>
<span style="color: #000088;">$tamano_fichero</span> <span style="color: #339933;">=</span> <span style="color: #339933;">@</span><span style="color: #990000;">filesize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ruta_fichero</span><span style="color: #009900;">&#41;</span>;
&nbsp;
<span style="color: #666666; font-style: italic;">//Indicamos en la cabecera el tipo de fichero, para esto utilizamos la tabla de tipos que creamos en la parte superior</span>
<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-Type:&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$tipos</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tipo_fichero</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color:#800080;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;/&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$tipos</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$tipo_fichero</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
&nbsp;
<span style="color: #666666; font-style: italic;">//Indicamos en la cabecera el nombre del fichero, para esto utilizamos la variable $ruta_fichero, esto es para que el navegador entienda que el fichero no es contenidos.php sino el fichero solicitado</span>
<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-Disposition: inline; filename=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">rawurlencode</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">basename</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ruta_fichero</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #009900;">&#41;</span>;
&nbsp;
<span style="color: #666666; font-style: italic;">//Indicamos en la cabecera el tamanyo del fichero</span>
<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-Length:&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$tamano_fichero</span><span style="color: #009900;">&#41;</span>;
<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Accept-Ranges:&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$tamano_fichero</span><span style="color: #009900;">&#41;</span>;
<span style="color: #339933;">@</span><span style="color: #990000;">readfile</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ruta_fichero</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>El código está comentado, casi línea a línea, para que quede más claro. Puede optimizarse muchísimo el código, se pueden encapsular constantes, crear clases para reutilizarlo y muchísimas más cosas, pero el fin de este ejemplo es que sirva para iniciarse y entender como consumir contenidos en php de la parte privada de nuestro sevidor.</p>
<p>A continuación los ejemplos:</p>
<ul>
<li><a title="Fichero xml" href="http://www.nomeva.com/contenidos.php?fichero=xml" target="_blank">Fichero xml</a>.</li>
<li><a title="Fichero swf" href="http://www.nomeva.com/contenidos.php?fichero=swf" target="_blank">Fichero swf</a>.</li>
<li><a title="Fichero pdf" href="http://www.nomeva.com/contenidos.php?fichero=pdf" target="_blank">Fichero pdf</a>.</li>
<li><a title="Fichero ppt" href="http://www.nomeva.com/contenidos.php?fichero=ppt" target="_blank">Fichero ppt</a>.</li>
<li><a title="Fichero doc" href="http://www.nomeva.com/contenidos.php?fichero=doc" target="_blank">Fichero doc</a>.</li>
<li><a title="Fichero xls" href="http://www.nomeva.com/contenidos.php?fichero=xls" target="_blank">Fichero xls</a>.</li>
<li><a title="Fichero zip" href="http://www.nomeva.com/contenidos.php?fichero=zip" target="_blank">Fichero zip</a>.</li>
<li><a title="Fichero rar" href="http://www.nomeva.com/contenidos.php?fichero=rar" target="_blank">Fichero rar</a>.</li>
<li><a title="Fichero gif" href="http://www.nomeva.com/contenidos.php?fichero=gif" target="_blank">Fichero gif</a>.</li>
<li><a title="Fichero png" href="http://www.nomeva.com/contenidos.php?fichero=png" target="_blank">Fichero png</a>.</li>
<li><a title="Fichero jpg" href="http://www.nomeva.com/contenidos.php?fichero=jpg" target="_blank">Fichero jpg</a>.</li>
<li>Fichero flv, jejeje, este no lo subí :P.</li>
</ul>
<p>Todos los ficheros están en la parte <strong>privada</strong> de mi <strong>servidor</strong>, por tanto desde <strong>http</strong> no se puede acceder a ellos, de tal forma que para acceder a ellos se pasa por un <strong><em>router</em></strong> que es un fichero php que puede acceder a los ficheros y devolverlos.</p>
<p>Un beneficio muy importante que obtenemos al hacer uso de esta metodología es que podemos almacenar en un fichero de <strong>log</strong> o en <strong>base de datos</strong> todas las peticiones que se hagan y así tener más controlado el acceso a estos ficheros, pero bueno este tema da para otro post así que lo dejamos de momento aquí :P.</p>
<p>Espero haberme explicado claramente, si tienen cualquier duda para eso están los comentarios. Ojalá les sea de utilidad. Saludos!!!</p>
<p>Artículos relacionados:</p>
<p><a title="Leer información de ficheros SWF" href="http://www.nomeva.com/2008/09/22/php-read-file-swf-leer-fichero-swf/" target="_blank">Leer información de ficheros <strong>SWF</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nomeva.com/2008/10/25/tutorial-php-leer-ficheros-de-parte-privada/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flash Player 10 - Aplicaciones y Ejemplos</title>
		<link>http://www.nomeva.com/2008/10/22/flash-player-10-aplicaciones-y-ejemplos/</link>
		<comments>http://www.nomeva.com/2008/10/22/flash-player-10-aplicaciones-y-ejemplos/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 13:39:57 +0000</pubDate>
		<dc:creator>Luis Adrián</dc:creator>
		
		<category><![CDATA[Flash]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[Flash Player]]></category>

		<guid isPermaLink="false">http://www.nomeva.com/?p=216</guid>
		<description><![CDATA[
Vía Serge Gesperes me encuentro con una lista de aplicaciones y ejemplos en los que podemos ver el potencial de Flash Player 10:

Away 3D demo Aquí vemos un bagón sobre una vía, impresionante motor 3D
Backflip Aquí vemos una interfaz 3D muy atractiva con movimientos sobre videos
Hobnox Audiotool ¿Será esto el principio del fin de las [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="Flash Player 10 Examples" src="http://www.nomeva.com/imagenes/flash_player10_examples.jpg" alt="" width="310" height="255" /></p>
<p>Vía <a title="My favority Flash Player 10 apps and examples" href="http://www.webkitchen.be/2008/10/22/my-favorite-flash-player-10-apps-and-examples/" target="_blank">Serge Gesperes</a> me encuentro con una lista de aplicaciones y ejemplos en los que podemos ver el potencial de Flash Player 10:</p>
<ul>
<li><a title="Away3D demo" href="http://www.closier.nl/playground/railaway_express.html" target="_blank">Away 3D demo</a> Aquí vemos un bagón sobre una vía, impresionante motor 3D</li>
<li><a title="Back flip" href="http://www.backflip.co.uk/flash10gallery/" target="_blank">Backflip</a> Aquí vemos una interfaz 3D muy atractiva con movimientos sobre videos</li>
<li><a title="Hobnox Audiotool" href="http://www.hobnox.com/audiotool" target="_blank">Hobnox Audiotool</a> ¿Será esto el principio del fin de las aplicaciones de escritorio?</li>
<li><a title="Pixel Bender examples" href="http://www.anttikupila.com/flash/pixel-bender-levels-example/" target="_blank">PixelBender example</a> Esta es una de las novedades más interesantes y la vemos en acción.</li>
<li><a title="NoteFligth" href="http://www.noteflight.com/scores/view/ca3a1593ed6236c9bb56971b89d80f23a105f5c4" target="_blank">NoteFlight</a> Hace tiempo se inició un proyecto similar, pero la tecnología todavía no lo permitia, ahora sencillamente podemos leer partituras y creas sonido de una manera increible.</li>
<li><a title="PhotoBooth" href="http://www.everythingflex.com/fp10/fotobooth/" target="_blank">PhotoBooth</a> No sé que hace porque no tengo webcam, jejeje <img src='http://www.nomeva.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </li>
<li><a title="Picnick" href="http://www.picnik.com/app#/create/sandbox" target="_blank">Picnick</a> Otro ejemplo de lo que podemos hacer con Pixel Bender<a onclick="javascript:pageTracker._trackPageview('/outgoing/www.picnik.com/app#/create/sandbox');" href="http://www.picnik.com/app#/create/sandbox"></a></li>
<li><a title="Boulevart Labs" href="http://labs.boulevart.be/" target="_blank">Boulevart Labs</a> Ejemplos del potencial de Flash Player 10</li>
<li><a title="Nascom Labs" href="http://www.nascom.be/392/initial-tests-with-flash-player-10-3d-features" target="_blank">Nascom Labs</a> Más ejemplos del potencial de Flash Player 10</li>
</ul>
<p>No se los pueden perder, sin lugar a dudas estamos viviendo un gran momento en cuanto al 3D, la interactividad, el video y los contenidos ricos en internet.</p>
<p>Saludos!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nomeva.com/2008/10/22/flash-player-10-aplicaciones-y-ejemplos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flash Player 10 - 3D nativo vs Papervision3D y demás motores 3D</title>
		<link>http://www.nomeva.com/2008/10/15/flash-player-10-3d-nativo-vs-papervision3d/</link>
		<comments>http://www.nomeva.com/2008/10/15/flash-player-10-3d-nativo-vs-papervision3d/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 20:09:46 +0000</pubDate>
		<dc:creator>Luis Adrián</dc:creator>
		
		<category><![CDATA[Flash]]></category>

		<category><![CDATA[Interactividad]]></category>

		<category><![CDATA[3D]]></category>

		<category><![CDATA[Flash Player]]></category>

		<guid isPermaLink="false">http://www.nomeva.com/?p=214</guid>
		<description><![CDATA[Con la salida de Flash Player 10 vienen muchas cosas, entre ellas las que más interés me causan son el tema del 3D nativo y la cinemática inversa. Es sobre el primero que voy a enfocar este post.
Ahora que Flash nos ofrece un 3D nativo, ¿realmente nos hacen falta todos esos motores 3D que últimamente [...]]]></description>
			<content:encoded><![CDATA[<p>Con la salida de <a title="Flash Player 10 listo para todos los usuarios" href="http://www.nomeva.com/2008/10/15/flash-player-10-listo-para-todos-los-usuarios/" target="_blank">Flash Player 10</a> vienen muchas cosas, entre ellas las que más interés me causan son el tema del 3D nativo y la cinemática inversa. Es sobre el primero que voy a enfocar este post.</p>
<p>Ahora que Flash nos ofrece un 3D nativo, ¿realmente nos hacen falta todos esos motores 3D que últimamente se ven tanto en la web?, ¿esto significará el principio del fin de estos motores?, teniendo el 3D nativo ¿aportan algo estos motores?</p>
<p>Bueno después de unas cuantas preguntas responderé que <strong>SI</strong> a todas, si a que nos hacen falta esos motores, si a que es el principio del fin, si a que aportan algo estos motores. Y ahora viene lo importante, el por que.</p>
<ul>
<li>Los desarrolladores ya están acostumbrados a utilizar estos motores 3D.</li>
<li>Al igual que los players anteriores no se instalarán de la noche a la mañana, así que llevará tiempo para que la comunidad tenga instalado Flash Player 10, mientras tanto la gente deseará ver contenidos interactivos 3D así que ahí está otro punto. Este punto es muy importante y me viene a la mente un <a title="La importancia de ActionScript 2.0" href="http://www.cristalab.com/blog/47913/la-importancia-de-actionscript-2.0.html" target="_blank">post</a> de Freddie de Cristalab sobre ActionScript 2.0 y ActionScript 3.0, veo que es algo similar.</li>
<li>Muy de la mano del punto anterior, los cambios siempre cuestan un poco al principio, así que mientras aprendemos a sacarle provecho a este 3D nativo tendremos muchos proyectos que sacar adelante como ya lo sabemos hacer, es decir con los motores 3D.</li>
</ul>
<p>A día de hoy creo que hay mucho camino por recorrer todavía con ActionScript 3.0 y los motores 3D, seguramente no pasará mucho tiempo antes que alguién cree un framework de desarrollo 3D utilizando las bondades de Flash Player 10 y el 3D nativo, pero mientras eso llega yo seguiré con mi investigación en este mundo de los motores 3D.</p>
<p>Hasta ahora he encontrado los siguientes:</p>
<ul>
<li><a title="Sandy 3D" href="http://www.flashsandy.org/" target="_blank">Sandy 3D</a></li>
<li><a title="Papervision3D" href="http://www.papervision3d.org/" target="_blank">Papervision3D</a></li>
<li><a title="Away3D" href="http://away3d.com/" target="_blank">Away3D</a></li>
<li><a title="3dfs" href="http://3dfs.playpixel.net/" target="_blank">3dfs</a></li>
<li><a title="FIVe3D" href="http://five3d.riaforge.org/" target="_blank">FIVe3D</a></li>
<li><a title="Sophie3D" href="http://www.sophie3d.com/" target="_blank">Sophie3D</a></li>
<li><a title="Alternativa3D" href="http://alternativaplatform.com/en/alternativa3d/" target="_blank">Alternativa3D</a></li>
</ul>
<p>Actualización a lo que escribí arriba, jejeje, la gente de Alternativa3D ya se puso las pilas y ya han optimizado su código para Flash Player 10.</p>
<blockquote><p>Alternativa3D engine is ready for Flash Player 10.</p></blockquote>
<p>Bueno ya veremos que nos depara el futuro, la tecnología avanza rapidísimo y a pasos agigantados, pero la gente de adobe no nos deja dormir ni un solo día, tendremos que hacer algunos días de guardia para no quedarnos obsoletos, jejeje.</p>
<p>Saludos!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nomeva.com/2008/10/15/flash-player-10-3d-nativo-vs-papervision3d/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flash Player 10 - Listo para todos los usuarios</title>
		<link>http://www.nomeva.com/2008/10/15/flash-player-10-listo-para-todos-los-usuarios/</link>
		<comments>http://www.nomeva.com/2008/10/15/flash-player-10-listo-para-todos-los-usuarios/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 19:00:32 +0000</pubDate>
		<dc:creator>Luis Adrián</dc:creator>
		
		<category><![CDATA[Flash]]></category>

		<category><![CDATA[Flash Player]]></category>

		<guid isPermaLink="false">http://www.nomeva.com/?p=210</guid>
		<description><![CDATA[
Desde hace tiempo podiamos descargar de los labs de adobe el Flash Player 10, pero esto era más que nada para los desarrolladores. Hoy se ha puesto a disposición de toda la comunidad. Sobre todas las características ya se ha hablado mucho así que simplemente diré que lo veo necesario y quizá un poco tardío [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="Flash Player 20" src="http://www.nomeva.com/imagenes/flash_player_10.jpg" alt="" width="225" height="114" /></p>
<p>Desde hace tiempo podiamos descargar de los <a title="Adobe Labs" href="http://labs.adobe.com/" target="_blank">labs</a> de adobe el <a title="Flash Player 10 - Adobe Labs" href="http://labs.adobe.com/technologies/flashplayer10/" target="_blank">Flash Player 10</a>, pero esto era más que nada para los desarrolladores. Hoy se ha puesto a disposición de toda la comunidad. Sobre todas las características ya se ha hablado mucho así que simplemente diré que lo veo necesario y quizá un poco tardío pues desde hace un par de semanas ya se podía generar contenido oficialmente para Flash Player 10, esto es desde que se lanzó la <a title="Adobe Creative Suite CS4" href="http://www.adobe.com/es/products/creativesuite/" target="_blank">Creative Suite CS4</a>.</p>
<p>Retiro un poco lo dicho arriba, aunque se ha hablado ya mucho sobre las características del nuevo player y también hemos visto algunos videos del player en acción, recomiendo ampliamente ver el video de presentación de la página oficial de <a title="Adobe Flash Player" href="http://www.adobe.com/products/flashplayer/" target="_blank">adobe flash player</a>. Para descargarlo e instalarlo es tan sencillo como las anteriores versiones, simplemente deben acceder a la página de <a title="get Flash Player" href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&amp;promoid=DXLUJ" target="_blank">get flash player</a> y listo.</p>
<p>Más información:</p>
<p><a title="Adobe Flash Player" href="http://www.adobe.com/products/flashplayer/" target="_blank">Adobe Flash Player</a></p>
<p><a title="Flash Player 10 en Cristalab" href="http://www.cristalab.com/blog/62686/descarga-flash-player-10.html" target="_blank">Descargar Flash Player 10</a></p>
<p><a title="Flash Player 10 release en Madeinflex" href="http://www.madeinflex.com/2008/10/15/flash-player-10-released/" target="_blank">Flash Player 10 released</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nomeva.com/2008/10/15/flash-player-10-listo-para-todos-los-usuarios/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
