<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
	<title>Bitacoras.com: canal "programar"</title>
	<atom:link href="http://bitacoras.com/feed/canales/programar" rel="self" type="application/rss+xml" />
	<link>http://bitacoras.com/feed/canales/programar</link>
	<description>Se muestran las ultimas 20 anotaciones para el canal "programar"</description>
	<copyright>Copyright 2008</copyright>
	<pubDate>Sat, 30 Aug 2008 05:22:40 +0200</pubDate>
	<generator>Bitacoras.com/2.0</generator>
	<image>
		<url>http://bitacoras.com/public/images/logo.png</url>
		<title>Bitacoras.com: canal "programar"</title>
		<link>http://bitacoras.com/feed/canales/programar</link>
	</image>
	<item>
		<dc:creator>Juan Diego Polo</dc:creator>
		<title>OpenSourcePHP - Comunidad de proyectos de c&#243;digo libre en php</title>
		<link>http://wwwhatsnew.com/2008/08/30/opensourcephp-comunidad-de-proyectos-de-codigo-libre-en-php</link>
		<guid isPermaLink="true">http://wwwhatsnew.com/2008/08/30/opensourcephp-comunidad-de-proyectos-de-codigo-libre-en-php</guid>
		<pubDate>Sat, 30 Aug 2008 05:22:40 +0200</pubDate>
		<category>codigo abierto</category>
		<category>aplicaciones</category>
		<category>comunidad</category>
		<category>directorio</category>
		<category>favoritos</category>
		<description><![CDATA[Por Juan Diego Polo en Wwwhat's new? el 30 de agosto de 2008 a las 05:22:40

Siempre es bueno navegar entre los directorios de aplicaciones de código libre en busca de inspiración para nuestro próximo proyecto o de ideas que podamos utilizar para mejorar los existentes.OpenSourcePHP es una selección de proyectos Open Source en PHP indicados por los propios usuarios, con posibilidad &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/wwwhatsnew">Juan Diego Polo</a> en <a href="http://bitacoras.com/bitacora/wwwhatsnew.com">Wwwhat's new?</a> el 30 de agosto de 2008 a las 05:22:40</p>

<p><img src="http://wwwhatsnew.com/wp-content/uploads/2008/08/php.jpg" alt="" title="php" width="215" height="74" class="alignnone size-medium wp-image-8567" />Siempre es bueno navegar entre los directorios de <a href="http://wwwhatsnew.com/category/codigo-libre/">aplicaciones de código libre</a> en busca de inspiración para nuestro próximo proyecto o de ideas que podamos utilizar para mejorar los existentes.</p><br /><br /><p><a href="http://open.srcphp.com">OpenSourcePHP</a> es una selección de proyectos Open Source en PHP indicados por los propios usuarios, con posibilidad de comentarlos, clasificarlos o añadirlos como favoritos para posterior consulta.</p><br /><br /><p>Un buen lugar para que, junto a hotscripts, no empecéis desde cero a programar vuestra nueva web.</p><br /><br /><p>fuente: <a href="http://www.emilychang.com/go/ehub/app/opensrcphp/">ehub</a></p>

<p>Etiquetas: <a href="http://bitacoras.com/canales/codigo+abierto">codigo abierto</a>, <a href="http://bitacoras.com/canales/aplicaciones">aplicaciones</a>, <a href="http://bitacoras.com/canales/comunidad">comunidad</a>, <a href="http://bitacoras.com/canales/directorio">directorio</a>, <a href="http://bitacoras.com/canales/favoritos">favoritos</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>Juan Diego Polo</dc:creator>
		<title>NotasWeb - Red social de programadores web</title>
		<link>http://wwwhatsnew.com/2008/09/30/notasweb-red-social-de-programadores-web</link>
		<guid isPermaLink="true">http://wwwhatsnew.com/2008/09/30/notasweb-red-social-de-programadores-web</guid>
		<pubDate>Tue, 30 Sep 2008 23:32:50 +0200</pubDate>
		<category>solo programadores</category>
		<category>mensaje</category>
		<category>mensajeria</category>
		<category>programar</category>
		<category>proyectos</category>
		<description><![CDATA[Por Juan Diego Polo en Wwwhat's new? el 30 de septiembre de 2008 a las 23:32:50

Programar puede ser un verdadero suplicio si se intenta hacer aislado del mundo. La mayoría de los buenos programadores saben donde encontrar buenas rutinas, prácticas funciones que simplifiquen su tarea.NotasWeb es una nueva red social en la que desarrolladores web pueden ayudarse mutuamente a la hora &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/wwwhatsnew">Juan Diego Polo</a> en <a href="http://bitacoras.com/bitacora/wwwhatsnew.com">Wwwhat's new?</a> el 30 de septiembre de 2008 a las 23:32:50</p>

<p><img src="http://wwwhatsnew.com/wp-content/uploads/2008/09/logo6.jpg" alt="" title="programación" width="215" height="43" class="alignnone size-medium wp-image-9390" />Programar puede ser un verdadero suplicio si se intenta hacer aislado del mundo. La mayoría de los buenos programadores saben donde encontrar buenas rutinas, prácticas funciones que simplifiquen su tarea.</p><br /><br /><p><a href="http://notasweb.com/">NotasWeb</a> es una nueva red social en la que desarrolladores web pueden ayudarse mutuamente a la hora de programar un proyecto en Internet.</p><br /><br /><p>Jon Segador, el administrador de la web, me lo presenta de la siguiente forma:</p><br /><br /><blockquote><p>NotasWeb es una red social de desarrolladores web donde se pretende entablar conversaciones entre miembros para colaborar en proyectos. También podrás tanto leer como escribir artículos sobre temas relacionados con el desarrollo web, etc.</p><br /><br /><p>Tiene mensajería interna, ranking de usuarios, etc, por lo que la interacción con otros usuarios es completa. También contamos con una sección de contacto para que puedas dejar tus sugerencias, que sin duda serán estudiadas y desarrolladas llegado el caso.</p></blockquote><br /><br /><p>Un enlace importante para que todos los que trabajan en este tema lo tengan siempre presente.</p><br /><br /><p><br /><br /><div style="height:132px;width:180px;"><a href="http://bitacoras.com/premios08/votar/wwwhatsnew.com"><img src="http://static2.bitacoras.com/images/widgets/premios/trozo-premios-180.gif" alt="Votar en los Premios Bitacoras.com" /></a><a href="http://www.adn.es/blog/premios-bitacoras"><img src="http://static2.bitacoras.com/images/widgets/premios/trozo-medio-180.gif" alt="Medio Oficial de los Premios Bitacoras.com" /></a></div></p>

<p>Etiquetas: <a href="http://bitacoras.com/canales/solo+programadores">solo programadores</a>, <a href="http://bitacoras.com/canales/mensaje">mensaje</a>, <a href="http://bitacoras.com/canales/mensajeria">mensajeria</a>, <a href="http://bitacoras.com/canales/programar">programar</a>, <a href="http://bitacoras.com/canales/proyectos">proyectos</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>wozkol</dc:creator>
		<title>Diret&#243;rio de programas Open Source</title>
		<link>http://br.wwwhatsnew.com/2008/08/diretorio-de-programas-open-source</link>
		<guid isPermaLink="true">http://br.wwwhatsnew.com/2008/08/diretorio-de-programas-open-source</guid>
		<pubDate>Wed, 06 Aug 2008 21:59:26 +0200</pubDate>
		<category>open source</category>
		<category>programac</category>
		<category>codigo livre</category>
		<category>programar</category>
		<description><![CDATA[Por wozkol en WWWhat's new? Brasil el 06 de agosto de 2008 a las 21:59:26

O site OS Living reúne, em formato de diretório, vários programas open source. Os programas são classificados em categorias e o usuário pode comentar e também enviar um programa para o arquivo do site. Com um design bem simples, a navegação é bem agradável, estimulando a descobrir novos programas.

Etiquetas &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/wwwhatsnew">wozkol</a> en <a href="http://bitacoras.com/bitacora/br.wwwhatsnew.com">WWWhat's new? Brasil</a> el 06 de agosto de 2008 a las 21:59:26</p>

<p><img class="aligncenter size-medium wp-image-556" src="http://br.wwwhatsnew.com/wp-content/uploads/2008/08/opensourceliving-440x60.gif" alt="" width="440" height="60" /></p><br /><br /><p>O site <a href="http://osliving.com/index.php">OS Living</a> reúne, em formato de diretório, vários programas <a href="http://pt.wikipedia.org/wiki/Open_source">open source</a>. Os programas são classificados em categorias e o usuário pode comentar e também enviar um programa para o arquivo do site. </p><br /><br /><p>Com um design bem simples, a navegação é bem agradável, estimulando a descobrir novos programas.</p>

<p>Etiquetas: <a href="http://bitacoras.com/canales/open+source">open source</a>, <a href="http://bitacoras.com/canales/programac">programac</a>, <a href="http://bitacoras.com/canales/codigo+livre">codigo livre</a>, <a href="http://bitacoras.com/canales/programar">programar</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>Alfonso Miranda</dc:creator>
		<title>Easy Tweets - Programa tus twitts</title>
		<link>http://wwwhatsnew.com/2008/07/23/easy-tweets-programa-tus-twitts</link>
		<guid isPermaLink="true">http://wwwhatsnew.com/2008/07/23/easy-tweets-programa-tus-twitts</guid>
		<pubDate>Wed, 23 Jul 2008 05:25:43 +0200</pubDate>
		<category>twitter</category>
		<category>cuentas</category>
		<category>programar</category>
		<description><![CDATA[Por Alfonso Miranda en Wwwhat's new? el 23 de julio de 2008 a las 05:25:43

Hace ya algunas semanas os presentábamos Matt, un servicio que te permitía twittear desde varias cuentas a la vez.Lo que hoy os traemos es Easy Tweets, una aplicación con la cual también se puede administrar varias cuentas de twitter, pero de una forma totalmente diferente. En esta ocasión no podemos twitte &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/wwwhatsnew">Alfonso Miranda</a> en <a href="http://bitacoras.com/bitacora/wwwhatsnew.com">Wwwhat's new?</a> el 23 de julio de 2008 a las 05:25:43</p>

<p><img class="alignleft size-medium wp-image-7528" src="http://wwwhatsnew.com/wp-content/uploads/2008/07/logo.jpg" alt="" width="197" height="67" />Hace ya algunas semanas os presentábamos <a href="http://wwwhatsnew.com/2008/07/09/matt-twittea-en-varias-cuentas-a-la-vez/">Matt</a>, un servicio que te permitía twittear desde varias cuentas a la vez.</p><br /><br /><p>Lo que hoy os traemos es <a href="https://easytweets.com/">Easy Tweets</a>, una aplicación con la cual también se puede administrar varias cuentas de twitter, pero de una forma totalmente diferente. En esta ocasión no podemos twittear con varias cuentas a la vez, aunque en realidad si que es posible.</p><br /><br /><p><strong>¿Os estoy liando? Ahora me explico mejor.</strong></p><br /><br /><p><img class="aligncenter size-medium wp-image-7529" src="http://wwwhatsnew.com/wp-content/uploads/2008/07/clip2-440x398.jpg" alt="" width="440" height="398" /></p><br /><br /><p>Al registrarte en la aplicación, <strong>tenemos la opción de añadir todas las cuentas de twitter que queramos</strong>, sin ningún límite. Estas cuentas se van añadiendo a nuestro panel de control, desde el cual podemos ir accediendo a cada una de ellas para administrarlas.</p><br /><br /><p><img class="aligncenter size-medium wp-image-7530" src="http://wwwhatsnew.com/wp-content/uploads/2008/07/clip1-440x132.jpg" alt="" width="440" height="132" /><br /><br /><br />Entre las cosas que podemos hacer con cada una de nuestras cuentas están el<strong> ver nuestros replies</strong>, algo muy útil al estar muchas veces deshabilitado en la web de twitter, <strong>ver los twitts que hemos posteado</strong> o <strong>añadir uno nuevo</strong>.</p><br /><br /><p>Al entrar en esta última opción es donde viene lo realmente importante de la aplicación, ya que, para escribir una nueva entrada, <strong>podemos programarla para una fecha determinada</strong>. Esto es muy interesante, por si queresmos dejar programadas algunos temas que dependen de una hora fijada.</p><br /><br /><p><img class="aligncenter size-medium wp-image-7531" src="http://wwwhatsnew.com/wp-content/uploads/2008/07/clip3-440x209.jpg" alt="" width="440" height="209" /></p><br /><br /><p>Aquí está la explicación de el por qué decíamos que en un principio no podemos escribir un twiit en varias cuentas a la vez, ya que esta aplicación solo nos deja ir de una en una, pero si programamos en varias cuentas un posteo a la misma hora, el efecto sería similar.<br /><br /><p>Comenta esta entrada en <a href="http://wwwhatsnew.com">wwwhatsnew.com</a></p>

<p>Etiquetas: <a href="http://bitacoras.com/canales/twitter">twitter</a>, <a href="http://bitacoras.com/canales/cuentas">cuentas</a>, <a href="http://bitacoras.com/canales/programar">programar</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>Ignacio Nicol&#225;s Rodr&#237;guez</dc:creator>
		<title>El miedo a la eternidad en C#</title>
		<link>http://inz.bitacoras.com/archivos/2007/11/02/el-miedo-a-la-eternidad-en-c</link>
		<guid isPermaLink="true">http://inz.bitacoras.com/archivos/2007/11/02/el-miedo-a-la-eternidad-en-c</guid>
		<pubDate>Fri, 02 Nov 2007 01:04:56 +0100</pubDate>
		<category>programar</category>
		<description><![CDATA[Por Ignacio Nicolás Rodríguez en Rerum Varium el 02 de noviembre de 2007 a las 01:04:56

Me hizo morir de risa Juan Martín en su artículo introductorio a la programación C# para jefes de estado con tendencias recursivas, a saber.  ¡Qué grande!

Etiquetas: programar]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/ignacionr">Ignacio Nicolás Rodríguez</a> en <a href="http://bitacoras.com/bitacora/inz.bitacoras.com">Rerum Varium</a> el 02 de noviembre de 2007 a las 01:04:56</p>

<p>Me hizo morir de risa Juan Martín en <a href='http://gxelha.blogspot.com/2007/10/aprendiendo-c-definicin-argentina-de.html'>su artículo</a> introductorio a la programación C# para jefes de estado con tendencias recursivas, a saber.</p><br /> <p><img src='http://bp2.blogger.com/_ovBFMj6qx1A/RydWzltHNZI/AAAAAAAAAII/j3RHyrg3rqg/s1600-h/continuousLoop.JPG' /></p><br /> <p>¡Qué grande!</p><br /><br />

<p>Etiquetas: <a href="http://bitacoras.com/canales/programar">programar</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>Juan Diego Polo</dc:creator>
		<title>Viviti - y c&#243;mo crear un sitio web en pocos minutos</title>
		<link>http://wwwhatsnew.com/2008/06/19/viviti-y-como-crear-un-sitio-web-en-pocos-minutos</link>
		<guid isPermaLink="true">http://wwwhatsnew.com/2008/06/19/viviti-y-como-crear-un-sitio-web-en-pocos-minutos</guid>
		<pubDate>Thu, 19 Jun 2008 23:58:17 +0200</pubDate>
		<category>wikis</category>
		<category>creacion webs</category>
		<category>crear</category>
		<category>programar</category>
		<category>site</category>
		<description><![CDATA[Por Juan Diego Polo en Wwwhat's new? el 19 de junio de 2008 a las 23:58:17

He recibido la invitación de viviti, una aplicación que permite hacer un sitio web en pocos minutos sin tener ningún conocimiento de programación.Nada más entrar pide escoger entre varios diseños existentes. El resto se irá completando seleccionado los textos predefinidos y alterando su contenido.Podéis aña &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/wwwhatsnew">Juan Diego Polo</a> en <a href="http://bitacoras.com/bitacora/wwwhatsnew.com">Wwwhat's new?</a> el 19 de junio de 2008 a las 23:58:17</p>

<p>He recibido la invitación de <a href="http://www..viviti.com">viviti</a>, una aplicación que permite hacer un sitio web en pocos minutos sin tener ningún conocimiento de programación.<br /><br /><br /><img src="http://wwwhatsnew.com/wp-content/uploads/2008/06/temas.jpg" alt="" title="temas" width="440" height="200" class="alignnone size-medium wp-image-7015" /><br /><br /><br />Nada más entrar pide escoger entre <strong>varios diseños existentes</strong>. El resto se irá completando seleccionado los textos predefinidos y alterando su contenido.<br /><br /><br /><img src="http://wwwhatsnew.com/wp-content/uploads/2008/06/contenido3.jpg" alt="" title="contenido" width="440" height="256" class="alignnone size-medium wp-image-7016" /><br /><br /><br />Podéis <strong>añadir páginas</strong>, editar las columnas laterales,<strong> incluir fotos</strong>escogiendo el efecto al abrirlas…<br /><br /><br /><img src="http://wwwhatsnew.com/wp-content/uploads/2008/06/fotos4.jpg" alt="" title="fotos" width="440" height="325" class="alignnone size-medium wp-image-7017" /><br /><br /><br />De hecho pueden hacerse muchas cosas más, ya que hay <strong>bastantes bloques de contenido</strong> listos para ser añadidos en vuestra página:<br /><br /><br /><img src="http://wwwhatsnew.com/wp-content/uploads/2008/06/opciones.jpg" alt="" title="opciones" width="440" height="315" class="alignnone size-medium wp-image-7018" /><br /><br /><br />Vale la pena estar atentos si queréis tener una identidad web elegante y <strong>sencilla de mantener</strong>.</p>

<p>Etiquetas: <a href="http://bitacoras.com/canales/wikis">wikis</a>, <a href="http://bitacoras.com/canales/creacion+webs">creacion webs</a>, <a href="http://bitacoras.com/canales/crear">crear</a>, <a href="http://bitacoras.com/canales/programar">programar</a>, <a href="http://bitacoras.com/canales/site">site</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>pequenionoa</dc:creator>
		<title>Programa para Iphone desde dos. UITextField. Nivel Barrag&#225;n.</title>
		<link>http://www.iphonesoftware.es/programa-para-iphone-desde-dos-uitextfield-nivel-barragan</link>
		<guid isPermaLink="true">http://www.iphonesoftware.es/programa-para-iphone-desde-dos-uitextfield-nivel-barragan</guid>
		<pubDate>Tue, 24 Jun 2008 18:49:47 +0200</pubDate>
		<category>ejemplos</category>
		<category>barragan</category>
		<category>iphone</category>
		<category>nivel</category>
		<category>programar</category>
		<description><![CDATA[Por pequenionoa en iPhoneSoftware el 24 de junio de 2008 a las 18:49:47

¿Cómo estamos?Hoy, avanzaremos un poquito en nuestro aprendizaje. Una de las principales funciones que debe hacer un programa es la adquisición de datos, y para ello tenemos la clase UITextField. Se trata sin más de un simple formulario, que por defecto al ser pulsado con el dedo (recordemos que el Iphone tien &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/iphonesoftware">pequenionoa</a> en <a href="http://bitacoras.com/bitacora/www.iphonesoftware.es">iPhoneSoftware</a> el 24 de junio de 2008 a las 18:49:47</p>

<p style="text-align: justity;">¿Cómo estamos?<br /><br /><br />Hoy, avanzaremos un poquito en nuestro aprendizaje. Una de las principales funciones que debe hacer un programa es la adquisición de datos, y para ello tenemos la clase UITextField. Se trata sin más de un simple formulario, que por defecto al ser pulsado con el dedo (recordemos que el Iphone tiene pantalla táctil) desplegará un teclado virtual en la parte inferior de la pantalla</p><br /><br /><p style="text-align: justity;"><strong>Empezamos:</strong><br /><br /><br />Como este es el Artículo “Programar para Iphone desde Dos” me basare en los anteriores, “desde Cero” y “desde Uno” ,y doy por sabidas las cosas expuestas en ellos.</p><br /><br /><p style="text-align: justity;"><strong>Explicación del ejemplo:</strong></p><br /><br /><p style="text-align: justity;">Para poder entender bien como funciona separaré el programa en dos vistas que ocupen la pantalla completa. Cada vista contará de un Botón para ir hacia la otra vista, y además un UITextField. El TextField de la primera vista nos servirá para adquirir los datos, y en el segundo (aunque podriamos utilizar un UILabel) nos servirá para copiar los datos que hayan sido introducidos en la vista anterior.</p><br /><br /><p style="text-align: justity;"><strong>Creación del proyecto:</strong></p><br /><br /><p style="text-align: justity;">1.- Abrimos xcode.app y creamos un proyecto de tipo window.</p><br /><br /><p style="text-align: justity;"><strong>Definición de Objetos y Acciones:</strong></p><br /><br /><p style="text-align: justity;">Como ya tenemos una cierta base ire al grano.</p><br /><br /><p style="text-align: justity;">2.- En el archivo.h de nuestra app delegate, crearemos todos los Outlet y todas las Actions. También será conveniente deshabilitar el UITextField de la segunda vista.</p><br /><br /><p style="text-align: justity;"><strong>#import <UIKit/UIKit.h><br /><br /><br />@class TEXTFIELD_BLOGViewController;<br /><br /><br />@interface TEXTFIELD_BLOGAppDelegate : NSObject <UIApplicationDelegate><br /><br /><br />{<br /><br /><br />IBOutlet UIWindow *window;</strong></p><br /><br /><p style="text-align: justity;"><strong>IBOutlet id VISTA1;<br /><br /><br />IBOutlet id VISTA2;</strong></p><br /><br /><p style="text-align: justity;"><strong>IBOutlet id TEXTFIELD1;<br /><br /><br />IBOutlet id TEXTFIELD2;</strong></p><br /><br /><p style="text-align: justity;"><strong>IBOutlet id BOTON_F;<br /><br /><br />IBOutlet id BOTON_B;</strong></p><br /><br /><p style="text-align: justity;"><strong>NSString *cadena;<br /><br /><br />}<br /><br /><br />- (IBAction) PULSAR_ENTER_EN_TEXTFIELD1: (id) sender;<br /><br /><br />- (IBAction) PULSAR_BOTON_F: (id) sender;<br /><br /><br />- (IBAction) PULSAR_BOTON_B: (id) sender;<br /><br /><br />@property (nonatomic, retain) UIWindow *window;<br /><br /><br />@end</strong></p><br /><br /><p style="text-align: justity;"><strong>Creación de interface y asignación de elementos:</strong></p><br /><br /><p style="text-align: justity;">3.- Ahora hacemos doble click sobre el archivo.xib para abrir y editar con el interface builder nuestra pantalla.</p><br /><br /><p style="text-align: justity;">Arrastramos dos UIView a la ventana de MainWindow.xib y las nombramos como VISTA1 y VISTA2. Hacemos doble click sobre ellas para editarlas, y a cada una de las vistas le añadimos un UIButton y un UITextField.</p><br /><br /><p style="text-align: center;"><img style="vertical-align: middle;" src="http://www.iphonesoftware.es/wp-content/uploads/2008/06/imagen-11.png" alt="" width="281" height="173" /></p><br /><br /><p style="text-align: center;"><img style="vertical-align: middle;" src="http://www.iphonesoftware.es/wp-content/uploads/2008/06/imagen-21.png" alt="" width="450" height="300" /></p><br /><br /><p style="text-align: justity;">Ya tenemos todos nuestros elementos creados, y solo nos queda vincularlos con nuestra App Delegate. Pues bien, pulsando el Control desde nuestra app delegate vinculamos los dos botones, las dos vistas y los dos TextField a los correspondientes IBOutlet que creamos en el Archivo.h . Después de esto, pulsando el Control vinculamos los botones con la App Delegate, asignando las acciones de PULSAR_BOTON.</p><br /><br /><p style="text-align: justity;">Hasta aquí nada nuevo, nada que no supieramos ya.</p><br /><br /><p style="text-align: justity;">Si hicieramos lo mismo con el TEXTFIELD1 (el de la vista 1) asignariamos la IBAction al evento de pulsar sobre el TextField, pero nosotros queremos que cuando demos a la tecla ENTER del teclado virtual este se oculte. Por defecto, Xcode, establece que cuando pulsemos sobre el TextField se muestre el teclado automaticamente, es decir, esto no hace que lo implementemos. Sin embargo, una vez mostrado, si le damos al ENTER, este no se oculta, y eso si lo tenemos que implementar. Para ello en el interface builder abrimos la venta Inpector, seleccionamos el TextField de la vista uno y pulsamos sobre la pestaña de la flechita.</p><br /><br /><p style="text-align: center;"><img style="vertical-align: middle;" src="http://www.iphonesoftware.es/wp-content/uploads/2008/06/imagen-31.png" alt="" width="293" height="364" /></p><br /><br /><p style="text-align: justity;">Nos aparece una lista de todos los eventos a los que les podemos asignar IBAction. En este caso, el que nos sirve a nuestro proposito es Did End On Exit. Pulsamos con el ratón sobre el circulito que esta a la derecha  de Did End On Exit (no hace falta tener pulsado control) y sin soltar el ratón vamos hasta nuestra App Delegate y le asignamos la IBAction PULSAR_ENTER_EN_TEXTFIELD1.</p><br /><br /><p style="text-align: justity;"><strong>Implementación de funciones:</strong></p><br /><br /><p style="text-align: justity;">Como ya lo tenemos todo vinculado, es hora de implementar nuestras funciones.</p><br /><br /><p style="text-align: justity;">4.- Cerramos interface builder y nos vamos al Archivo.m. Allí escribiremos las tres funciones:</p><br /><br /><p style="text-align: justity;"><strong>- (void)applicationDidFinishLaunching:(UIApplication *)application</strong></p><br /><br /><p style="text-align: justity;"><strong>{<br /><br /><br />[window addSubview:VISTA1];<br /><br /><br />[TEXTFIELD2 setEnabled:NO];<br /><br /><br />[window makeKeyAndVisible];<br /><br /><br />}</strong></p><br /><br /><p style="text-align: justity;"><strong>- (IBAction) PULSAR_ENTER_EN_TEXTFIELD1: (id) sender<br /><br /><br />{<br /><br /><br />//    [VISTA1 removeFromSuperview];<br /><br /><br />//    [window addSubview:VISTA1];</strong></p><br /><br /><p style="text-align: justity;"><strong>[TEXTFIELD1 resignFirstResponder];<br /><br /><br />}</strong></p><br /><br /><p style="text-align: justity;"><strong>- (IBAction) PULSAR_BOTON_F: (id) sender<br /><br /><br />{<br /><br /><br />[VISTA1 removeFromSuperview];<br /><br /><br />[window addSubview:VISTA2];<br /><br /><br />//    cadena = [TEXTFIELD1 text];<br /><br /><br />[TEXTFIELD2 setText:[TEXTFIELD1 text]];</strong></p><br /><br /><p style="text-align: justity;"><strong>}<br /><br /><br />- (IBAction) PULSAR_BOTON_B: (id) sender<br /><br /><br />{<br /><br /><br />[VISTA2 removeFromSuperview];<br /><br /><br />[window addSubview:VISTA1];<br /><br /><br />}</strong></p><br /><br /><p style="text-align: justity;">Lo primero que hace nuestro programa como ya sabeis es ejecutar applicationDidFinishLaunching. Allí cargamos en la ventana la vista1 y desactivamos el TextField2 para que aunque sea pulsado no haga nada (esto lo podriamos haber hecho desde interface builder con el inspector).</p><br /><br /><p style="text-align: justity;">La función PULSAR_BOTON2, simplemente cambia de la vista2 a la vista1. Y la función PULSAR_BOTON1. Además de cargar la de la vista1 a la vista2, cambia la propiedad Text del TEXTFIELD2, asignandole el valor que haya en ese momento en la propiedad Text del TEXTFIELD1.</p><br /><br /><p style="text-align: justity;">Cuando ejecutamos PULSAR_ENTER_EN_TEXTFIELD1 hay dos maneras de lograr lo mismo, una es descargando y cargando la vista1, y la otra es ejecutar el método de UITextField :  [TEXTFIELD1 resignFirstResponder];   que lo que hace es desactivar el teclado.</p><br /><br /><p style="text-align: justity;">5.- Compilamos y comprobamos el funcionamiento.</p><br /><br /><p style="text-align: justity;">Tened en cuenta que la propiedad Text de un UITextField puede ser asignada a una cadena o a un array. Como he dicho al principio, la adquisición de datos es una parte esencial de cualquier programa.</p><br /><br /><p style="text-align: justity;">Como siempre es conveniente que investigueis con la ventana inspector del interface builder las carácteristicas que puede tener un UITextField.</p><br /><br /><p style="text-align: justify;">Otros Artículos de la serie:</p><br /><br /><p style="text-align: justify;"><a title="Nivel Tarzán." onclick="javascript:pageTracker._trackPageview('/outgoing/www.iphonesoftware.es/programar-para-iphone-desde-cero-uibutton-nivel-tarzan');" href="http://www.iphonesoftware.es/programar-para-iphone-desde-cero-uibutton-nivel-tarzan" target="_self">Programar para Iphone desde cero. UIButton. Nivel Tarzán.</a></p><br /><br /><p style="text-align: justify;"><a href="http://www.iphonesoftware.es/programar-para-iphone-desde-uno-uiview-nivel-piolin" target="_self">Programa para Iphone desde uno. UIView. Nivel Piolín.</a></p>

<p>Etiquetas: <a href="http://bitacoras.com/canales/ejemplos">ejemplos</a>, <a href="http://bitacoras.com/canales/barragan">barragan</a>, <a href="http://bitacoras.com/canales/iphone">iphone</a>, <a href="http://bitacoras.com/canales/nivel">nivel</a>, <a href="http://bitacoras.com/canales/programar">programar</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>pequenionoa</dc:creator>
		<title>Programar para Iphone desde tres. NSMutableArray. Nivel Luis Aragon&#233;s.</title>
		<link>http://www.iphonesoftware.es/programar-para-iphone-desde-tres-nsmutablearray-nivel-luis-aragones</link>
		<guid isPermaLink="true">http://www.iphonesoftware.es/programar-para-iphone-desde-tres-nsmutablearray-nivel-luis-aragones</guid>
		<pubDate>Sun, 29 Jun 2008 13:53:07 +0200</pubDate>
		<category>ejemplos</category>
		<category>aragones</category>
		<category>iphone</category>
		<category>luis</category>
		<category>nivel</category>
		<description><![CDATA[Por pequenionoa en iPhoneSoftware el 29 de junio de 2008 a las 13:53:07

Hoy juega España la final de la Eurocopa y publicar el nivel Luis Aragonés es nuestra forma de conmemorar este evento,Hemos aprendido ya muchas cosas. En el ejemplo anterior aprendimos a adquirir datos, que el usuario insertaba en un formulario. Hoy vamos a aprender a guardar esos datos de manera permanente, e &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/iphonesoftware">pequenionoa</a> en <a href="http://bitacoras.com/bitacora/www.iphonesoftware.es">iPhoneSoftware</a> el 29 de junio de 2008 a las 13:53:07</p>

<p style="text-align: justify;">Hoy juega España la final de la Eurocopa y publicar el nivel Luis Aragonés es nuestra forma de conmemorar este evento,</p><br /><br /><p style="text-align: justify;">Hemos aprendido ya muchas cosas. En el ejemplo anterior aprendimos a adquirir datos, que el usuario insertaba en un formulario. Hoy vamos a aprender a guardar esos datos de manera permanente, es decir, creando array de datos y guardarlos en ficheros.</p><br /><br /><p style="text-align: justify;"><strong>Empezamos:</strong><br /><br /><br />Como este es el Artículo “Programar para Iphone desde Tres” me basaré en los anteriores, “desde Cero”, “desde Uno” y "desde Dos", y doy por sabidas las cosas expuestas en ellos.</p><br /><br /><p style="text-align: justify;"><strong>Explicación del ejemplo:</strong></p><br /><br /><p style="text-align: justify;">Pretendo realizar un programa que sea como una agenda de contactos, que guarde el nombre, la dirección y el teléfono de mis amigos. Evidentemente pretendo poder añadir nuevos contactos y también eliminarlos. Por lo tanto, crearé en mi ventana, tres UITextField que me servirán tando para adquirir datos como para mostrar información. Y además pondré 4 botones, uno de añadir contacto, otro de borrar contacto, y otros dos de siguiente y anterior.</p><br /><br /><p style="text-align: justify;"><strong>Creación del proyecto:</strong></p><br /><br /><p style="text-align: justify;">1.- Abrimos xcode.app y creamos un proyecto de tipo window.</p><br /><br /><p style="text-align: justify;"><strong>Definición de Objetos y Acciones:</strong></p><br /><br /><p style="text-align: justify;">Como ya tenemos una cierta base ire al grano.</p><br /><br /><p style="text-align: justify;">2.- En el archivo.h de nuestra app delegate, crearemos todos los Outlet y todas las Actions. Además necesitaré un NSMutableArray, que será la variable que guarde todos mis datos.</p><br /><br /><p style="text-align: justify;">Antes de nada hay que hablar un poco del NSMutableArray. Se trata de un Array en el que en cada posición de su tabla interna de datos, puedes guardar cualquier tipo de objeto, es decir, en cada posición podría guardar un entero, o una cadena. En nuestro caso, en cada posición de nuestro NSMutableArray tendremos a otro NSMutableArray. Con esto logramos crear una especie de estructura. Este segundo Array tendrá tres cadenas, una para el nombre, otra para la dirección y otra la el teléfono.</p><br /><br /><div class="igBar"><span id="lcpp-6"><a href="#" onclick="javascript:showPlainTxt('cpp-6'); return false;">PLAIN TEXT</a></span></div><br /><br /><div class="syntax_hilite"><span class="langName">C++:</span><br /><br /><div id="cpp-6"><br /><br /><div class="cpp"><br /><br /><ol><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #339900;">#import</span></div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">@<span style="color: #0000ff;">class</span> DATOSViewController;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> </div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">@interface DATOSAppDelegate : NSObject</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">{</span></div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">IBOutlet UIWindow *window;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> </div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">IBOutlet id BOTON_SIGUIENTE;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">IBOutlet id BOTON_ANTERIOR;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">IBOutlet id BOTON_ANADIR;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">IBOutlet id BOTON_BORRAR;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> </div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">IBOutlet id FORM_NOMBRE;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">IBOutlet id FORM_DIRECCION;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">IBOutlet id FORM_TELEFONO;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">NSMutableArray *DATOS;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> </div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">NSString *NOMBRE;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">NSString *DIRECCION;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">NSString *TELEFONO;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> </div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">NSUInteger INDICE;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">NSUInteger NUMERO_ELEMENTOS;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">}</span></div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">@property <span style="color: #000000;">(</span>nonatomic, retain<span style="color: #000000;">)</span> UIWindow *window;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> </div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- <span style="color: #000000;">(</span>IBAction<span style="color: #000000;">)</span> PULSAR_BOTON_SIGUIENTE: <span style="color: #000000;">(</span>id<span style="color: #000000;">)</span> sender;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- <span style="color: #000000;">(</span>IBAction<span style="color: #000000;">)</span> PULSAR_BOTON_ANTERIOR: <span style="color: #000000;">(</span>id<span style="color: #000000;">)</span> sender;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- <span style="color: #000000;">(</span>IBAction<span style="color: #000000;">)</span> PULSAR_BOTON_ANADIR: <span style="color: #000000;">(</span>id<span style="color: #000000;">)</span> sender;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- <span style="color: #000000;">(</span>IBAction<span style="color: #000000;">)</span> PULSAR_BOTON_BORRAR: <span style="color: #000000;">(</span>id<span style="color: #000000;">)</span> sender;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- <span style="color: #000000;">(</span>IBAction<span style="color: #000000;">)</span> CARGAR_DATOS: <span style="color: #000000;">(</span>NSUInteger<span style="color: #000000;">)</span> indice;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> </div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">@end </div><br /><br /></li><br /><br /></ol><br /><br /></div><br /><br /></div><br /><br /></div><br /><br /><p></p><br /><br /><p style="text-align: justify;"><strong>Creación de interface y asignación de elementos:</strong></p><br /><br /><p style="text-align: justify;">3.- Ahora hacemos doble click sobre el archivo.xib para abrir y editar con el interface builder nuestra pantalla. Simplemente pongo la captura, ya que las vinculaciones ya las deberiais saber hacer.</p><br /><br /><p style="text-align: center;"><img style="vertical-align: middle;" src="http://www.iphonesoftware.es/wp-content/uploads/2008/06/imagen-22.png" alt="" width="295" height="430" /></p><br /><br /><p style="text-align: justify;"><strong>Implementación de funciones:</strong></p><br /><br /><p style="text-align: justify;">Como ya lo tenemos todo vinculado, es hora de implementar nuestras funciones.</p><br /><br /><p style="text-align: justify;">4.- Cerramos interface builder y nos vamos al Archivo.m. Allí escribiremos las funciones.</p><br /><br /><p style="text-align: justify;">Como vamos a trabajar con ficheros, lo primero que tiene que hacer nuestra aplicación es cargar los datos del fichero para luego gestionarlos. El fichero se llamará: "datos.txt".</p><br /><br /><div class="igBar"><span id="lcpp-7"><a href="#" onclick="javascript:showPlainTxt('cpp-7'); return false;">PLAIN TEXT</a></span></div><br /><br /><div class="syntax_hilite"><span class="langName">C++:</span><br /><br /><div id="cpp-7"><br /><br /><div class="cpp"><br /><br /><ol><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- <span style="color: #000000;">(</span><span style="color: #0000ff;">void</span><span style="color: #000000;">)</span>applicationDidFinishLaunching:<span style="color: #000000;">(</span>UIApplication *<span style="color: #000000;">)</span>application</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">{</span></div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #ff0000;">//Cargamos los datos del fichero.</span></div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">DATOS = <span style="color: #000000;">[</span><span style="color: #000000;">[</span>NSMutableArray alloc<span style="color: #000000;">]</span> initWithContentsOfFile:@<span style="color: #666666;">"datos.txt"</span><span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #ff0000;">//    DATOS = [[NSMutableArray alloc] init]; Asi se inicializaria normal.</span></div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> </div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">[</span>window makeKeyAndVisible<span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">[</span>application setStatusBarHidden:YES animated:NO<span style="color: #000000;">]</span>;<span style="color: #ff0000;">//Oculta la status Bar</span></div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">NUMERO_ELEMENTOS = <span style="color: #000000;">[</span>DATOS count<span style="color: #000000;">]</span>; <span style="color: #ff0000;">// inicializamos esta variable al numero de objetos en DATOS</span></div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">INDICE = <span style="color: #0000dd;color:#800000;">0</span>;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #ff0000;">// ejecutamos el metodo CARGAR_DATOS</span></div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">[</span>self CARGAR_DATOS:INDICE<span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">}</span> </div><br /><br /></li><br /><br /></ol><br /><br /></div><br /><br /></div><br /><br /></div><br /><br /><p></p><br /><br /><p style="text-align: justify;">Si compilaramos ahora mismo, aparecerían todos los elementos, e incluso podríamos rellenar datos en los UITextField, asi que ahora escribiremos el Método de Añadir (PULSAR_BOTON_ANADIR).</p><br /><br /><div class="igBar"><span id="lcpp-8"><a href="#" onclick="javascript:showPlainTxt('cpp-8'); return false;">PLAIN TEXT</a></span></div><br /><br /><div class="syntax_hilite"><span class="langName">C++:</span><br /><br /><div id="cpp-8"><br /><br /><div class="cpp"><br /><br /><ol><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- <span style="color: #000000;">(</span>IBAction<span style="color: #000000;">)</span> PULSAR_BOTON_ANADIR: <span style="color: #000000;">(</span>id<span style="color: #000000;">)</span> sender</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">{</span></div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">NOMBRE =<span style="color: #000000;">[</span>FORM_NOMBRE text<span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">DIRECCION =<span style="color: #000000;">[</span>FORM_DIRECCION text<span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">TELEFONO =<span style="color: #000000;">[</span>FORM_TELEFONO text<span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> </div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">NSMutableArray *ESTRUC = <span style="color: #000000;">[</span><span style="color: #000000;">[</span>NSMutableArray alloc<span style="color: #000000;">]</span> initWithObjects:NOMBRE,DIRECCION,TELEFONO,nil<span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">[</span>DATOS addObject:ESTRUC<span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">[</span>DATOS writeToFile:@<span style="color: #666666;">"datos.txt"</span> atomically:YES<span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">NUMERO_ELEMENTOS = NUMERO_ELEMENTOS + <span style="color: #0000dd;color:#800000;">1</span>;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">[</span>FORM_TELEFONO resignFirstResponder<span style="color: #000000;">]</span>; <span style="color: #ff0000;">//oculta teclado</span></div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">[</span>FORM_DIRECCION resignFirstResponder<span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">[</span>FORM_NOMBRE resignFirstResponder<span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">}</span> </div><br /><br /></li><br /><br /></ol><br /><br /></div><br /><br /></div><br /><br /></div><br /><br /><p></p><br /><br /><p style="text-align: justify;">Tengo creadas tres variable globales, son tres cadenas, en las que introduciré los datos que haya en el momento de pulsar el botón en los UITextField (este paso no es necesario para hace al código más entendible). Seguidamente me creo un NSMutableArray local, que lo inicializo con las tres cadenas de antes. Es importante respetar el mismo orden de para la carga de datos. Primero nombre, después dirección y por último teléfono. Añado este NSMutableArray local, a nuestro NSMutableArray general, y además lo escribo en el fichero, sobreescribiendo. Y Actualizo la variable NUMERO_ELEMENTOS. Cada vez que pulse el botón se añadirá un elemento, aunque no haya cambiado los datos.</p><br /><br /><p style="text-align: justify;">El método CARGAR_DATOS nos servirá para cambiar el texto de los UITextField e introducirles los datos que haya en la posición del NSMutableArray que indique INDICE. Hay que tener en cuenta que este método será de la siguiente manera:</p><br /><br /><div class="igBar"><span id="lcpp-9"><a href="#" onclick="javascript:showPlainTxt('cpp-9'); return false;">PLAIN TEXT</a></span></div><br /><br /><div class="syntax_hilite"><span class="langName">C++:</span><br /><br /><div id="cpp-9"><br /><br /><div class="cpp"><br /><br /><ol><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- <span style="color: #000000;">(</span>IBAction<span style="color: #000000;">)</span> CARGAR_DATOS: <span style="color: #000000;">(</span>NSUInteger<span style="color: #000000;">)</span> indice;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">{</span></div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">NSMutableArray *ESTRUC = <span style="color: #000000;">[</span><span style="color: #000000;">[</span>NSMutableArray alloc<span style="color: #000000;">]</span> init<span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ESTRUC = <span style="color: #000000;">[</span>DATOS objectAtIndex:indice<span style="color: #000000;">]</span>; <span style="color: #ff0000;">//devuelve el objeto de esa posición.</span></div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">[</span>FORM_NOMBRE setText:<span style="color: #000000;">[</span>ESTRUC objectAtIndex:<span style="color: #0000dd;color:#800000;">0</span><span style="color: #000000;">]</span><span style="color: #000000;">]</span>; <span style="color: #ff0000;">//respetamos el orden</span></div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">[</span>FORM_DIRECCION setText:<span style="color: #000000;">[</span>ESTRUC objectAtIndex:<span style="color: #0000dd;color:#800000;">1</span><span style="color: #000000;">]</span><span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">[</span>FORM_TELEFONO setText:<span style="color: #000000;">[</span>ESTRUC objectAtIndex:<span style="color: #0000dd;color:#800000;">2</span><span style="color: #000000;">]</span><span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">}</span> </div><br /><br /></li><br /><br /></ol><br /><br /></div><br /><br /></div><br /><br /></div><br /><br /><p></p><br /><br /><p style="text-align: justify;">El resto del código no tiene ninguna complicación así que lo pondré tal cual.</p><br /><br /><div class="igBar"><span id="lcpp-10"><a href="#" onclick="javascript:showPlainTxt('cpp-10'); return false;">PLAIN TEXT</a></span></div><br /><br /><div class="syntax_hilite"><span class="langName">C++:</span><br /><br /><div id="cpp-10"><br /><br /><div class="cpp"><br /><br /><ol><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- <span style="color: #000000;">(</span>IBAction<span style="color: #000000;">)</span> PULSAR_BOTON_SIGUIENTE: <span style="color: #000000;">(</span>id<span style="color: #000000;">)</span> sender</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">{</span></div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0000ff;">if</span> <span style="color: #000000;">(</span>INDICE == <span style="color: #000000;">(</span>NUMERO_ELEMENTOS - <span style="color: #0000dd;color:#800000;">1</span><span style="color: #000000;">)</span><span style="color: #000000;">)</span></div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">{</span></div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">[</span>self CARGAR_DATOS: INDICE<span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">}</span></div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0000ff;">else</span></div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">{</span></div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">INDICE = INDICE + <span style="color: #0000dd;color:#800000;">1</span>;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">[</span>self CARGAR_DATOS: INDICE<span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">}</span></div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">}</span></div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- <span style="color: #000000;">(</span>IBAction<span style="color: #000000;">)</span> PULSAR_BOTON_ANTERIOR: <span style="color: #000000;">(</span>id<span style="color: #000000;">)</span> sender</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">{</span></div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0000ff;">if</span> <span style="color: #000000;">(</span>INDICE == <span style="color: #0000dd;color:#800000;">0</span><span style="color: #000000;">)</span></div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">{</span></div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">[</span>self CARGAR_DATOS: INDICE<span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">}</span></div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0000ff;">else</span></div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">{</span></div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">INDICE = INDICE - <span style="color: #0000dd;color:#800000;">1</span>;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">[</span>self CARGAR_DATOS: INDICE<span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">}</span></div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">}</span></div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> </div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- <span style="color: #000000;">(</span>IBAction<span style="color: #000000;">)</span> PULSAR_BOTON_BORRAR: <span style="color: #000000;">(</span>id<span style="color: #000000;">)</span> sender</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">{</span></div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">[</span>DATOS removeObjectAtIndex:INDICE<span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">NUMERO_ELEMENTOS = NUMERO_ELEMENTOS - <span style="color: #0000dd;color:#800000;">1</span>;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">INDICE = INDICE - <span style="color: #0000dd;color:#800000;">1</span>;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">[</span>DATOS writeToFile:@<span style="color: #666666;">"datos.txt"</span> atomically:YES<span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-weight: bold;color:#26536A;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">[</span>self CARGAR_DATOS:INDICE<span style="color: #000000;">]</span>;</div><br /><br /></li><br /><br /><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"><br /><br /><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">}</span> </div><br /><br /></li><br /><br /></ol><br /><br /></div><br /><br /></div><br /><br /></div><br /><br /><p></p><br /><br /><p style="text-align: justify;"><strong>5.- Compilamos y comprobamos el funcionamiento.</strong></p><br /><br /><p style="text-align: justify;">Ya se que las últimas tres funciones no las tengo explicadas, pero no deberiais tener problemas en entenderlas por vosotros mismo, ya que solo hay que relacionar conceptos ya adquiridos para saber que es lo que hacen.</p><br /><br /><p style="text-align: justify;">Como siempre es conveniente que investigueis por vuestra cuenta y mejoreis el programa a vuestro estilo.</p><br /><br /><p style="text-align: justify;">Otros Artículos de la serie:</p><br /><br /><p style="text-align: justify;"><a title="Nivel Tarzán." onclick="javascript:pageTracker._trackPageview('/outgoing/www.iphonesoftware.es/programar-para-iphone-desde-cero-uibutton-nivel-tarzan');" href="http://www.iphonesoftware.es/programar-para-iphone-desde-cero-uibutton-nivel-tarzan" target="_self">Programar para Iphone desde cero. UIButton. Nivel Tarzán.</a></p><br /><br /><p style="text-align: justify;"><a onclick="javascript:pageTracker._trackPageview('/outgoing/www.iphonesoftware.es/programar-para-iphone-desde-uno-uiview-nivel-piolin');" href="http://www.iphonesoftware.es/programar-para-iphone-desde-uno-uiview-nivel-piolin" target="_self">Programa para Iphone desde uno. UIView. Nivel Piolín.</a></p><br /><br /><p style="text-align: justify;"><a title="Nivel Barragán." onclick="javascript:pageTracker._trackPageview('/outgoing/www.iphonesoftware.es/programa-para-iphone-desde-dos-uitextfield-nivel-barragan');" href="http://www.iphonesoftware.es/programa-para-iphone-desde-dos-uitextfield-nivel-barragan" target="_self">Programar para Iphone desde cero. UIButton. Nivel Barragán.</a></p><br /><br /><p style="text-align: justify;"><br /><br /><p style="text-align: justify;"><br /><br />Similar Posts:<ul><li><a href="http://www.iphonesoftware.es/programa-para-iphone-desde-dos-uitextfield-nivel-barragan" rel="bookmark" title="24 June, 2008">Programar para Iphone desde dos. UITextField. Nivel Barragán.</a></li><br /><br /><br /><br /><li><a href="http://www.iphonesoftware.es/programar-para-iphone-desde-uno-uiview-nivel-piolin" rel="bookmark" title="19 June, 2008">Programar para Iphone desde uno. UIView. Nivel Piolín.</a></li><br /><br /><br /><br /><li><a href="http://www.iphonesoftware.es/programar-para-iphone-desde-cero-uibutton-nivel-tarzan" rel="bookmark" title="16 June, 2008">Programar para Iphone desde cero. UIButton. Nivel Tarzán.</a></li><br /><br /><br /><br /><li><a href="http://www.iphonesoftware.es/anadir-elementos-a-mano-en-uitableview" rel="bookmark" title="16 June, 2008">Añadir elementos a mano en UITableView</a></li><br /><br /><br /><br /><li><a href="http://www.iphonesoftware.es/nuevo-tipo-de-proyecto-cocoa-touch-utility" rel="bookmark" title="28 April, 2008">Nuevo tipo de proyecto Cocoa Touch Utility</a></li><br /><br /></ul><!-- Similar Posts took 4.540 ms -->

<p>Etiquetas: <a href="http://bitacoras.com/canales/ejemplos">ejemplos</a>, <a href="http://bitacoras.com/canales/aragones">aragones</a>, <a href="http://bitacoras.com/canales/iphone">iphone</a>, <a href="http://bitacoras.com/canales/luis">luis</a>, <a href="http://bitacoras.com/canales/nivel">nivel</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>Zapata131</dc:creator>
		<title>Phyton: programaci&#243;n sencilla, m&#225;s sencilla.</title>
		<link>http://identidadgeek.com/2008/07/phyton-programacion-sencilla-mas-sencilla</link>
		<guid isPermaLink="true">http://identidadgeek.com/2008/07/phyton-programacion-sencilla-mas-sencilla</guid>
		<pubDate>Tue, 08 Jul 2008 14:30:49 +0200</pubDate>
		<category>aplicaciones</category>
		<category>cultura</category>
		<category>aprender programar</category>
		<category>programacion</category>
		<category>python</category>
		<description><![CDATA[Por Zapata131 en Identidad Geek el 08 de julio de 2008 a las 14:30:49

En lo personal, disfruto programando. Creo que hasta cierto punto, el aprender a programar no solo te ayuda a poder desarrollar un programa, sino que crea en ti una nueva manera de pensar y de ver el mundo y sus problemas. Yo no sé muchísimo de programación, se un poco de C, de Pascal, un poco de Java también. p &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/indieweblogs">Zapata131</a> en <a href="http://bitacoras.com/bitacora/identidadgeek.com">Identidad Geek</a> el 08 de julio de 2008 a las 14:30:49</p>

<p align="center"><img style="5px;" src="http://efe1.files.wordpress.com/2008/05/python.jpg" alt="" width="340" height="114" /></p><br /><br /><p>En lo personal, disfruto programando. Creo que hasta cierto punto, el aprender a programar no solo te ayuda a poder desarrollar un programa, sino que crea en ti una nueva manera de pensar y de ver el mundo y sus problemas. Yo no sé muchísimo de programación, se un poco de C, de Pascal, un poco de Java también. pero nunca me había preocupado por aprender a programar en Python a pesar de que comúnmente es conocido como un lenguaje bueno para principiantes o para personas que no son programadores por profesión, además de elegante y limpio. Pero la verdad me he encontrado con algo que me ha gustado mucho y quisiera compartirlo con ustedes. A través de la página de Mundo Geek, me encontré con que Raúl Gonzáles Duque se había molestado en crear un  tutorial en PDF muy completo de este lenguaje de programación llamado “Python para todos”, el cual además de ser muy sencillo, es muy completo, y está bajo licencia Creative Commons. Les sugiero que lo bajen y poco a poco entren en el mundo de la programación, o si ya saben otro lenguaje, entre en el apasionante y sencillo mundo de Python.</p><br /><br /><p>Enlace: <a href="http://mundogeek.net/archivos/2008/05/06/el-tutorial-de-python-en-pdf/">El tutorial de Python en PDF: “Python para todos”</a></p><br /><br /><p class="akst_link"><a target="_blank" href="http://identidadgeek.com/?p=184&akst_action=share-this"  title="Comparte esta publicación en technorati, meneame, etc." id="akst_link_184" class="akst_share_link" rel="nofollow">Compártelo!</a><br /><br /></p><img src="http://feeds.feedburner.com/~r/Identidadgeek/~4/329743516" height="1" width="1"/>

<p>Etiquetas: <a href="http://bitacoras.com/canales/aplicaciones">aplicaciones</a>, <a href="http://bitacoras.com/canales/cultura">cultura</a>, <a href="http://bitacoras.com/canales/aprender+programar">aprender programar</a>, <a href="http://bitacoras.com/canales/programacion">programacion</a>, <a href="http://bitacoras.com/canales/python">python</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>pequenionoa</dc:creator>
		<title>Programar para Iphone desde cuatro. Controllers. Nivel Cantinflas.</title>
		<link>http://www.iphonesoftware.es/programar-para-iphone-desde-cuatro-controllers-nivel-cantinflas</link>
		<guid isPermaLink="true">http://www.iphonesoftware.es/programar-para-iphone-desde-cuatro-controllers-nivel-cantinflas</guid>
		<pubDate>Fri, 11 Jul 2008 10:01:54 +0200</pubDate>
		<category>cantinflas</category>
		<category>cuatro</category>
		<category>nivel</category>
		<category>programar</category>
		<description><![CDATA[Por pequenionoa en iPhoneSoftware el 11 de julio de 2008 a las 10:01:54

¡Me encanta Cantinflas!En este capítulo aprenderemos a crear y asociar controladores. Explicaré básicamente en que consisten y para que sirven.Ante todo hay que tener en mente cuales son los que existen. Pues bien, tenemos:- ViewController. Gestiona vistas.- TableViewController. Gestiona una tabla de datos.- N &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/iphonesoftware">pequenionoa</a> en <a href="http://bitacoras.com/bitacora/www.iphonesoftware.es">iPhoneSoftware</a> el 11 de julio de 2008 a las 10:01:54</p>

<p>¡Me encanta Cantinflas!</p><br /><br /><p style="text-align: justify;">En este capítulo aprenderemos a crear y asociar controladores. Explicaré básicamente en que consisten y para que sirven.</p><br /><br /><p style="text-align: justify;">Ante todo hay que tener en mente cuales son los que existen. Pues bien, tenemos:</p><br /><br /><p>- ViewController. Gestiona vistas.</p><br /><br /><p>- TableViewController. Gestiona una tabla de datos.</p><br /><br /><p>- NavigationController. Gestiona un navegador de vistas.</p><br /><br /><p>- TabBarController. Gestiona una botonera.</p><br /><br /><p>- ImagePickerController. Gestiona una colección de imágenes.</p><br /><br /><p style="text-align: justify;">Fundamentalmente nos sirven para tener nuestro código separado y bien ordenado. Cada controlador desarrollará los métodos necesarios para controlar la parte del programa que le corresponda. Basandome en una TableViewController explicaré como crear controladores y asociarlos a nuestro programa principal.</p><br /><br /><p style="text-align: center;"><img style="vertical-align: middle;" src="http://www.iphonesoftware.es/wp-content/uploads/2008/07/imagen-2.png" alt="" width="400" height="300" /></p><br /><br /><p style="text-align: justify;">Crear un controlador significa que tendremos que tener otros dos archivos. Otro .h y otro .m en la carpeta de classes. Para crearlos presionaremos con el botón derecho del ratón sobre la carpeta classes y seleccionaremos la opción <strong>Add/New file…</strong> Después elegiremos el tipo de controlador que queremos insertar. En este caso <strong>UITableViewController subclass</strong>. Le asignamos un nombre (RootViewController) y nos creará los archivos necesarios en la carpeta classes.</p><br /><br /><p>El archivo.h quedará de la siguiente manera:</p><br /><br /><p><strong>#import <UIKit/UIKit.h></strong></p><br /><br /><p><strong>@interface RootViewController : UITableViewController<br /><br /><br />{</strong></p><br /><br /><p><strong>//Array datasource de la TableView</strong></p><br /><br /><p><strong>NSMutableArray *DATOS_TABLA;</strong></p><br /><br /><p><strong>}<br /><br /><br />@property (nonatomic, retain) NSMutableArray *DATOS_TABLA;<br /><br /><br />- (void)addElemento:(id)sender;<br /><br /><br />- (void)borrarElemento:(id)sender;<br /><br /><br />- (void)seleccionarElemento:(id)sender;</strong></p><br /><br /><p><strong>@end</strong></p><br /><br /><p style="text-align: justify;">Y en el archivo.m tendremos que escribir lo siguiente. Los métodos los he obviado, pero deberán estar como es lógico:</p><br /><br /><p><strong>#import “RootViewController.h”<br /><br /><br />#import “AppDelegate.h”<br /><br /><br />@implementation RootViewController<br /><br /><br />@synthesize DATOS_TABLA; //datasource del TableView</strong></p><br /><br /><p><strong>//métodos.</strong></p><br /><br /><p><strong>@end</strong></p><br /><br /><p style="text-align: justify;">Como podeis ver tenemos que importar el archivo.h de nuestra AppDelegate.</p><br /><br /><p style="text-align: justify;">Ya tenemos creada una clase que es un controlador de una UITableView. Ahora tenemos que informar a nuestra AppDelegate que esta clase existe y también que hay uno o varios objetos de esa clase. Lo haremos en AppDelegate.h:</p><br /><br /><p>#import <UIKit/UIKit.h></p><br /><br /><p><strong>@class RootViewController;</strong></p><br /><br /><p>@interface AppDelegate : NSObject <UIApplicationDelegate></p><br /><br /><p>{</p><br /><br /><p><strong>IBOutlet RootViewController *TABLEVIEW_CONTROLLER;</strong></p><br /><br /><p>}</p><br /><br /><p><strong>@property (nonatomic, retain) RootViewController *TABLA_CONTROLLER;</strong><br /><br /><br />@end</p><br /><br /><p style="text-align: justify;">Como os podeis imaginar esto no funcionaría si no hemos importado en ningún sitio de nuestra AppDelegate la clase del TableViewController. Esto se hará en el archivo AppDelegate.m:</p><br /><br /><p>#import “AppDelegate.h”<br /><br /><br /><strong>#import “RootViewController.h”</strong></p><br /><br /><p>@implementation AppDelegate</p><br /><br /><p>@synthesize window;<br /><br /><br /><strong>@synthesize TABLEVIEW_CONTROLLER;</strong></p><br /><br /><p>//métodos</p><br /><br /><p>@end</p><br /><br /><p style="text-align: justify;">Para utilizar cualquier método de nuestro controlador desde AppDelegate tendremos que utilizar una sentencia como la siguiente: <strong>[TABLEVIEW_CONTROLLER addElemento: sender];</strong>.</p><br /><br /><p style="text-align: justify;">Si lo que queremos es ejecutar un método de nuestro controlador dentro de otro método de nuestro mismo controlador lo haremos de la siguiente forma: <strong>[self addElemento: sender];</strong>.</p><br /><br /><p style="text-align: center;"><img style="vertical-align: middle;" src="http://www.iphonesoftware.es/wp-content/uploads/2008/07/imagen-1.png" alt="" width="287" height="288" /></p><br /><br /><p style="text-align: justify;">Casi se me olvida, hay que vincularlo mediante el interface builder. Para ello hacemos doble click en el archivo.xib y en la ventana MainWindow.xib añadimos un elemento Table View Controller (de los naranjas). Una vez añadido, lo seleccionamos y en la ventana inpector en la pestaña identity donde dice class elegimos RootViewController. Asi, ese objeto para a ser un controlador de la clase que hemos creado.</p><br /><br /><p style="text-align: justify;">Previamente tendriamos que tener creado un alemento UITableView, que es sobre el que se mostrarán los datos. Vincularemos desde el controlador a la UITableView que teniamos creada mediante la tecla control, y elegiremos view. Así estamos diciendo que los datos del controlador se muestren en esa UITableView. También vincularemos desde AppDelegate a el controlador y elegiremos TABLEVIEW_CONTROLLER.</p><br /><br /><p style="text-align: justify;">Aquí terminamos la explicación sobre controladores. Tened presente que aunque el ejemplo haya sido implementado para un TableView es extensible para cualquier otro tipo de controlador.</p><br /><br /><p style="text-align: justify;">Otros artículos de la serie:</p><br /><br /><p style="text-align: justify;"><a title="Nivel Tarzán." onclick="javascript:pageTracker._trackPageview('/outgoing/www.iphonesoftware.es/programar-para-iphone-desde-cero-uibutton-nivel-tarzan');" href="http://www.iphonesoftware.es/programar-para-iphone-desde-cero-uibutton-nivel-tarzan" target="_self">Programar para Iphone desde cero. UIButton. Nivel Tarzán.</a></p><br /><br /><p style="text-align: justify;"><a onclick="javascript:pageTracker._trackPageview('/outgoing/www.iphonesoftware.es/programar-para-iphone-desde-uno-uiview-nivel-piolin');" href="http://www.iphonesoftware.es/programar-para-iphone-desde-uno-uiview-nivel-piolin" target="_self">Programa para Iphone desde uno. UIView. Nivel Piolín.</a></p><br /><br /><p style="text-align: justify;"><a title="Nivel Barragán." onclick="javascript:pageTracker._trackPageview('/outgoing/www.iphonesoftware.es/programa-para-iphone-desde-dos-uitextfield-nivel-barragan');" href="http://www.iphonesoftware.es/programa-para-iphone-desde-dos-uitextfield-nivel-barragan" target="_self">Programar para Iphone desde dos. UITextField. Nivel Barragán.</a></p><br /><br /><p style="text-align: justify;"><a title="Nivel Luis Aragonés" onclick="javascript:pageTracker._trackPageview('/outgoing/www.iphonesoftware.es/programar-para-iphone-desde-tres-nsmutablearray-nivel-luis-aragones');" href="http://www.iphonesoftware.es/programar-para-iphone-desde-tres-nsmutablearray-nivel-luis-aragones" target="_self">Programar para Iphone desde tres. NSMutableArray. Nivel Luis Aragonés.</a></p><br /><br />Similar Posts:<ul><li><a href="http://www.iphonesoftware.es/sqlite-con-uitableview-parte-ii" rel="bookmark" title="16 May, 2008">SQLite con UITableView (Parte II)</a></li><br /><br /><br /><br /><li><a href="http://www.iphonesoftware.es/sqlite-con-uitableview-parte-i" rel="bookmark" title="13 May, 2008">SQLite con UITableView (Parte I)</a></li><br /><br /><br /><br /><li><a href="http://www.iphonesoftware.es/anadir-elementos-a-mano-en-uitableview" rel="bookmark" title="16 June, 2008">Añadir elementos a mano en UITableView</a></li><br /><br /><br /><br /><li><a href="http://www.iphonesoftware.es/programa-para-iphone-desde-dos-uitextfield-nivel-barragan" rel="bookmark" title="24 June, 2008">Programar para Iphone desde dos. UITextField. Nivel Barragán.</a></li><br /><br /><br /><br /><li><a href="http://www.iphonesoftware.es/programar-para-iphone-desde-tres-nsmutablearray-nivel-luis-aragones" rel="bookmark" title="29 June, 2008">Programar para Iphone desde tres. NSMutableArray. Nivel Luis Aragonés.</a></li><br /><br /></ul><!-- Similar Posts took 4.081 ms -->

<p>Etiquetas: <a href="http://bitacoras.com/canales/cantinflas">cantinflas</a>, <a href="http://bitacoras.com/canales/cuatro">cuatro</a>, <a href="http://bitacoras.com/canales/nivel">nivel</a>, <a href="http://bitacoras.com/canales/programar">programar</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>nacho</dc:creator>
		<title>&#191;Eres programador? Juega al Go!</title>
		<link>http://www.soygik.com/%c2%bferes-programador-juega-al-go</link>
		<guid isPermaLink="true">http://www.soygik.com/%c2%bferes-programador-juega-al-go</guid>
		<pubDate>Mon, 21 Jul 2008 18:36:31 +0200</pubDate>
		<category>sociedad</category>
		<category>juegos</category>
		<category>software</category>
		<category>belleza</category>
		<category>complejidad</category>
		<description><![CDATA[Por nacho en SoyGik el 21 de julio de 2008 a las 18:36:31

El Go es un juego antiguo de estrategia, con reglas simples y un grado profundo de complejidad. El desarrollo de programas es el arte de la complejidad del manejo de un número limitado de reglas, de estructuras, y de patrones, con el que más tarde podremos crear increíbles aplicaciones.	Los programadores deberían jugar al G &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/soygik">nacho</a> en <a href="http://bitacoras.com/bitacora/www.soygik.com">SoyGik</a> el 21 de julio de 2008 a las 18:36:31</p>

<p align="justify"><img src="http://www.soygik.com/wp-content/uploads/2008/07/go.png" title="go.png" alt="go.png" vspace="5" align="right" hspace="5" />El <strong>Go</strong> es un juego antiguo de estrategia, con reglas simples y un grado profundo de complejidad. El desarrollo de programas es el arte de la complejidad del manejo de un número limitado de reglas, de estructuras, y de patrones, con el que más tarde podremos crear increíbles aplicaciones.</p><br /><br />	<p align="justify">Los programadores deberían jugar al Go.</p><br /><br />	<p align="justify">La belleza del Go, podríamos decir que es la combinación de su simpleza y su complejidad. Por una parte, el Go tiene solamente un puñado de reglas. Coloque las piedras, consiga no ser rodeado totalmente, controle el territorio. Como en el ajedrez, los mecanismos del juego, pueden ser cogidos en unos minutos, apesar de que el Go tiene solamente un tipo de “movimiento”, y apenas seis reglas (<a href="http://es.wikipedia.org/wiki/Go#Las_seis_reglas_del_go" target="_blank">reglas del Go</a>).</p><br /><br />	<p align="justify">Mientras que el ajedrez puede ser emulado por un super ordenador, el Go es mucho más difícil de emular. Hay 361 posiciones en una mesa de Go. y con dos jugadores, hay 2.08168199382×10<sup>170</sup> posiciones válidas.</p><br /><br />	<p align="justify">Si eres programador ya te habrás dado cuenta de lo parecido que es este juego con la programación. Apenas tenemos unas pocas reglas (if…elese, do…while, while…,for… etc) con las que podemos construir aplicaciones y ganar partidas. Es bello poder construir cosas muy complejas con herramientas, instrumentos, muy simples y escasos.</p><br /><br />	<p align="justify">Imagen | Andrés Colmen (<a href="http://flickr.com/photos/andres-colmen/2539473895/" target="_blank">flickr</a>)</p><br /><br /><p class="akst_link"><a target="_blank" href="http://www.soygik.com/?p=3908&akst_action=share-this"  title="Comparte esta publicación en technorati, meneame, etc." id="akst_link_3908" class="akst_share_link" rel="nofollow">Compártelo!</a><br /><br /></p><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/SoyGik?a=HR9WzJ"><img src="http://feeds.feedburner.com/~f/SoyGik?i=HR9WzJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/SoyGik?a=dGeLSJ"><img src="http://feeds.feedburner.com/~f/SoyGik?i=dGeLSJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/SoyGik?a=1qzHFj"><img src="http://feeds.feedburner.com/~f/SoyGik?i=1qzHFj" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/SoyGik?a=ZCglsj"><img src="http://feeds.feedburner.com/~f/SoyGik?i=ZCglsj" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/SoyGik?a=m8mwVj"><img src="http://feeds.feedburner.com/~f/SoyGik?i=m8mwVj" border="0"></img></a><br /><br /></div>

<p>Etiquetas: <a href="http://bitacoras.com/canales/sociedad">sociedad</a>, <a href="http://bitacoras.com/canales/juegos">juegos</a>, <a href="http://bitacoras.com/canales/software">software</a>, <a href="http://bitacoras.com/canales/belleza">belleza</a>, <a href="http://bitacoras.com/canales/complejidad">complejidad</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>Juan Diego Polo</dc:creator>
		<title>Sendible - Agendar entradas en twitter, facebook, Friendster, email, blogger&#8230;</title>
		<link>http://wwwhatsnew.com/2008/07/26/sendible-agendar-entradas-en-twitter-facebook-friendster-email-blogger</link>
		<guid isPermaLink="true">http://wwwhatsnew.com/2008/07/26/sendible-agendar-entradas-en-twitter-facebook-friendster-email-blogger</guid>
		<pubDate>Sat, 26 Jul 2008 06:47:02 +0200</pubDate>
		<category>agendas</category>
		<category>eventos</category>
		<category>redes sociales</category>
		<category>agenda</category>
		<category>calendario</category>
		<description><![CDATA[Por Juan Diego Polo en Wwwhat's new? el 26 de julio de 2008 a las 06:47:02

Aquí tenemos una excelente solución que permitirá programar escritos en varias de las redes sociales y plataformas más populares del momento: email, SMS, Facebook (mensajes y estados), MySpace, Orkut, Friendster, hi5 y Blogger.Sendible utiliza una especie de calendario online para que sus usuarios puedan ve &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/wwwhatsnew">Juan Diego Polo</a> en <a href="http://bitacoras.com/bitacora/wwwhatsnew.com">Wwwhat's new?</a> el 26 de julio de 2008 a las 06:47:02</p>

<p><img src="http://wwwhatsnew.com/wp-content/uploads/2008/07/sendible.jpg" alt="" title="sendible" width="440" height="189" class="alignnone size-medium wp-image-7645" /></p><br /><br /><p>Aquí tenemos una excelente solución que permitirá <strong>programar escritos en varias de las redes sociales y plataformas más populares del momento</strong>: email, SMS, Facebook (mensajes y estados), MySpace, Orkut, Friendster, hi5 y Blogger.</p><br /><br /><p><a href="http://sendible.com/">Sendible</a> utiliza una especie de calendario online para que sus usuarios puedan ver los días en los que habrá publicaciones.</p><br /><br /><p>Una solución ideal para los que están de vacaciones físicamente pero no quieren estarlo en su vida virtual.</p><br /><br /><p>Sendible también ofrece la posibilidad de <strong>importar datos de contacto</strong> de las diversas redes para centralizar la información, así como la posibilidad de <strong>incluir publicidad </strong>en los mensajes que se envían desde ella.</p><br /><br /><p>fuente: <a href="http://mashable.com/2008/07/25/sendible/">mashable</a><br /><br /><p>Comenta esta entrada en <a href="http://wwwhatsnew.com">wwwhatsnew.com</a></p>

<p>Etiquetas: <a href="http://bitacoras.com/canales/agendas">agendas</a>, <a href="http://bitacoras.com/canales/eventos">eventos</a>, <a href="http://bitacoras.com/canales/redes+sociales">redes sociales</a>, <a href="http://bitacoras.com/canales/agenda">agenda</a>, <a href="http://bitacoras.com/canales/calendario">calendario</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>wozkol</dc:creator>
		<title>Compartilhe c&#243;digos com Snipplr</title>
		<link>http://br.wwwhatsnew.com/2008/08/compartilhe-codigos-com-snipplr</link>
		<guid isPermaLink="true">http://br.wwwhatsnew.com/2008/08/compartilhe-codigos-com-snipplr</guid>
		<pubDate>Thu, 07 Aug 2008 06:04:23 +0200</pubDate>
		<category>compartilhamento</category>
		<category>programac</category>
		<category>codigo fonte</category>
		<category>programar</category>
		<description><![CDATA[Por wozkol en WWWhat's new? Brasil el 07 de agosto de 2008 a las 06:04:23

Se você, desenvolvedor web, encontra dificuldades para compartilhar seu código, ou simplesmente busca encontrar as soluções de outros usuários, o Snipplr poderá te ajudar. Suportando javascript, C, php, html,  css e ruby, permite que os usuários escolham os melhores códigos, gerando uma lista dos mais popula &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/wwwhatsnew">wozkol</a> en <a href="http://bitacoras.com/bitacora/br.wwwhatsnew.com">WWWhat's new? Brasil</a> el 07 de agosto de 2008 a las 06:04:23</p>

<p><img class="alignleft size-full wp-image-563" src="http://br.wwwhatsnew.com/wp-content/uploads/2008/08/snipplr-code20.gif" alt="" width="186" height="53" />Se você, desenvolvedor web, encontra dificuldades para compartilhar seu código, ou simplesmente busca encontrar as soluções de outros usuários, o <a href="http://snipplr.com/">Snipplr</a> poderá te ajudar. </p><br /><br /><p>Suportando javascript, C, php, html,  css e ruby, permite que os usuários escolham os melhores códigos, gerando uma lista dos mais populares.</p>

<p>Etiquetas: <a href="http://bitacoras.com/canales/compartilhamento">compartilhamento</a>, <a href="http://bitacoras.com/canales/programac">programac</a>, <a href="http://bitacoras.com/canales/codigo+fonte">codigo fonte</a>, <a href="http://bitacoras.com/canales/programar">programar</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>Lucas Cepeda</dc:creator>
		<title>HitMeLater - Reenvios de email programados</title>
		<link>http://wwwhatsnew.com/2008/08/16/hitmelater-reenvios-de-email-programados</link>
		<guid isPermaLink="true">http://wwwhatsnew.com/2008/08/16/hitmelater-reenvios-de-email-programados</guid>
		<pubDate>Sat, 16 Aug 2008 07:48:10 +0200</pubDate>
		<category>correo electronico</category>
		<category>agendar</category>
		<category>emails</category>
		<category>programar</category>
		<description><![CDATA[Por Lucas Cepeda en Wwwhat's new? el 16 de agosto de 2008 a las 07:48:10

HitMeLater es una curiosa aplicación, y a la vez simple, que consiste en enviar el email que elijas a una dirección del tipo “24@hitmelater.com“, y en 24 horas te reenviarán ese mismo email. Puedes sustituir el número ‘24‘ por cualquier otro número de horas.También puedes elegir un día de la semana (”tuesday@ &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/wwwhatsnew">Lucas Cepeda</a> en <a href="http://bitacoras.com/bitacora/wwwhatsnew.com">Wwwhat's new?</a> el 16 de agosto de 2008 a las 07:48:10</p>

<p><a title="HitMeLater" href="http://www.hitmelater.com/"><strong>HitMeLater</strong></a> es una curiosa aplicación, y a la vez simple, que consiste en <strong>enviar el email que elijas</strong> a una dirección del tipo “<em><strong>24@hitmelater.com</strong></em>“, y en <em>24 </em>horas te <strong>reenviarán ese mismo email</strong>. Puedes sustituir el número ‘<em>24</em>‘ por cualquier otro número de horas.</p><br /><br /><p><a href="http://wwwhatsnew.com/wp-content/uploads/2008/08/hitmelater.png"><img class="alignnone size-medium wp-image-8231" src="http://wwwhatsnew.com/wp-content/uploads/2008/08/hitmelater.png" alt="" width="440" height="319" /></a></p><br /><br /><p>También <strong>puedes elegir un día de la semana</strong> (”tuesday@hitmelater.com”), y lo recibirás de nuevo el martes. No necesita ningún tipo de registro, y aseguran que está libre de spam. Útil para <strong>trasladar <em>problemas</em> a un momento posterior</strong>, cuando quizá se vean las cosas con mayor claridad, y poder así dormir tranquilo, como en la imagen.</p><br /><br /><p>Fuente: <a title="HitMeLater en TechCrunch" href="http://www.techcrunch.com/2008/08/14/hitmelater-sorta-fixes-my-email-problem-sorta-makes-it-worse/">TechCrunch</a><br /><br /><p>Comenta esta entrada en <a href="http://wwwhatsnew.com">wwwhatsnew.com</a></p>

<p>Etiquetas: <a href="http://bitacoras.com/canales/correo+electronico">correo electronico</a>, <a href="http://bitacoras.com/canales/agendar">agendar</a>, <a href="http://bitacoras.com/canales/emails">emails</a>, <a href="http://bitacoras.com/canales/programar">programar</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>ElZorro</dc:creator>
		<title>Programar El Apagado De Windows Xp</title>
		<link>http://www.masefectivo.com.ar/2008/08/programar-el-apagado-de-windows-xp.html</link>
		<guid isPermaLink="true">http://www.masefectivo.com.ar/2008/08/programar-el-apagado-de-windows-xp.html</guid>
		<pubDate>Mon, 25 Aug 2008 22:28:54 +0200</pubDate>
		<category>trucos</category>
		<category>apagado</category>
		<category>archivo</category>
		<category>opcion</category>
		<category>programador tareas</category>
		<description><![CDATA[Por ElZorro en  Mas Efectivo el 25 de agosto de 2008 a las 22:28:54

La pc se puede apagar de una forma remota, creando un archivo “apagadorremoto.js“, donde hay que agregarle la siguiente línea:(new ActiveXObject(”Shell.Application”)).ShutdownWindows();Luego lo guardás en donde te parezca más apropiado, de esta manera, podés apagar la pc con sólo hacer doble clic en el archivo cre &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/elzorroargentino">ElZorro</a> en <a href="http://bitacoras.com/bitacora/www.masefectivo.com.ar"> Mas Efectivo</a> el 25 de agosto de 2008 a las 22:28:54</p>

<p>La <strong>pc</strong> se puede apagar de una forma remota, creando un <strong>archivo</strong> “<strong>apagadorremoto.js</strong>“, donde hay que agregarle la siguiente línea:</p><br /><br /><p><strong>(new ActiveXObject(”Shell.Application”)).ShutdownWindows();</strong></p><br /><br /><p>Luego lo guardás en donde te parezca más apropiado, de esta manera, podés apagar la <strong>pc</strong> con sólo hacer doble clic en el <strong>archivo</strong> creado anteriormente, también podés <strong>programar</strong> el <strong>apagado</strong> de la <strong>pc</strong> con la siguiente utilidad, <strong>Shutdown -t xx</strong>, teniendo en cuenta que <strong>xx</strong> es el tiempo en segundos que pasa hasta que se apaga la <strong>pc</strong>, por lógica, es muy corta esta <strong>opción</strong>, porque solamente se dispone de <strong>99 segundos</strong>, para que se apague de forma automática la <strong>pc</strong>, para aumentar este período lo que podés hacer es ir al <strong>Programador de tareas</strong> indicandole la hora y el día en que querés que se ejecute.</p><br /><br /><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/masefectivo?a=AUshoK"><img src="http://feeds.feedburner.com/~f/masefectivo?i=AUshoK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/masefectivo?a=UEe5xK"><img src="http://feeds.feedburner.com/~f/masefectivo?i=UEe5xK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/masefectivo?a=12oSPk"><img src="http://feeds.feedburner.com/~f/masefectivo?i=12oSPk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/masefectivo?a=EsQsgK"><img src="http://feeds.feedburner.com/~f/masefectivo?i=EsQsgK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/masefectivo?a=Skcfpk"><img src="http://feeds.feedburner.com/~f/masefectivo?i=Skcfpk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/masefectivo?a=P2V9qK"><img src="http://feeds.feedburner.com/~f/masefectivo?i=P2V9qK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/masefectivo?a=Jul1Wk"><img src="http://feeds.feedburner.com/~f/masefectivo?i=Jul1Wk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/masefectivo?a=deilLK"><img src="http://feeds.feedburner.com/~f/masefectivo?i=deilLK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/masefectivo?a=BkJOHk"><img src="http://feeds.feedburner.com/~f/masefectivo?i=BkJOHk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/masefectivo?a=8ORsNK"><img src="http://feeds.feedburner.com/~f/masefectivo?i=8ORsNK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/masefectivo?a=gjMpOk"><img src="http://feeds.feedburner.com/~f/masefectivo?i=gjMpOk" border="0"></img></a><br /><br /></div><img src="http://feeds.feedburner.com/~r/masefectivo/~4/374534996" height="1" width="1"/>

<p>Etiquetas: <a href="http://bitacoras.com/canales/trucos">trucos</a>, <a href="http://bitacoras.com/canales/apagado">apagado</a>, <a href="http://bitacoras.com/canales/archivo">archivo</a>, <a href="http://bitacoras.com/canales/opcion">opcion</a>, <a href="http://bitacoras.com/canales/programador+tareas">programador tareas</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>Jim Cueva</dc:creator>
		<title>120 maneras de incrementar tu poder mental</title>
		<link>http://xkod.com.pe/curiosidades/120-maneras-de-incrementar-tu-poder-mental</link>
		<guid isPermaLink="true">http://xkod.com.pe/curiosidades/120-maneras-de-incrementar-tu-poder-mental</guid>
		<pubDate>Thu, 28 Aug 2008 03:49:53 +0200</pubDate>
		<category>curiosidades</category>
		<category>120</category>
		<category>apagar tv</category>
		<category>cientifico</category>
		<category>forma</category>
		<description><![CDATA[Por Jim Cueva en XKOD el 28 de agosto de 2008 a las 03:49:53

Nuestros amigos de Litemind nos dejan una impresionante lista de 120 maneras de incrementar nuestro poder mental, entre las que tenemos, resolver puzzles, aprender la cartografía, pensar positivamente, escuchar buena música, aprender técnicas creativas, familiarizarse con los métodos científicos, beber bastante agua, con &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/xkod">Jim Cueva</a> en <a href="http://bitacoras.com/bitacora/xkod.com.pe">XKOD</a> el 28 de agosto de 2008 a las 03:49:53</p>

<p style="text-align: center"><img src="http://xkod.com.pe/wp-content/uploads/2008/08/120-maneras-de-incrementar-poder-mental.jpg" alt="" title="120-maneras-de-incrementar-poder-mental" width="300" height="354" class="aligncenter size-full wp-image-3145" /></p><br /><br /><p>Nuestros amigos de <a href="http://litemind.com/boost-brain-power/" target="_blank" onclick="javascript:pageTracker._trackPageview ('/outbound/litemind.com');">Litemind</a> nos dejan una impresionante lista de 120 maneras de incrementar nuestro poder mental, entre las que tenemos, resolver puzzles, aprender la cartografía, pensar positivamente, escuchar buena música, aprender técnicas creativas, familiarizarse con los métodos científicos, beber bastante agua, conseguir un hobbie, aprender idiomas, aprender programación, visitar museos, meditar, hacer una cosa a la vez, ser competitivo, ir a la raíz de los problemas, gritar tus problemas, probar diferentes perfumes y escencias, tener tu propio santuario mental, etc.</p><br /><br /><p><a href="http://litemind.com/boost-brain-power/" target="_blank" onclick="javascript:pageTracker._trackPageview ('/outbound/litemind.com');"><strong>La lista completa en este enlace</strong></a></p><br /><br /><p>Visto en: <a href="http://www.esquizopedia.com/2008/08/27/120-maneras-de-incrementar-el-poder-mental-cerebral/" onclick="javascript:pageTracker._trackPageview ('/outbound/www.esquizopedia.com');">Ezquizopedia</a></p><br /><br /><p>Copyright &#169; 2008 <strong><a href="http://creactivityfocus.com/" title="Empresa de Weblogs, dise&#241;o web y desarrollo" target="_blank">CreActivity Focus</a> | <a href="http://creactivityfocus.com/publicidad-en-nuestros-blogs/" title="Publicidad en nuestros Blogs" target="_blank">Publicidad</a> | <a href="http://creactivityfocus.com/servicios-para-empresas/" title="Servicios para empresas" target="_blank">Empresas</a> | <a href="http://creactivityfocus.com/trabaja-con-nosotros/" title="Forma parte de nuestro equipo" target="_blank">Bloggers</a> | <a href="http://creactivityfocus.com/contactenos/" title="Cont&#225;ctanos" target="_blank">Contacto</a></strong></p><h3>Noticias relacionadas</h3><ul class="related_post"><li><a href="http://xkod.com.pe/recomendados/10-interfaces-de-usuario-futuristas/" title="10 interfaces de usuario futuristas">10 interfaces de usuario futuristas</a></li><li><a href="http://xkod.com.pe/internet/disponible-la-version-de-wordpress-261/" title="Disponible la versión de Wordpress 2.6.1">Disponible la versión de Wordpress 2.6.1</a></li><li><a href="http://xkod.com.pe/aprendizaje/busuu-aprendiendo-idiomas-desde-internet/" title="Busuu: Aprendiendo idiomas desde Internet">Busuu: Aprendiendo idiomas desde Internet</a></li><li><a href="http://xkod.com.pe/software/translatenet-el-completo-traductor-gratuito/" title="Translate.Net: El completo traductor gratuito">Translate.Net: El completo traductor gratuito</a></li><li><a href="http://xkod.com.pe/cultura/breve-eres-un-geek-10-libros-para-ti/" title="Breve: ¿Eres un Geek?, 10 libros para ti">Breve: ¿Eres un Geek?, 10 libros para ti</a></li></ul>

<p>Etiquetas: <a href="http://bitacoras.com/canales/curiosidades">curiosidades</a>, <a href="http://bitacoras.com/canales/120">120</a>, <a href="http://bitacoras.com/canales/apagar+tv">apagar tv</a>, <a href="http://bitacoras.com/canales/cientifico">cientifico</a>, <a href="http://bitacoras.com/canales/forma">forma</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>Conker</dc:creator>
		<title>Mz Shutdown Sheduler: Apaga o Reinicia tu PC en un tiempo determinado</title>
		<link>http://www.tecnobita.com/2008/09/mz-shutdown-sheduler-apaga-o-reinicia-tu-pc-en-un-tiempo-determinado</link>
		<guid isPermaLink="true">http://www.tecnobita.com/2008/09/mz-shutdown-sheduler-apaga-o-reinicia-tu-pc-en-un-tiempo-determinado</guid>
		<pubDate>Tue, 16 Sep 2008 07:35:34 +0200</pubDate>
		<category>utilidades</category>
		<category>programar apagado</category>
		<category>shutdown scheduler</category>
		<description><![CDATA[Por Conker en TecnoBITA.com - Informática, tecnología y mucho más el 16 de septiembre de 2008 a las 07:35:34

Mz Shutdown Sheduler es una pequeña herramienta que nos permite configurar el apagado, reinicio, hibernación o cierre de sesión en nuestro PC, en un período de tiempo determinado. Los métodos de programación que se configuran son muy funcionales, ya que podemos indicar que  &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/conker">Conker</a> en <a href="http://bitacoras.com/bitacora/www.tecnobita.com">TecnoBITA.com - Informática, tecnología y mucho más</a> el 16 de septiembre de 2008 a las 07:35:34</p>

<p style="text-align: center;"><img class="size-full wp-image-2682 aligncenter" title="mz-shutdown-sheduler" src="http://www.tecnobita.com/wp-content/uploads/2008/09/mz-shutdown-sheduler.jpg" alt="" width="500" height="348" /></p><br /><br /><p><strong>Mz Shutdown Sheduler</strong> es una pequeña herramienta que nos permite <strong>configurar el apagado, reinicio, hibernación o cierre de sesión en nuestro PC</strong>, en un período de tiempo determinado. Los métodos de programación que se configuran son muy funcionales, ya que podemos indicar que nuestra PC se apagará o reiniciará si (ejemplos):</p><br /><br /><ul><br /><br /><li>El consumo de CPU es menor a 30%  durante X segundos.</li><br /><br /><li>Tenemos 200MB de RAM disponible durante X segundos.</li><br /><br /><li>Si recibemos menos de 80 bytes/seg durante X segundos.</li><br /><br /><li>En 30 minutos.</li><br /><br /></ul><br /><br /><p>Configuraciones que son muy útiles, ya que si estamos realizando alguna <strong>conversión, optitimización, desfragmetanción del disco duro</strong> (que por lo general dura algunas horas), la descarga ha finalizado o simplemente que se apague en ese período. También tenemos las opciones de:</p><br /><br /><ul><br /><br /><li>Esperar X segundos antes de apagar o reinciar.</li><br /><br /><li>Forzar el apagado.</li><br /><br /><li>Reproducir un sonido antes de apagar o reiniciar.</li><br /><br /><li>Ejecutar una aplicación antes de apagar o reiniciar.</li><br /><br /><li>Mostrar un mensaje antes de iniciar el apagado o reinicio.</li><br /><br /></ul><br /><br /><p>Todo esto en una herramienta gratuita y muy útil, cuyo tamaño es inferior a 1MB y que no requiere instalación.</p><br /><br /><p>Descargar | <a href="http://mztweak.bravehost.com/MzShut.html">Mz Shutdown Sheduler</a></p><br /><br /><p>(c) 2007/08 - Este articulo fue escrito por <a href="http://www.tecnobita.com/">TecnoBITA</a>.</p><br /><br /><p><a href="http://www.tecnobita.com/2008/09/mz-shutdown-sheduler-apaga-o-reinicia-tu-pc-en-un-tiempo-determinado/">Mz Shutdown Sheduler: Apaga o Reinicia tu PC en un tiempo determinado</a></p><br /><br /><br /><br />	<h4>Otros artículos interesantes</h4><br /><br />	<ul class="st-related-posts"><br /><br />	<li>No hay artículos relacionados.</li><br /><br />	</ul><br /><br /><br /><br /><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/TecnoBita?a=vGjoL"><img src="http://feeds.feedburner.com/~f/TecnoBita?i=vGjoL" border="0"></img></a><br /><br /></div><img src="http://feeds.feedburner.com/~r/TecnoBita/~4/393875019" height="1" width="1"/>

<p>Etiquetas: <a href="http://bitacoras.com/canales/utilidades">utilidades</a>, <a href="http://bitacoras.com/canales/programar+apagado">programar apagado</a>, <a href="http://bitacoras.com/canales/shutdown+scheduler">shutdown scheduler</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>admin</dc:creator>
		<title>Problemas Cl&#225;sicos: Aprendiendo a Programar</title>
		<link>http://www.novacreations.net/341-problemas-clasicos-aprendiendo-a-programar</link>
		<guid isPermaLink="true">http://www.novacreations.net/341-problemas-clasicos-aprendiendo-a-programar</guid>
		<pubDate>Mon, 21 Jul 2008 19:59:32 +0200</pubDate>
		<category>articulos</category>
		<category>programacion</category>
		<category>aprender</category>
		<category>java</category>
		<category>php</category>
		<description><![CDATA[Por admin en Novacreations el 21 de julio de 2008 a las 19:59:32

Todos los que cursamos una carrera en sistemas (y los que la cursan) afrontamos en nuestras materias de computación una variedad de problemas que ponen a prueba nuestros conocimientos en programación. Recordaremos las famosas torres de Hanoi, los Palíndromos y el Juego de la Vida.Estos problemas pueden parecernos abs &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/oropeza">admin</a> en <a href="http://bitacoras.com/bitacora/www.novacreations.net">Novacreations</a> el 21 de julio de 2008 a las 19:59:32</p>

<p><img src="http://www.novacreations.net/wp-content/uploads/2008/07/images.jpg" alt="images.jpg" align="right" border="0" hspace="5" vspace="5" />Todos los que cursamos una carrera en sistemas (y los que la cursan) afrontamos en nuestras materias de computación una variedad de problemas que ponen a prueba nuestros conocimientos en programación. Recordaremos las famosas torres de Hanoi, los Palíndromos y el Juego de la Vida.</p><br /><br /><p>Estos problemas pueden parecernos absurdos ya que sus temáticas o preguntas están alejadas de la vida real. En mi experiencia nunca he tenido que aplicar el algoritmo de Hanoi o usado el manejo de palíndromos para hacer más eficiente un Datawarehouse. Sin embargo estos retos nos ayudan a aprender a programar, a pensar como un programador.</p><br /><br /><p>Programar no es simplemente saber la sintaxis o como declarar variables. Un programador debe saber como resolver problemas y como plantearlos utilizando el lenguaje natural y el lenguaje de la computadora. Esta es la importancia de estos problemas ya que nos ayudan a mejorar nuestro razonamiento y ver de diferentes perspectivas un mismo problema.</p><br /><br /><p><img src="http://www.novacreations.net/wp-content/uploads/2008/07/sphere-small.png" alt="sphere-small.png" align="left" border="0" hspace="5" vspace="5" />En la página de Sphere existe un muy buen repositorio de varios miles de problemas clásicos que pueden resolverse con una gran variedad de plataformas (Java, C, PHP, etc) los cuales usan para concursos. Es un recurso muy bueno para practicar nuestras habilidades en los tiempos de ocio, ponernos nuevos retos e incluso entablar competencias. Seas un novato o un experimentado programador encontraras siempre nuevos retos y problemas a resolver.</p><br /><br /><p>Lista de problemas clásicos: <a href="http://www.spoj.pl/problems/classical/" target="_blank">http://www.spoj.pl/problems/classical/</a></p><br /><br /><p>También les recomiendo la siguiente lectura:</p><br /><br /><p><a href="http://www.phpfreaks.com/blog/learning-to-think-like-a-programmer" target="_blank">Learning to think like a programmer.</a></p>

<p>Etiquetas: <a href="http://bitacoras.com/canales/articulos">articulos</a>, <a href="http://bitacoras.com/canales/programacion">programacion</a>, <a href="http://bitacoras.com/canales/aprender">aprender</a>, <a href="http://bitacoras.com/canales/java">java</a>, <a href="http://bitacoras.com/canales/php">php</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>Esfera</dc:creator>
		<title>GameSalad nos permitir&#225; crea juegos sin conocimientos de programaci&#243;n</title>
		<link>http://www.esferaiphone.com/?p=1321</link>
		<guid isPermaLink="true">http://www.esferaiphone.com/?p=1321</guid>
		<pubDate>Wed, 01 Oct 2008 12:21:10 +0200</pubDate>
		<category>noticias</category>
		<category>iphone</category>
		<category>iphone 3g</category>
		<category>crear juegos</category>
		<category>juegos iphone</category>
		<description><![CDATA[Por Esfera en EsferaiPhone el 01 de octubre de 2008 a las 12:21:10

GameSalad será una aplicación de Gendai Games, que permitirá a la gente que no sepa programar ni tenga los medios necesarios para desarrollar un juego de 0, el poder crear un juego completo, simplemente arrastrando elemetos y viendo los cambios al momento.La teoría de lo que será el programa pinta muy bien, habrá q &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/esfera">Esfera</a> en <a href="http://bitacoras.com/bitacora/esferaiphone.com">EsferaiPhone</a> el 01 de octubre de 2008 a las 12:21:10</p>

<p><strong>GameSalad</strong> será una aplicación de <a href="http://www.gendaigames.com/products/gamesalad/" target="_blank">Gendai Games</a>, que permitirá a la gente que no sepa programar ni tenga los medios necesarios para desarrollar un juego de 0, el poder <strong>crear un juego completo</strong>, simplemente arrastrando elemetos y viendo los cambios al momento.</p><br /><br /><p><a rel="lightbox" href="http://www.esferaiphone.com/uploads/gs-splash-product-page.png"><img class="alignnone size-medium wp-image-1322" title="gs-splash-product-page" src="http://www.esferaiphone.com/uploads/gs-splash-product-page-300x207.png" alt="" width="300" height="207" /></a></p><br /><br /><p>La teoría de lo que será el programa pinta muy bien, habrá que esperar a ver el resultado final y cuando sale. Por ahora está abierta una fase de selección para <a href="http://www.gendaigames.com/products/gamesalad/gamesalad-alpha-application/" target="_blank">betatesters</a> de una versión Alfa.<br /><br /><br /><span id="more-1321"></span><br /><br /><br /><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="src" value="http://www.youtube.com/v/iOK_bTAwPCg&color1=0xb1b1b1&color2=0xcfcfcf&hl=en&fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/iOK_bTAwPCg&color1=0xb1b1b1&color2=0xcfcfcf&hl=en&fs=1" allowfullscreen="true"></embed></object></p><br /><br /><br /><br /><p><a href="http://feeds.feedburner.com/~a/Esferaiphone?a=ke25DB"><img src="http://feeds.feedburner.com/~a/Esferaiphone?i=ke25DB" border="0"></img></a></p><img src="http://feeds.feedburner.com/~r/Esferaiphone/~4/408065547" height="1" width="1"/>

<p>Etiquetas: <a href="http://bitacoras.com/canales/noticias">noticias</a>, <a href="http://bitacoras.com/canales/iphone">iphone</a>, <a href="http://bitacoras.com/canales/iphone+3g">iphone 3g</a>, <a href="http://bitacoras.com/canales/crear+juegos">crear juegos</a>, <a href="http://bitacoras.com/canales/juegos+iphone">juegos iphone</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>javi</dc:creator>
		<title>Twittertise, programar tweets y controlar efectividad clicks</title>
		<link>http://estwitter.com/2008/10/09/twittertise-programar-tweets-y-controlar-efectividad-clicks</link>
		<guid isPermaLink="true">http://estwitter.com/2008/10/09/twittertise-programar-tweets-y-controlar-efectividad-clicks</guid>
		<pubDate>Thu, 09 Oct 2008 08:10:36 +0200</pubDate>
		<category>servicios online</category>
		<category>programar</category>
		<category>tweets</category>
		<category>twittertise</category>
		<category>url</category>
		<description><![CDATA[Por javi en esTwitter.com el 09 de octubre de 2008 a las 08:10:36

Twittertise es una simple pero efectiva herramienta, ideada para campañas de publicidad programadas en Twitter, pero que en realidad se puede usar para programar cualquier tipo de tweets, controlando además cuántas personas han visitado el enlace concreto puesto en el tweet.En primer lugar nos logueamos con el usuar &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/kroaton">javi</a> en <a href="http://bitacoras.com/bitacora/estwitter.com">esTwitter.com</a> el 09 de octubre de 2008 a las 08:10:36</p>

<p align="center"><img title="twittertise" src="http://estwitter.com/wp-content/uploads/2008/10/twittertise.jpg" alt="" height="254" /></p><br /><br /><p style="text-align: justify;"><a title="Web de Twittertise" href="http://twittertise.com/" target="_blank"><strong>Twittertise</strong></a> es una simple pero efectiva herramienta, ideada para campañas de publicidad programadas en<strong> Twitter</strong>, pero que en realidad se puede usar para programar cualquier tipo de tweets, controlando además cuántas personas han visitado el enlace concreto puesto en el tweet.</p><br /><br /><p style="text-align: justify;">En primer lugar nos logueamos con el usuario de <strong>Twitter</strong> y contraseña (para “variar”), algún día sacarán una aplicación falsa y nos quitarán la aplicación, ya veréis. A continuación elegimos nuestra zona horaria, y finalmente tenemos la pantalla como la de la imagen, donde podremos programar tweets (opción <em>Create a new tweet</em>) que quedan tanto en <em>Pending</em> como en <em>Delayed Tweets</em> (no entiendo diferencia entre ambas pestañas). Cuando se crea el <em>tweet</em> hay un campo para el texto del <em>tweet</em> y otro para la URL (enlace) del tweet.</p><br /><br /><p style="text-align: justify;">Una vez enviado, pasan a <em>Sent Tweets</em>, donde podremos ver los <em>tweets</em> programados y el número de clicks al enlace que hayamos puesto anteriormente, ya que al haberlo puesto en el campo URL, se convierten a un redireccionador que cuenta el número de clicks realizados.</p><br /><br /><p style="text-align: justify;">Para completar la información, os ponemos aquí el vídeo de la portada de <strong>Twittertise</strong> donde explican su servicio (en inglés):</p><br /><br /><p style="text-align: justify;"><object width="400" height="298"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1629960&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=1629960&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="298"></embed></object></p><br /><br /><p class="akst_link"><a target="_blank" href="http://estwitter.com/?p=441&akst_action=share-this"  title="Comparte esta publicación en technorati, meneame, etc." id="akst_link_441" class="akst_share_link" rel="nofollow">Compártelo!</a><br /><br /></p>

<p>Etiquetas: <a href="http://bitacoras.com/canales/servicios+online">servicios online</a>, <a href="http://bitacoras.com/canales/programar">programar</a>, <a href="http://bitacoras.com/canales/tweets">tweets</a>, <a href="http://bitacoras.com/canales/twittertise">twittertise</a>, <a href="http://bitacoras.com/canales/url">url</a></p>]]></content:encoded>
	</item>
	</channel>
</rss>