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

<channel>
	<title>Nação do Cimbalino &#187; Programação</title>
	<atom:link href="http://www.pedrolamas.com/category/programacao/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pedrolamas.com</link>
	<description>( ou a “Página Pessoal de Pedro Lamas” )</description>
	<lastBuildDate>Wed, 01 Feb 2012 20:35:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Silverlight 5</title>
		<link>http://www.pedrolamas.com/2011/12/09/silverlight-5/</link>
		<comments>http://www.pedrolamas.com/2011/12/09/silverlight-5/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 23:15:54 +0000</pubDate>
		<dc:creator>Pedro Lamas</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Silverlight 5]]></category>

		<guid isPermaLink="false">http://www.pedrolamas.com/?p=2295</guid>
		<description><![CDATA[TweetDepois de meses com rumores (infundados) de que a Microsoft ia largar o Silverlight em prole do HTML5, heis que é chegado finalmente o dia de lançamento oficial do Silverlight 5! As novidades são muitas, mas estas são as que &#8230; <a href="http://www.pedrolamas.com/2011/12/09/silverlight-5/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px; clear: right;"><a href="http://twitter.com/share?url=http://www.pedrolamas.com/2011/12/09/silverlight-5/&via=pedrolamas&text=Silverlight 5&related=pedrolamas:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p><a href="http://www.silverlight.net/"><img class="alignright size-full wp-image-2296" title="Silverlight" src="http://www.pedrolamas.com/wp-content/uploads/2011/12/Silverlight.png" alt="" width="150" height="167" /></a>Depois de meses com rumores (infundados) de que a Microsoft ia largar o <a href="http://www.silverlight.net" target="_blank">Silverlight</a> em prole do HTML5, heis que é chegado finalmente o dia de lançamento oficial do <a href="http://www.silverlight.net/learn/overview/what's-new-in-silverlight-5/" target="_blank">Silverlight 5</a>!</p>
<p>As novidades são muitas, mas estas são as que mais se destacam:</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.pivot.pivotviewer(VS.95).aspx">PivotViewer</a> control</li>
<li><a href="http://msdn.microsoft.com/en-us/library/ee721083(VS.95).aspx" target="_blank">Trusted applications</a> in-browser</li>
<li><a href="http://msdn.microsoft.com/en-us/library/gg197424(XNAGameStudio.35).aspx" target="_blank">3D graphics</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/ee671023(VS.95).aspx" target="_blank">Vector printing</a></li>
<li>Improved text rendering including the <a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextblock(VS.95).aspx" target="_blank">RichTextBlock</a> control.</li>
<li><a href="http://msdn.microsoft.com/en-us/library/cc189080(VS.95).aspx" target="_blank">Hardware decode of H.264</a> media</li>
</ul>
<p>Podem encontrar na página oficial do Silverlight uma série de <a href="http://www.silverlight.net/learn/overview/what's-new-in-silverlight-5" target="_blank">vídeos introdutórios</a> com <a href="http://10rem.net/" target="_blank">Pete Brown</a>, Developer Division Community Program Manager na Microsoft.</p>
<p>@<a href="http://blogs.msdn.com/b/silverlight_sdk/archive/2011/12/09/silverlight-5-has-released-the-docs-are-up-and-a-chm-is-available.aspx" target="_blank">Silverlight <acronym title="Software Development Kit">SDK</acronym></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.pedrolamas.com/2011/12/09/silverlight-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft Webday 2010 (II)</title>
		<link>http://www.pedrolamas.com/2010/09/03/microsoft-webday-2010-ii/</link>
		<comments>http://www.pedrolamas.com/2010/09/03/microsoft-webday-2010-ii/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 12:05:27 +0000</pubDate>
		<dc:creator>Pedro Lamas</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[WebDay]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[WP7]]></category>

		<guid isPermaLink="false">http://www.pedrolamas.com/?p=1379</guid>
		<description><![CDATA[TweetDecorre já nos próximos dias 12 de Outubro no Porto e 14 de Outubro em Lisboa, mais um Microsoft Webday, um evento dedicado às tecnologias de desenvolvimento para a internet. Sendo já o segundo evento deste tipo este ano, a &#8230; <a href="http://www.pedrolamas.com/2010/09/03/microsoft-webday-2010-ii/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px; clear: right;"><a href="http://twitter.com/share?url=http://www.pedrolamas.com/2010/09/03/microsoft-webday-2010-ii/&via=pedrolamas&text=Microsoft Webday 2010 (II)&related=pedrolamas:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p><a href="http://www.mswebday.com/" target="_blank"><img class="alignright size-full wp-image-1380" title="Microsoft Webday 2010" src="http://www.pedrolamas.com/wp-content/uploads/2010/09/Microsoft-Webday-2010.jpg" alt="" width="150" height="65" /></a>Decorre já nos próximos dias 12 de Outubro no Porto e 14 de Outubro em Lisboa, mais um <a href="http://www.mswebday.com/" target="_blank">Microsoft Webday</a>, um evento dedicado às tecnologias de desenvolvimento para a internet.</p>
<p>Sendo já o segundo evento deste tipo este ano, a agenda ainda não está fechada mas promete ser bastante interessante, com sessões &#8220;essentials&#8221; na parte da manhã, e sessões &#8220;deep dive&#8221; na parte da tarde, com temas que devem passar por Azure, Silverlight 4, Windows Phone 7, HTML5, IE9, <acronym title="Active Server Page">ASP</acronym> .NET 4, <acronym title="Active Server Page">ASP</acronym> .NET MVC 3, WebMatrix, Razor, e outros!</p>
<p>Outra novidade é o seminário de pré-conferência que acontece no dia que antecede o evento em cada cidade (11 e 13), dedicado exclusivamente ao Windows Phone 7.</p>
<p>Não percam tempo e façam já o <a href="http://www.mswebday.com/registo" target="_blank">registo</a>, usufruindo do desconto &#8220;Early Bird&#8221;! <img src='http://www.pedrolamas.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>]]></content:encoded>
			<wfw:commentRss>http://www.pedrolamas.com/2010/09/03/microsoft-webday-2010-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problemas com a utilização de XPath na .NET Framework</title>
		<link>http://www.pedrolamas.com/2010/08/11/problemas-com-a-utilizacao-de-xpath-na-net-framework/</link>
		<comments>http://www.pedrolamas.com/2010/08/11/problemas-com-a-utilizacao-de-xpath-na-net-framework/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 22:37:20 +0000</pubDate>
		<dc:creator>Pedro Lamas</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[XPath]]></category>

		<guid isPermaLink="false">http://www.pedrolamas.com/?p=1353</guid>
		<description><![CDATA[TweetEste é um artigo um pouco diferente do que normalmente coloco no blog! Recentemente tive de recorrer à utilização de XPath numa aplicação em .NET 4.0, e deparei-me com alguns problemas inesperados! Suponhamos que temos um ficheiro chamado &#8220;teste.xml&#8221; com &#8230; <a href="http://www.pedrolamas.com/2010/08/11/problemas-com-a-utilizacao-de-xpath-na-net-framework/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px; clear: right;"><a href="http://twitter.com/share?url=http://www.pedrolamas.com/2010/08/11/problemas-com-a-utilizacao-de-xpath-na-net-framework/&via=pedrolamas&text=Problemas com a utilização de XPath na .NET Framework&related=pedrolamas:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p>Este é um artigo um pouco diferente do que normalmente coloco no blog!</p>
<p>Recentemente tive de recorrer à utilização de XPath numa aplicação em .NET 4.0, e deparei-me com alguns problemas inesperados!</p>
<p><span id="more-1353"></span></p>
<p>Suponhamos que temos um ficheiro chamado &#8220;teste.xml&#8221; com o seguinte conteúdo:</p>
<pre class="brush: xml; title: ; notranslate">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;Project ToolsVersion=&quot;4.0&quot; xmlns=&quot;http://schemas.microsoft.com/developer/msbuild/2003&quot; DefaultTargets=&quot;Build&quot;&gt;
  &lt;PropertyGroup&gt;
    &lt;ProductVersion&gt;9.0.30729&lt;/ProductVersion&gt;
  &lt;/PropertyGroup&gt;
&lt;/Project&gt;</pre>
<p>Agora, com base neste ficheiro, executam o seguinte código em .NET:</p>
<pre class="brush: csharp; title: ; notranslate">var doc = new XmlDocument(); //Criar XmlDocument

doc.Load(&quot;teste.xml&quot;); //Carregar o ficheiro teste.xml

var node = doc.SelectSingleNode(&quot;/Project&quot;); //Obter o nó raiz com uma expressão de XPath</pre>
<p>Ora pela lógica, neste momento a variável &#8220;node&#8221; deveria ter o nó raiz do nosso <acronym title="Extensible Markup Language">XML</acronym>, certo?</p>
<p>ERRADO!!!</p>
<p>Acontece que pelo menos até à actual .NET Framework 4.0, as base classes apenas contemplam XPath 1.0, em que a noção de &#8220;default namespace&#8221; (indicado no <acronym title="Extensible Markup Language">XML</acronym> com o atributo &#8220;xmlns&#8221;) não existe, sendo assim obrigatória a sua indicação!</p>
<p>Para ultrapassar este problema, sugiro algumas soluções:</p>
<p>Solução 1: passar o default namespace a ser apenas mais um namespace declarado (isto sim, compatível com XPath 1.0)</p>
<pre class="brush: csharp; highlight: [5,6,7,8,9]; title: ; notranslate">var doc = new XmlDocument();  //Criar XmlDocument

doc.Load(&quot;teste.xml&quot;); //Carregar o ficheiro teste.xml

var nsm = new XmlNamespaceManager(doc.NameTable);

nsm.AddNamespace(&quot;xxx&quot;, doc.DocumentElement.NamespaceURI);

var node = doc.SelectSingleNode(&quot;/xxx:Project&quot;, nsm); //Obter o nó raiz com uma expressão de XPath</pre>
<p>Solução 2: remover o &#8220;default namespace&#8221; (carinhosamente chamada de &#8220;solução-martelo&#8221;)</p>
<pre class="brush: csharp; highlight: [5,6,7,8,9]; title: ; notranslate">var doc = new XmlDocument();  //Criar XmlDocument

doc.Load(&quot;teste.xml&quot;); //Carregar o ficheiro teste.xml

if (doc.DocumentElement.HasAttribute(&quot;xmlns&quot;))
{
    doc.DocumentElement.SetAttribute(&quot;xmlns&quot;, string.Empty);
    doc.Load(doc.OuterXml);
}

var node = doc.SelectSingleNode(&quot;/Project&quot;); //Obter o nó raiz com uma expressão de XPath</pre>
<p>Solução 3: utilizar bibliotecas de terceiros em vez do normal System.Xml, quem implementam as mais recentes tecnologias como XPath 2.0</p>
<ul>
<li><a href="http://saxon.sourceforge.net" target="_blank">Saxon</a></li>
<li><a href="http://www.xqsharp.com/" target="_blank">XQSharp</a></li>
<li><a href="http://qm.codeplex.com/" target="_blank">QueryMachine</a></li>
</ul>
<p>Apesar de eu ter utilizado XmlDocument, este é um comportamento que afecta também o &#8220;<acronym title="Language Integrated Query">LINQ</acronym> to <acronym title="Extensible Markup Language">XML</acronym>&#8221; (XDocument e afins&#8230;  <img src='http://www.pedrolamas.com/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' />  ) quando pretendem aplicar XPath a estes!</p>
<p>Bom XPath&#8217;ing a todos!</p>]]></content:encoded>
			<wfw:commentRss>http://www.pedrolamas.com/2010/08/11/problemas-com-a-utilizacao-de-xpath-na-net-framework/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows Phone 7 Analog Clock</title>
		<link>http://www.pedrolamas.com/2010/04/05/windows-phone-7-analog-clock/</link>
		<comments>http://www.pedrolamas.com/2010/04/05/windows-phone-7-analog-clock/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 23:26:40 +0000</pubDate>
		<dc:creator>Pedro Lamas</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Windows Phone 7 Series]]></category>
		<category><![CDATA[WP7]]></category>
		<category><![CDATA[WP7Dev]]></category>
		<category><![CDATA[WP7S]]></category>

		<guid isPermaLink="false">http://www.pedrolamas.com/?p=1245</guid>
		<description><![CDATA[TweetNada como uma calma noite de Domingo de Páscoa para umas pequenas experiências com o Visual Studio 2010,  Silverlight, e o emulador do Windows Phone 7! O resultado? Tendo por base este exemplo, cheguei a um simples relógio analógico com o &#8230; <a href="http://www.pedrolamas.com/2010/04/05/windows-phone-7-analog-clock/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px; clear: right;"><a href="http://twitter.com/share?url=http://www.pedrolamas.com/2010/04/05/windows-phone-7-analog-clock/&via=pedrolamas&text=Windows Phone 7 Analog Clock&related=pedrolamas:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p><a href="http://www.pedrolamas.com/wp-content/uploads/2010/04/AnalogClock.zip"><img class="alignright size-full wp-image-1247" title="Windows Phone 7 Analog Clock" src="http://www.pedrolamas.com/wp-content/uploads/2010/04/Windows-Phone-7-Analog-Clock.jpg" alt="" width="150" height="296" /></a>Nada como uma calma noite de Domingo de Páscoa para umas pequenas experiências com o Visual Studio 2010,  Silverlight, e o emulador do Windows Phone 7!</p>
<p>O resultado? Tendo por base <a href="http://msdn.microsoft.com/en-us/library/bb404709(VS.95).aspx" target="_blank">este exemplo</a>, cheguei a um simples relógio analógico com o aspecto certo para a interface do Windows Phone 7, tal como podem ver na figura! <img src='http://www.pedrolamas.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Podem descarregar <a href="http://www.pedrolamas.com/wp-content/uploads/2010/04/AnalogClock.zip">aqui</a> o código fonte! <img src='http://www.pedrolamas.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>]]></content:encoded>
			<wfw:commentRss>http://www.pedrolamas.com/2010/04/05/windows-phone-7-analog-clock/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Microsoft WebDay 2010</title>
		<link>http://www.pedrolamas.com/2010/02/01/microsoft-webday-2010/</link>
		<comments>http://www.pedrolamas.com/2010/02/01/microsoft-webday-2010/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 22:57:45 +0000</pubDate>
		<dc:creator>Pedro Lamas</dc:creator>
				<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://www.pedrolamas.com/?p=1181</guid>
		<description><![CDATA[TweetEstamos a menos de 24 horas do Microsoft Webday 2010, um evento dedicado às novas tendências e tecnologias orientadas para a internet: Silverlight, Internet Explorer, Expression, ASP.net, e Windows Azure! O evento será na Fundação Dr. António Cupertino de Miranda, &#8230; <a href="http://www.pedrolamas.com/2010/02/01/microsoft-webday-2010/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px; clear: right;"><a href="http://twitter.com/share?url=http://www.pedrolamas.com/2010/02/01/microsoft-webday-2010/&via=pedrolamas&text=Microsoft WebDay 2010&related=pedrolamas:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p><a href="http://www.mswebday.com" target="_blank"><img class="alignright size-full wp-image-1184" title="Microsoft WebDay 2010" src="http://www.pedrolamas.com/wp-content/uploads/2010/02/Microsoft-WebDay-2010.jpg" alt="" width="150" height="67" /></a>Estamos a menos de 24 horas do <a href="http://www.mswebday.com" target="_blank">Microsoft Webday 2010</a>, um evento dedicado às novas tendências e tecnologias orientadas para a internet: Silverlight, Internet Explorer, Expression, <acronym title="Active Server Page">ASP</acronym>.net, e Windows Azure!</p>
<p>O evento será na <a href="http://www.mswebday.com/Page/Details/local" target="_blank">Fundação Dr. António Cupertino de Miranda, no Porto</a>, e sendo o primeiro evento Microsoft do ano, pode-se dizer que começa muito bem, dado que está já lotado há mais de uma semana!</p>
<p>Eu estarei presente para assistir ao que conto ser um grande evento técnico, apresentado por um quadro de especialistas destas áreas! <img src='http://www.pedrolamas.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>]]></content:encoded>
			<wfw:commentRss>http://www.pedrolamas.com/2010/02/01/microsoft-webday-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Mobile Widgets &#8211; Parte 4</title>
		<link>http://www.pedrolamas.com/2009/11/13/windows-mobile-widgets-parte-4/</link>
		<comments>http://www.pedrolamas.com/2009/11/13/windows-mobile-widgets-parte-4/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 15:09:19 +0000</pubDate>
		<dc:creator>Pedro Lamas</dc:creator>
				<category><![CDATA[Widgets]]></category>
		<category><![CDATA[Mobilidade]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[Windows Mobile 6.5]]></category>
		<category><![CDATA[Windows Mobile Widgets]]></category>

		<guid isPermaLink="false">http://www.pedrolamas.com/?p=1087</guid>
		<description><![CDATA[TweetEm mais um artigo da série sobre desenvolvimento de Windows Mobile Widgets, hoje venho falar sobre o seu modelo de objectos (object model) de Javascript. Voltando ao essencial, um Widget é apenas HTML + CSS + Javascript&#8230; sendo o HTML &#8230; <a href="http://www.pedrolamas.com/2009/11/13/windows-mobile-widgets-parte-4/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px; clear: right;"><a href="http://twitter.com/share?url=http://www.pedrolamas.com/2009/11/13/windows-mobile-widgets-parte-4/&via=pedrolamas&text=Windows Mobile Widgets - Parte 4&related=pedrolamas:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p><img class="alignright size-full wp-image-1099" title="Windows Mobile Widgets Part 3" src="http://www.pedrolamas.com/wp-content/uploads/2009/11/Windows-Mobile-Widgets-Part-3.jpg" alt="Windows Mobile Widgets Part 3" width="150" height="106" />Em mais um artigo da série sobre desenvolvimento de <a href="http://www.pedrolamas.com/tag/windows-mobile-widgets/">Windows Mobile Widgets</a>, hoje venho falar sobre o seu modelo de objectos (object model) de Javascript.</p>
<p>Voltando ao essencial, um Widget é apenas <acronym title="HyperText Markup Language">HTML</acronym> + <acronym title="Cascading Style Sheet">CSS</acronym> + Javascript&#8230; sendo o <acronym title="HyperText Markup Language">HTML</acronym> e o <acronym title="Cascading Style Sheet">CSS</acronym> utilizado para o desenho da interface, o Javascript serve para a implementação da lógica e programação do Widget.</p>
<p><span id="more-1087"></span>Os Widgets de Windows Mobile disponibilizam um objecto chamado <em><strong>widget</strong></em>, que permite o acesso a algumas informações do estado do dispositivo, bem como a algumas funcionalidades relacionadas com o próprio Widget.</p>
<p>Esta é a definição do objecto <em>widget</em>:</p>
<ul>
<li>Propriedades:
<ul>
<li><strong>authorEmail</strong> &#8211; O endereço de e-mail do autor do Widget, correspondendo ao valor do atributo<em> email</em> do elemento <em>&lt;author&gt;</em> no manifesto</li>
<li><strong>authorName</strong> &#8211; O nome do autor do Widget, correspondendo ao valor do elemento <em>&lt;author&gt;</em> no manifesto</li>
<li><strong>authorURL</strong> &#8211; O nome do autor do Widget, correspondendo ao valor do atributo <em>href</em> do elemento <em>&lt;author&gt;</em> no manifesto</li>
<li><strong>currentIcon</strong> &#8211; O icon que está em uso neste Widget; este é um object do tipo <em><strong>WidgetIcon</strong></em>.</li>
<li><strong>description</strong> &#8211; A descrição do Widget, correspondendo ao valor do elemento <em>&lt;description&gt;</em> no manifesto</li>
<li><strong>height</strong> &#8211; A altura do Widget em pixels</li>
<li><strong>identifier</strong> &#8211; O identificador único do Widget, correspondendo ao atributo <em>id</em> do elemento <em>&lt;widget&gt;</em> no manifesto</li>
<li><strong>locale</strong> &#8211; O identificador do idioma (<em>locale</em>) em uso, conforme as definições regionais (<em>Regional Settings</em>) do dispositivo</li>
<li><strong>menu</strong> &#8211; O menu do Widget; este é um objecto do tipo <em><strong>Menu</strong></em>.</li>
<li><strong>name</strong> &#8211; O nome do Widget, correspondendo ao valor do elemento <em>&lt;name&gt;</em> no manifesto</li>
<li><strong>version</strong> &#8211; A versão do Widget, correspondendo ao valor do atributo <em>version</em> do elemento <em>&lt;widget&gt;</em></li>
<li><strong>width</strong> &#8211; A largura do Widget em pixels</li>
</ul>
</li>
<li>Métodos
<ul>
<li><strong>createObject(type)</strong> &#8211; Cria uma instancia do tipo indicado</li>
<li><strong>preferenceForKey(key)</strong> &#8211; Obtém os dados persistentes relativos ao identificador indicado</li>
<li><strong>setPreferenceForKey(value, key)</strong> &#8211; Guardar persistentemente os dados indicados, relacionando-os com um identificador</li>
</ul>
</li>
<li>Eventos
<ul>
<li><strong>onHide</strong> &#8211; Ocorre quando a janela do Widget perde o foco (minimizar)</li>
</ul>
<ul>
<li><strong>onShow</strong> &#8211; Ocorre ao focar a janela do Widget</li>
</ul>
</li>
</ul>
<p>Para efeito de exemplo, vamos utilizar novamente o nosso &#8220;Hello World&#8221; (a versão <a href="http://www.pedrolamas.com/2009/08/21/windows-mobile-widgets-parte-2/">deste</a> post), e fazer com que este apresente no ecrã principal o seu nome e versão, alterando para isso o ficheiro <em>default.htm</em>:</p>
<pre class="brush: xml; highlight: [8,14]; title: ; notranslate">&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Hello World&lt;/title&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;resources.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
window.onload = function() {
  HelloWorldLabel.innerText = Resources.HelloWorldText;
  WidgetInformation.innerText = widget.name + &quot; v&quot; + widget.version;
};
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p id=&quot;HelloWorldLabel&quot;&gt;&lt;/p&gt;
&lt;p id=&quot;WidgetInformation&quot;&gt;&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Abrindo o Widget no emulador, o resultado deverá ser como a seguinte imagem:</p>
<p><img class="alignnone size-full wp-image-1090" title="Hello World Widget with identification" src="http://www.pedrolamas.com/wp-content/uploads/2009/11/Hello-World-Widget-with-identification.jpg" alt="Hello World Widget with identification" width="282" height="362" /></p>
<p>Como pudemos ver acima, existem ainda pelo menos mais dois objectos: o <em>WidgetIcon</em> e o <em>Menu</em>.</p>
<p>O <em>WidgetIcon</em> tem a seguinte estrutura:</p>
<ul>
<li>Propriedades
<ul>
<li><strong>height</strong> &#8211; A altura do icon</li>
<li><strong>src</strong> &#8211; O url do icon</li>
<li><strong>width</strong> &#8211; A largura do icon</li>
</ul>
</li>
</ul>
<p>Por sua vez, o <em>Menu</em> apresenta a seguinte estrutura:</p>
<ul>
<li>Propriedades
<ul>
<li><strong>leftSoftKeyIndex</strong> &#8211; Utilizado pelo método setSoftkey para representar a tecla (<em>soft-key</em>) da esquerda</li>
<li><strong>rightSoftKeyIndex</strong> &#8211; Utilizado pelo método setSoftkey para representar a tecla (<em>soft-key</em>) da direita</li>
</ul>
</li>
<li>Métodos
<ul>
<li><strong>append(item)</strong> &#8211; acrescente um objecto do tipo <em>MenuItem</em> à tecla (<em>soft key</em>) da direita</li>
<li><strong>clear()</strong> &#8211; Limpa o conteúdo do menu principal</li>
<li><strong>createMenuItem(id)</strong> &#8211; cria um novo objecto <em><strong>MenuItem</strong></em> com o identificador indicado</li>
<li><strong>getMenuItemById(id)</strong> &#8211; obtém o objecto <em>MenuItem</em> dado o seu identificador</li>
<li><strong>remove(item)</strong> &#8211; remove do menu o objecto <em>MenuItem</em> indicado</li>
<li><strong>setSoftKey(item, id)</strong> &#8211; atribui o <em>MenuItem</em> a uma tecla (<em>soft key</em>) específica.</li>
</ul>
</li>
</ul>
<p>E aqui aparece mais um objecto, o <em>MenuItem</em>, que tem a seguinte estrutura:</p>
<ul>
<li>Propriedades
<ul>
<li><strong>text</strong> &#8211; O texto a apresentar neste item</li>
</ul>
</li>
<li>Eventos
<ul>
<li><strong>onSelect</strong> &#8211; Ocorre quando o item é seleccionado</li>
</ul>
</li>
</ul>
<p>Utilizando agora estes conceitos, vamos criar um novo item &#8220;About&#8221; para o nosso menu:</p>
<pre class="brush: xml; highlight: [10,11,12,13,14,15,16]; title: ; notranslate">&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Hello World&lt;/title&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;resources.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
window.onload = function() {
 HelloWorldLabel.innerText = Resources.HelloWorldText;
};

var menu = widget.menu;
var aboutMenuItem = menu.createMenuItem(1001);
aboutMenuItem.text = &quot;About&quot;;
aboutMenuItem.onSelect = function() {
 alert(widget.name + &quot; v&quot; + widget.version);
};
menu.setSoftKey(aboutMenuItem, menu.leftSoftKeyIndex);
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p id=&quot;HelloWorldLabel&quot;&gt;&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>A imagem seguinte mostrar o resultado obtido; reparem bem na tecla (soft key) da esquerda:</p>
<p><img class="alignnone size-full wp-image-1097" title="Hello World Widget custom Menu" src="http://www.pedrolamas.com/wp-content/uploads/2009/11/Hello-World-Widget-custom-Menu.jpg" alt="Hello World Widget custom Menu" width="282" height="362" /></p>
<p>Podem <a href="http://www.pedrolamas.com/2009/11/13/windows-mobile-widgets-parte-4/hello-world-2/">aqui</a> encontrar o ficheiro &#8220;Hello World.wgt&#8221; com o resultado das alterações&#8230; e até à próxima! <img src='http://www.pedrolamas.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>]]></content:encoded>
			<wfw:commentRss>http://www.pedrolamas.com/2009/11/13/windows-mobile-widgets-parte-4/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Microsoft actualiza SDK para o Facebook</title>
		<link>http://www.pedrolamas.com/2009/11/12/microsoft-actualiza-sdk-para-o-facebook/</link>
		<comments>http://www.pedrolamas.com/2009/11/12/microsoft-actualiza-sdk-para-o-facebook/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 17:48:15 +0000</pubDate>
		<dc:creator>Pedro Lamas</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Facebook SDK]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[SDK]]></category>

		<guid isPermaLink="false">http://www.pedrolamas.com/?p=1083</guid>
		<description><![CDATA[TweetA Microsoft lançou uma nova versão do Facebook SDK! A actual versão 3.0 permite a ligação do Facebook através de várias tencnologias, como por exemplo o WPF, o Silverlight e o ASP.NET MVC. Este é um SDK disponibilizado totalmente em &#8230; <a href="http://www.pedrolamas.com/2009/11/12/microsoft-actualiza-sdk-para-o-facebook/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px; clear: right;"><a href="http://twitter.com/share?url=http://www.pedrolamas.com/2009/11/12/microsoft-actualiza-sdk-para-o-facebook/&via=pedrolamas&text=Microsoft actualiza SDK para o Facebook&related=pedrolamas:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p><a href="http://msdn.microsoft.com/en-us/windows/ee388574.aspx"><img class="alignright size-full wp-image-1084" title="Microsoft &amp; Facebook" src="http://www.pedrolamas.com/wp-content/uploads/2009/11/Microsoft-Facebook.jpg" alt="Microsoft &amp; Facebook" width="150" height="117" /></a>A Microsoft lançou uma nova versão do <a href="http://msdn.microsoft.com/en-us/windows/ee388574.aspx" target="_blank">Facebook <acronym title="Software Development Kit">SDK</acronym></a>! A actual versão 3.0 permite a ligação do Facebook através de várias tencnologias, como por exemplo o <acronym title="Windows Presentation Foundation">WPF</acronym>, o Silverlight e o <acronym title="Active Server Page">ASP</acronym>.NET MVC.</p>
<p>Este é um <acronym title="Software Development Kit">SDK</acronym> disponibilizado totalmente em &#8220;código aberto&#8221; no <a href="http://facebooktoolkit.codeplex.com/" target="_blank">CodePlex</a>, e apesar de ter sido inicialmente desenvolvido pela <a href="http://www.claritycon.com/" target="_blank">Clarity Consulting</a>, não deixa de ser curioso a clara ligação e interesse da Microsoft no <a href="http://www.facebook.com" target="_blank">Facebook</a> (ver os caso da Xbox, já <a href="http://www.pedrolamas.com/2009/10/20/actualizacao-da-xbox-360-ja-em-testes/">aqui</a> falado anteriormente, e do Windows Mobile)&#8230;</p>]]></content:encoded>
			<wfw:commentRss>http://www.pedrolamas.com/2009/11/12/microsoft-actualiza-sdk-para-o-facebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Mobile Widgets &#8211; Parte 3</title>
		<link>http://www.pedrolamas.com/2009/10/12/windows-mobile-widgets-parte-3/</link>
		<comments>http://www.pedrolamas.com/2009/10/12/windows-mobile-widgets-parte-3/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 15:41:44 +0000</pubDate>
		<dc:creator>Pedro Lamas</dc:creator>
				<category><![CDATA[Widgets]]></category>
		<category><![CDATA[Mobilidade]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[Windows Mobile 6.5]]></category>
		<category><![CDATA[Windows Mobile Widgets]]></category>

		<guid isPermaLink="false">http://www.pedrolamas.com/?p=968</guid>
		<description><![CDATA[TweetContinuando a &#8220;saga&#8221; do desenvolvimento de Windows Mobile Widgets, este terceiro artigo vai focar o manifesto dos Widgets, mostrando para que serve e como o podemos utilizar para nosso próprio proveito. O manifesto de um Widget para Windows Mobile tem &#8230; <a href="http://www.pedrolamas.com/2009/10/12/windows-mobile-widgets-parte-3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px; clear: right;"><a href="http://twitter.com/share?url=http://www.pedrolamas.com/2009/10/12/windows-mobile-widgets-parte-3/&via=pedrolamas&text=Windows Mobile Widgets - Parte 3&related=pedrolamas:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p>Continuando a &#8220;saga&#8221; do desenvolvimento de <a href="http://www.pedrolamas.com/tag/windows-mobile-widgets/">Windows Mobile Widgets</a>, este terceiro artigo vai focar o manifesto dos Widgets, mostrando para que serve e como o podemos utilizar para nosso próprio proveito.</p>
<p>O manifesto de um Widget para Windows Mobile tem obrigatoriamente o nome de &#8220;<em><strong>config.xml</strong></em>&#8221; e obedece ao standard definido pelo <a href="http://www.w3.org/TR/2008/WD-widgets-20081222/" target="_blank">draft para desenho de Widgets da <acronym title="World Wide Web Consortium">W3C</acronym>, de 22 Dezembro de 2008</a>. Este standard é um rascunho (draft) do que é pretendido para a versão final; no entanto, no seu aspecto base é garantida pelo Windows Mobile a retro-compatibilidade das próximas versões com as mais antigas.</p>
<p><span id="more-968"></span></p>
<p>Este manifesto, tal como o nome do ficheiro indica, não é nada mais do que texto <acronym title="Extensible Markup Language">XML</acronym> que descreve &#8220;quem&#8221; o nosso Widget realmente é!</p>
<p>Assim, e pegando novamente no exemplo Hello World que venho a apresentar desde o primeiro artigo, o manifesto completo para este Widget poderia ser algo deste tipo:</p>
<pre class="brush: xml; title: ; notranslate">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;widget xmlns=&quot;http://www.w3.org/ns/widgets&quot; id=&quot;http://www.pedrolamas.com/WindowsMobileWidgets/HelloWorld&quot; version=&quot;1.0&quot;&gt;
&lt;name&gt;Hello World&lt;/name&gt;
&lt;content src=&quot;default.htm&quot; type=&quot;text/html&quot; /&gt;
&lt;access network=&quot;false&quot; /&gt;
&lt;icon src=&quot;icon.png&quot; /&gt;
&lt;icon src=&quot;icon.ico&quot; /&gt;
&lt;description&gt;
Hello World Demo Application!
&lt;/description&gt;
&lt;author href=&quot;http://www.pedrolamas.com&quot; email=&quot;pedrolamas@gmail.com&quot;&gt;
Pedro Lamas
&lt;/author&gt;
&lt;license&gt;
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
&lt;/license&gt;
&lt;/widget&gt;</pre>
<p>Começando pela raiz do documento <acronym title="Extensible Markup Language">XML</acronym>, vemos que dentro do elemento <strong>widget</strong> podemos encontrar os seguintes atributos:</p>
<ul>
<li><strong>id</strong> &#8211; Este é o identificador único para este Widget, e permite que em futuras instalações deste mesmo Widget (com o mesmo id), sejam comparadas as versões, permitindo assim  que este seja actualizado. O seu conteúdo é obrigatoriamente um <acronym title="Uniform Resource Identifier">URI</acronym> válido</li>
<li><strong>version</strong> &#8211; A versão do Widget</li>
</ul>
<p>Passamos agora aos elementos internos:</p>
<ul>
<li><strong>name</strong> &#8211; O nome do Widget, que entre outras coisas será utilizado ao criar um atalho no Start</li>
<li><strong>content</strong> &#8211; Identifica o conteúdo do Widget e tem os seguintes atributos:
<ul>
<li> <strong>src</strong> &#8211; O ficheiro de arranque do Widget</li>
<li> <strong>type</strong> &#8211; O tipo de conteúdo <acronym title="Multipurpose Internet Mail Extensions">MIME</acronym> do ficheiro de arranque</li>
</ul>
</li>
<li><strong>access</strong> &#8211; Os acessos que este Widget irá necessitar, apresentando os seguintes atributos:
<ul>
<li> <strong>network</strong> &#8211; Indica que o Widget precisa de acesso à internet; em caso afirmativo, será apresentado um aviso ao utilizador para que este dê efectivamente o acesso</li>
</ul>
</li>
<li><strong>icon</strong> &#8211; Identifica um icon a ser apresentado no Widget, com estes atributos:
<ul>
<li> <strong>src</strong> &#8211; O ficheiro de imagem do icon propriamente dito</li>
</ul>
</li>
<li><strong>description</strong> &#8211; A descrição do Widget, apresentada por exemplo quando este é instalado</li>
<li><strong>author</strong> &#8211; O nome do autor do Widget, bem como os seguintes atributos:
<ul>
<li> <strong>href</strong> &#8211; Um endereço de internet, normalmente representando a página de suporte do Widget ou do seu autor</li>
<li> <strong>email</strong> &#8211; Um endereço de email, sendo normalmente o email de suporte do Widget ou do seu autor</li>
</ul>
</li>
<li><strong>license</strong> &#8211; A licença associada ao Widget</li>
</ul>
<p>De todo o manifesto, acho pessoalmente que o identificador (id) e versão (version) são os mais importantes e essenciais, já que é com base nestes dois atributos que o Windows Mobile nos permite efectuar actualizações aos nossos Widgets; assim, aconselho a que coloquem sempre um identificador bastante completo, de forma a garantir que este é verdadeiramente único.</p>
<p>Todo o manifesto do Widget pode ser acedido programaticamente através do modelo de objectos (Object Model) que os Widgets expõe para o Javascript, mas esse será o tema do próximo artigo&#8230; <img src='http://www.pedrolamas.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>]]></content:encoded>
			<wfw:commentRss>http://www.pedrolamas.com/2009/10/12/windows-mobile-widgets-parte-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Mobile Widgets &#8211; Parte 2</title>
		<link>http://www.pedrolamas.com/2009/08/21/windows-mobile-widgets-parte-2/</link>
		<comments>http://www.pedrolamas.com/2009/08/21/windows-mobile-widgets-parte-2/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 14:19:12 +0000</pubDate>
		<dc:creator>Pedro Lamas</dc:creator>
				<category><![CDATA[Widgets]]></category>
		<category><![CDATA[Mobilidade]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[Windows Mobile 6.5]]></category>
		<category><![CDATA[Windows Mobile Widgets]]></category>

		<guid isPermaLink="false">http://www.pedrolamas.com/?p=872</guid>
		<description><![CDATA[TweetNa continuação da série de artigos sobre Windows Mobile Widgets que tenho pensada, este segundo artigo focará em essencial como podemos &#8220;internacionalizar&#8221; os nossos Widgets, ou seja, como fazer para que a interface do Widget seja multi-língua (Localization), apresentando o &#8230; <a href="http://www.pedrolamas.com/2009/08/21/windows-mobile-widgets-parte-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px; clear: right;"><a href="http://twitter.com/share?url=http://www.pedrolamas.com/2009/08/21/windows-mobile-widgets-parte-2/&via=pedrolamas&text=Windows Mobile Widgets - Parte 2&related=pedrolamas:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p>Na continuação da série de artigos sobre <a href="http://www.pedrolamas.com/tag/windows-mobile-widgets/">Windows Mobile Widgets</a> que tenho pensada, este segundo artigo focará em essencial como podemos &#8220;internacionalizar&#8221; os nossos Widgets, ou seja, como fazer para que a interface do Widget seja multi-língua (<em>Localization</em>), apresentando o idioma correcto conforme as <em>Regional Settings</em> (Definições Regionais) do <acronym title="Personal Digital Assistant">PDA</acronym> onde ele estiver a ser executado.</p>
<p><span id="more-872"></span></p>
<p>A localização da interface de Widgets consiste em dividir a aplicação em &#8220;recursos&#8221;, sejam eles imagens, javascript, ou outros tipos de ficheiros, e colocar cópias desses recursos devidamente localizados em pastas individuais que indicam qual o idioma (<em>Locale</em>).</p>
<p>Antes de mais, há que perceber o conceito de <em>Locale ID</em> (ou LCID): trata-se de um código que identifica o idioma utilizado num dado elemento. Os códigos LCID que podem ser utilizados nos Widgets do Windows Mobile podem ser consultados <a href="http://msdn.microsoft.com/en-us/goglobal/bb896001.aspx" target="_blank">aqui</a>.</p>
<p>Utilizando por base o exemplo &#8220;Hello World&#8221; apresentado no artigo anterior, para que o interface deste widget tenha suporte para multi-língua, teremos de remover o texto da própria interface e fazer com que este seja carregado dinamicamente de um ficheiro javascript (.js), ficheiro este que será posteriormente replicado para as línguas que pretendermos. Assim, o primeiro passo será criar o ficheiro &#8220;<em><strong>resources.js</strong></em>&#8221; com os recursos do nosso Widget:</p>
<pre class="brush: jscript; title: ; notranslate">var Resources = {
 HelloWorldText: &quot;Hello World&quot;
};</pre>
<p>De seguida, vamos alterar o ficheiro de interface &#8220;<em><strong>default.htm</strong></em>&#8221; para que este consuma o ficheiro de recursos:</p>
<pre class="brush: xml; highlight: [4,5,6,7,8,9,12]; title: ; notranslate">&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Hello World&lt;/title&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;resources.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
window.onload = function() {
 HelloWorldLabel.innerText = Resources.HelloWorldText;
};
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p id=&quot;HelloWorldLabel&quot;&gt;&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>As linhas marcadas acima indicam os locais em que o ficheiro original foi alterado.</p>
<p>Para efeitos de exemplo, vamos fazer agora a tradução dos recursos para Português de Portugal. Para isso, vamos criar directamente na raiz do nosso Widget uma nova pasta e dar-lhe o nome de &#8220;<em><strong>pt</strong></em>&#8220;; depois criamos uma cópia do ficheiro &#8220;<em>resources.js</em>&#8221; dentro da pasta &#8220;<em>pt</em>&#8220;. Falta agora modificar o conteúdo do ficheiro, traduzindo os textos para a língua correcta, sendo o resultado final como o seguinte:</p>
<pre class="brush: jscript; highlight: [2]; title: ; notranslate">var Resources = {
 HelloWorldText: &quot;Olá Mundo&quot;
};</pre>
<p>Esta é a estrutura de ficheiros do nosso Widget já alterado:</p>
<p><img class="alignnone size-full wp-image-895" title="Hello World localized files" src="http://www.pedrolamas.com/wp-content/uploads/2009/08/Hello-World-localized-files.jpg" alt="Hello World localized files" width="508" height="339" /></p>
<p>Falta apenas empacotar os ficheiros seguindo as indicações do <a href="http://www.pedrolamas.com/2009/07/25/windows-mobile-widgets-parte-1/">primeiro artigo</a>, instalar e testar!</p>
<p>Para correctamente podermos ver o nosso Widget em Português, teremos que indicar ao <acronym title="Personal Digital Assistant">PDA</acronym> que pretendemos utilizar as Definições Regionais de Portugal, utilizando para isso as opções que podemos encontram em <em>Start \ Settings \ System \ Regional Settings</em>, e alterando as definições tal como mostra a imagem seguinte:</p>
<p><a href="http://www.pedrolamas.com/wp-content/uploads/2009/08/Regional-Settings.jpg"><img class="alignnone size-full wp-image-897" title="Regional Settings" src="http://www.pedrolamas.com/wp-content/uploads/2009/08/Regional-Settings.jpg" alt="Regional Settings" width="276" height="356" /></a></p>
<p>Irá aparecer um aviso para reiniciar o <acronym title="Personal Digital Assistant">PDA</acronym>, que no nosso caso poderá ser ignorado visto que para a execução de Widgets a alteração das Definições Regionais são imediatas.</p>
<p>De seguida executando o Widget, poderemos ver a interface em Português de Portugal tal como pretendiamos:</p>
<p><a href="http://www.pedrolamas.com/wp-content/uploads/2009/08/Hello-World-Widget-running-localized.jpg"><img class="alignnone size-full wp-image-898" title="Hello World Widget running localized" src="http://www.pedrolamas.com/wp-content/uploads/2009/08/Hello-World-Widget-running-localized.jpg" alt="Hello World Widget running localized" width="276" height="356" /></a></p>
<p>Podem <a href="http://www.pedrolamas.com/2009/07/25/windows-mobile-widgets-parte-2/localized-hello-world/">aqui</a> descarregar o ficheiro &#8220;Localized Hello World.wgt&#8221; que tem o resultado desta demonstração&#8230; encontramo-nos no próximo artigo! <img src='http://www.pedrolamas.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>]]></content:encoded>
			<wfw:commentRss>http://www.pedrolamas.com/2009/08/21/windows-mobile-widgets-parte-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Web Services Sapo</title>
		<link>http://www.pedrolamas.com/2009/08/19/web-services-sapo/</link>
		<comments>http://www.pedrolamas.com/2009/08/19/web-services-sapo/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 11:31:56 +0000</pubDate>
		<dc:creator>Pedro Lamas</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[Sapo]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://www.pedrolamas.com/?p=881</guid>
		<description><![CDATA[TweetQuantas vezes tivemos a necessidade de incluir numa qualquer aplicação que estamos a desenvolver um Web Service, e andamos à procura na Internet e nada? Ontem encontrei um catálogo com serviços que vão desde a simples pesquisa na internet ou &#8230; <a href="http://www.pedrolamas.com/2009/08/19/web-services-sapo/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px; clear: right;"><a href="http://twitter.com/share?url=http://www.pedrolamas.com/2009/08/19/web-services-sapo/&via=pedrolamas&text=Web Services Sapo&related=pedrolamas:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><p><a href="http://services.sapo.pt/"><img class="alignright size-full wp-image-884" title="Sapo" src="http://www.pedrolamas.com/wp-content/uploads/2009/08/Sapo.jpg" alt="Sapo" width="150" height="120" /></a>Quantas vezes tivemos a necessidade de incluir numa qualquer aplicação que estamos a desenvolver um Web Service, e andamos à procura na Internet e nada?</p>
<p>Ontem encontrei um <a href="http://services.sapo.pt/" target="_blank">catálogo</a> com serviços que vão desde a simples <a href="http://services.sapo.pt/Metadata/Service/Search?culture=PT" target="_blank">pesquisa na internet</a> ou <a href="http://services.sapo.pt/Metadata/Service/News?culture=PT" target="_blank">listagem de notícias</a>, até algo mais complexo como obter <a href="http://services.sapo.pt/Metadata/Service/Traffic?culture=PT" target="_blank">informações do trânsito</a> ou procurar <a href="http://services.sapo.pt/Metadata/Service/Pharmacy?culture=PT" target="_blank">farmácias de serviço</a>, etc.; são mais de 30 serviços alojados e mantidos directamente pelo <a href="http://www.sapo.pt" target="_blank">Sapo</a>!</p>
<p>Estes Web Services estão disponíveis para utilização não comercial e a sua continuidade não está garantida pela PTC, mas só o facto de existirem e de facilmente poderem ser utilizados por qualquer programador, é já uma grande ajuda, e mais não seja servem como ferramentas de testes!</p>]]></content:encoded>
			<wfw:commentRss>http://www.pedrolamas.com/2009/08/19/web-services-sapo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

