<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>João Filipe Rocha</title><link>http://pontonetpt.com/blogs/jf_rocha/default.aspx</link><description>Tudo sobre IT e .NET em Particular</description><language>pt</language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><image><url>http://www.feedburner.com/fb/images/pub/fb_pwrd.gif</url></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/JoaoFilipeRocha" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Google Javascript Tools</title><link>http://feedproxy.google.com/~r/JoaoFilipeRocha/~3/zia9kQwM79w/google-javascript-tools.aspx</link><category>Google</category><category>JavaScript</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">João Filipe Rocha</dc:creator><pubDate>Fri, 06 Nov 2009 08:47:00 PST</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:38243</guid><description>&lt;p&gt;&lt;img class="alignnone" title="Google Closure" src="http://code.google.com//closure/images/logo128px.png" height="99" width="99" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;

Cada vez o desenvolvimento Web apresenta novos desafios na forma e no volume de dados que s&amp;atilde;o transmitidos entre servidor e cliente. A Google lan&amp;ccedil;ou um pacote denominado &lt;a href="http://code.google.com/closure/" target="_blank"&gt;Clouse Tools&lt;/a&gt;, que tem como objectivo auxiliar o trabalho dos programadores Web na tarefa de optimizar e gerir os pedidos entre servidor e cliente.

Este Pacote &amp;eacute; composto por tr&amp;ecirc;s novos produtos que facilitam o desenvolvimento em Javascript, s&amp;atilde;o eles:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Clousure Compiler&lt;/b&gt; - Um editor de JavaScript que optimiza o JavaScript colocando-o de forma a pesar o menos poss&amp;iacute;vel em cada pedido. Podemos experimentar este produto &lt;a href="http://closure-compiler.appspot.com/home" target="_blank"&gt;aqui&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Clousere Library&lt;/b&gt; - Um &lt;a href="http://closure-library.googlecode.com/svn/trunk/closure/goog/docs/index.html" target="_blank"&gt;biblioteca&lt;/a&gt; que contem varias funcionalidades usadas nos produtos da Google. Esta biblioteca permite o acesso modular a widgets, controlos, manipula&amp;ccedil;&amp;atilde;o de DOM, anima&amp;ccedil;&amp;atilde;o, structuras de dados,     testes unit&amp;aacute;rios, edi&amp;ccedil;&amp;atilde;o rica de texto, etc.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Closure Templates &lt;/b&gt;- &lt;a href="http://code.google.com/closure/templates/docs/overview.html" target="_blank"&gt;Gerador&lt;/a&gt; de HTML  para criar interfaces que foi implementado para trabalhar em JavaScript e Java.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cross Posted from &lt;a target="_self" href="http://jf_rocha.xtreemhost.com/2009/11/google-javascript-tools/"&gt;http://jf_rocha.xtreemhost.com/2009/11/google-javascript-tools/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=38243" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XMYJ0-DC5a86V_rb01N95HUtPNU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XMYJ0-DC5a86V_rb01N95HUtPNU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/XMYJ0-DC5a86V_rb01N95HUtPNU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XMYJ0-DC5a86V_rb01N95HUtPNU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JoaoFilipeRocha/~4/zia9kQwM79w" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/jf_rocha/rsscomments.aspx?PostID=38243</wfw:commentRss><feedburner:origLink>http://pontonetpt.com/blogs/jf_rocha/archive/2009/11/06/google-javascript-tools.aspx</feedburner:origLink></item><item><title>Visual Studio 2010 Beta 2 ja saiu</title><link>http://feedproxy.google.com/~r/JoaoFilipeRocha/~3/1X5tJi687OQ/visual-studio-2010-beta-2-ja-saiu.aspx</link><category>Sharepoint Microsoft</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">João Filipe Rocha</dc:creator><pubDate>Tue, 20 Oct 2009 09:02:00 PDT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:38154</guid><description>&lt;div style="background-color:darkblue;" dir="ltr"&gt;&lt;img class="alignnone" title="Visual Studio 2010" src="http://i.msdn.microsoft.com/Platform/Controls/MastheadMSDN/resources/logo_vstudio.png" width="155" height="23" alt="" /&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;Finalmente o Visual Studio 2010 fornece a t&amp;atilde;o desejada alternativa para a cria&amp;ccedil;&amp;atilde;o de aplica&amp;ccedil;&amp;otilde;es em SharePoint em vez do SharePoint Designer.&lt;/div&gt;
&lt;div dir="ltr"&gt;Visual Studio promove o desenvolvimento r&amp;aacute;pido do SharePoint, fornecendo recursos como ferramentas de debug avan&amp;ccedil;adas, IntelliSense,  e modelos de projeto.&lt;/div&gt;
&lt;div dir="ltr"&gt;Visual Studio tamb&amp;eacute;m tira proveito das novas funcionalidades da .NET Framework tais como LINQ e REST para melhorar o desenvolvimento em Sharepoint.&lt;/div&gt;
&lt;div dir="ltr"&gt;&lt;!--more--&gt;Aqui ficam alguns guide-lines para desenvolver aplica&amp;ccedil;&amp;otilde;es em Sharepoint com o Visual Studio 2010
&lt;p style="margin-bottom:2px;"&gt;&lt;b&gt;Passo a Passo
&lt;/b&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a id="ctl00_mainContentContainer_ctl09" href="http://msdn.microsoft.com/en-us/library/ee231604%28VS.100%29.aspx"&gt;Adicionar Feature Event Receivers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a id="ctl00_mainContentContainer_ctl10" href="http://msdn.microsoft.com/en-us/library/ee231593%28VS.100%29.aspx"&gt;Crear um Campo Customizado, Content Type, List Definition e List Instance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a id="ctl00_mainContentContainer_ctl11" href="http://msdn.microsoft.com/en-us/library/ee231583%28VS.100%29.aspx"&gt;Create a Site Definition Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a id="ctl00_mainContentContainer_ctl12" href="http://msdn.microsoft.com/en-us/library/ee231580%28VS.100%29.aspx"&gt;Importar um Workflow para o  Visual Studio 2010&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a id="ctl00_mainContentContainer_ctl13" href="http://msdn.microsoft.com/en-us/library/ee231603%28VS.100%29.aspx"&gt;Importar Conteudos  de um Site SharePoint &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a id="ctl00_mainContentContainer_ctl14" href="http://msdn.microsoft.com/en-us/library/ee231551%28VS.100%29.aspx"&gt;Criar uma Web Part para SharePoint&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a id="ctl00_mainContentContainer_ctl15" href="http://msdn.microsoft.com/en-us/library/ee231546%28VS.100%29.aspx"&gt;Criar uma Web Part para SharePoint utilizando um Designer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a id="ctl00_mainContentContainer_ctl17" href="http://msdn.microsoft.com/en-us/library/ee231590%28VS.100%29.aspx"&gt;Criar uma actividade de Workflow
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a id="ctl00_mainContentContainer_ctl17" href="http://msdn.microsoft.com/en-us/library/ee231590%28VS.100%29.aspx"&gt;Criar um Workflow com Associa&amp;ccedil;&amp;atilde;o e Inicializa&amp;ccedil;&amp;atilde;o de Formularios&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a id="ctl00_mainContentContainer_ctl19" href="http://msdn.microsoft.com/en-us/library/ee231598%28VS.100%29.aspx"&gt;Efectuar Debug numa solu&amp;ccedil;&amp;atilde;o de Workflow em SharePoint
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a id="ctl00_mainContentContainer_ctl19" href="http://msdn.microsoft.com/en-us/library/ee231598%28VS.100%29.aspx"&gt;Adicionar uma Pagina a um Workflow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a id="ctl00_mainContentContainer_ctl21" href="http://msdn.microsoft.com/en-us/library/ee231515%28VS.100%29.aspx"&gt;Criar uma Pagina de uma Aplica&amp;ccedil;&amp;atilde;o
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a id="ctl00_mainContentContainer_ctl21" href="http://msdn.microsoft.com/en-us/library/ee231515%28VS.100%29.aspx"&gt;Ligar uma Lista Externa com uma Lista de SharePoint utilizando o Using Business Data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a id="ctl00_mainContentContainer_ctl22" href="http://msdn.microsoft.com/en-us/library/ee231526%28VS.100%29.aspx"&gt;Instalar um projecto com Task List Definitions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="margin-bottom:2px;"&gt;&lt;b&gt;Como fazer...&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a id="ctl00_mainContentContainer_ctl23" href="http://msdn.microsoft.com/en-us/library/ee231571%28VS.100%29.aspx"&gt;Adicionar e Removr  Features de um  Pacote utilizando o Package Designer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a id="ctl00_mainContentContainer_ctl24" href="http://msdn.microsoft.com/en-us/library/ee231549%28VS.100%29.aspx"&gt;Adicionar e Remover  SharePoint Connections&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a id="ctl00_mainContentContainer_ctl25" href="http://msdn.microsoft.com/en-us/library/ee231601%28VS.100%29.aspx"&gt;Criar um Modelo BDC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a id="ctl00_mainContentContainer_ctl26" href="http://msdn.microsoft.com/en-us/library/ee231563%28VS.100%29.aspx"&gt;Criar um Event Receiver&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a id="ctl00_mainContentContainer_ctl27" href="http://msdn.microsoft.com/en-us/library/ee231599%28VS.100%29.aspx"&gt;Customizar uma Feature &lt;/a&gt;&lt;a id="ctl00_mainContentContainer_ctl27" href="http://msdn.microsoft.com/en-us/library/ee231599%28VS.100%29.aspx"&gt;SharePoin &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
Cross-posted from http://jf_rocha.xtreemhost.com/2009/10/visual-studio-2010-beta-2-ja-saiu/&lt;span id="sample-permalink"&gt;&lt;/span&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=38154" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/spyrmEbaDZYJU1RYwn-zwP67d3M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/spyrmEbaDZYJU1RYwn-zwP67d3M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/spyrmEbaDZYJU1RYwn-zwP67d3M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/spyrmEbaDZYJU1RYwn-zwP67d3M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JoaoFilipeRocha/~4/1X5tJi687OQ" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/jf_rocha/rsscomments.aspx?PostID=38154</wfw:commentRss><feedburner:origLink>http://pontonetpt.com/blogs/jf_rocha/archive/2009/10/20/visual-studio-2010-beta-2-ja-saiu.aspx</feedburner:origLink></item><item><title>Controlar o Windows com a face</title><link>http://feedproxy.google.com/~r/JoaoFilipeRocha/~3/pFLP1VGJAmg/controlar-o-windows-com-a-face.aspx</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">João Filipe Rocha</dc:creator><pubDate>Thu, 15 Oct 2009 08:07:00 PDT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:38102</guid><description>&lt;p&gt;&lt;img class="alignnone" title="ViaCam" src="http://eviacam.sourceforge.net/viacam_cam4_html.png" width="120" height="96" alt="" /&gt;

Parece fic&amp;ccedil;&amp;atilde;o cientifica, mas trata-se de um &lt;a href="http://sourceforge.net/projects/eviacam/files/eviacam/1.1/eViacam-1.1.exe/download" target="_blank"&gt;software&lt;/a&gt; que efectua o reconhecimento facial e move o cursor do rato quando movemos a nossa cabe&amp;ccedil;a.


Este software funciona num PC normal com um webcam, e foi desenvolvido para auxiliar pessoas com defici&amp;ecirc;ncia motora, ou paralisia. O software ainda permite configurar alguns movimentos faciais que possam se configurados com eventos do rato, como o double-click ou a selecc&amp;ccedil;&amp;atilde;o de texto.

Aqui esta um video de exemplo:







&lt;/p&gt;
&lt;p&gt;Cross-posted from &lt;a href="http://jf_rocha.xtreemhost.com/2009/10/controlar-o-windows-com-a-face/"&gt;http://jf_rocha.xtreemhost.com/2009/10/controlar-o-windows-com-a-face/&lt;/a&gt;

&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=38102" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/X_hUhI99-BGAZY3tErKSmFarp18/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/X_hUhI99-BGAZY3tErKSmFarp18/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/X_hUhI99-BGAZY3tErKSmFarp18/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/X_hUhI99-BGAZY3tErKSmFarp18/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JoaoFilipeRocha/~4/pFLP1VGJAmg" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/jf_rocha/rsscomments.aspx?PostID=38102</wfw:commentRss><feedburner:origLink>http://pontonetpt.com/blogs/jf_rocha/archive/2009/10/15/controlar-o-windows-com-a-face.aspx</feedburner:origLink></item><item><title>Esconder campos nos Formulários do MOSS 2007</title><link>http://feedproxy.google.com/~r/JoaoFilipeRocha/~3/vrGvYZEs9g0/esconder-campos-nos-formul-225-rios-do-moss-2007.aspx</link><category>Sharepoint</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">João Filipe Rocha</dc:creator><pubDate>Sat, 10 Oct 2009 11:28:00 PDT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:37949</guid><description>&lt;p&gt;&lt;img src="http://www.infowise.co.il/core/images/MOSS%20Connected%20fields/MOSS%20Connected%20Fields2.JPG" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;As Listas do MOSS 2007 contem uma estrutura hier&amp;aacute;rquica dos conjuntos de campos (Content Types) que estas cont&amp;ecirc;m, como exemplo ao criamos um Calendar Lits&amp;nbsp; esta lista vai herdar os campos do Content Tyepe Event.&lt;/p&gt;
&lt;p&gt;No entanto podemos criar os nossos Content Types que v&amp;atilde;o ter sempre um Content Type &amp;quot;pai&amp;quot; ao qual v&amp;atilde;o herdar os campos. Esta situa&amp;ccedil;&amp;atilde;o pode levar a exibi&amp;ccedil;&amp;atilde;o de campos a mais nos formul&amp;aacute;rios de cria&amp;ccedil;&amp;atilde;o (NewForm.aspx), Visualiza&amp;ccedil;&amp;atilde;o (DispForm.aspx) e Edi&amp;ccedil;&amp;atilde;o (EditForm.aspx).&lt;/p&gt;
&lt;p&gt;Para esconder campos de um formul&amp;aacute;rio de edi&amp;ccedil;&amp;atilde;o de conte&amp;uacute;do de listas, temos de alterar os respectivos formul&amp;aacute;rios da defini&amp;ccedil;&amp;atilde;o da lista.&lt;/p&gt;
&lt;p&gt;Se estiverem a usar as extens&amp;otilde;es para o &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=FB9D4B85-DA2A-432E-91FB-D505199C49F6&amp;amp;displaylang=en" target="_blank"&gt;Visual Studio&amp;nbsp; do Windows SharePoint Services 3.0&lt;/a&gt; e est&amp;atilde;o usar uma Solu&amp;ccedil;&amp;atilde;o .WSP&amp;nbsp; para deploy das features no vossa Web Applcation, dever&amp;atilde;o editar em cada defini&amp;ccedil;&amp;atilde;o de lista os&amp;nbsp; formul&amp;aacute;rios&amp;nbsp; NewForm.aspx, DispForm.aspx e EditForm.aspx e na linha ap&amp;oacute;s a esta tag:&lt;/p&gt;
&lt;pre&gt;&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c71585;"&gt;asp&lt;/span&gt;:&lt;span style="color:#800000;"&gt;Content&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;ContentPlaceHolderId&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;rdquo;PlaceHolderMain&amp;rdquo;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;runat&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;rdquo;server&amp;rdquo;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;p&gt;Colocamos este codigo Javascript&lt;/p&gt;
&lt;pre&gt;&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;script&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;language&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;javascript&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;type&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;_spBodyOnLoadFunctionNames.push(&amp;quot;&lt;span style="color:#8b0000;"&gt;hideFields&lt;/span&gt;&amp;quot;);&lt;br /&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;span style="color:#0000ff;"&gt;function&lt;/span&gt; findacontrol(FieldName) {&lt;br /&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;   &lt;span style="color:#0000ff;"&gt;var&lt;/span&gt; arr = &lt;span style="color:#0000ff;"&gt;document&lt;/span&gt;.getElementsByTagName(&amp;quot;&lt;span style="color:#8b0000;"&gt;!&lt;/span&gt;&amp;quot;);&lt;br /&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;   &lt;span style="color:#008000;"&gt;// get all comments&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;   &lt;span style="color:#0000ff;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000ff;"&gt;var&lt;/span&gt; i=0;i &amp;lt; arr.&lt;span style="color:#0000ff;"&gt;length&lt;/span&gt;; i++ )&lt;br /&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;   {&lt;br /&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;      &lt;span style="color:#008000;"&gt;// now match the field name&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;      &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (arr[i].innerHTML.indexOf(FieldName) &amp;gt; 0)&lt;br /&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;      {         &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; arr[i];      }&lt;br /&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;   }&lt;br /&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;}&lt;br /&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;span style="color:#0000ff;"&gt;function&lt;/span&gt; hideFields() {&lt;br /&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;   &lt;span style="color:#0000ff;"&gt;var&lt;/span&gt; control = findacontrol(&amp;quot;&lt;span style="color:#8b0000;"&gt;Title&lt;/span&gt;&amp;quot;);&lt;br /&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;   control.parentNode.parentNode.style.display=&amp;quot;&lt;span style="color:#8b0000;"&gt;none&lt;/span&gt;&amp;quot;;&lt;br /&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;   control = findacontrol(&amp;quot;&lt;span style="color:#8b0000;"&gt;Document Link&lt;/span&gt;&amp;quot;);&lt;br /&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;   control.parentNode.parentNode.style.display=&amp;quot;&lt;span style="color:#8b0000;"&gt;none&lt;/span&gt;&amp;quot;;&lt;br /&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;   control = findacontrol(&amp;quot;&lt;span style="color:#8b0000;"&gt;PublishDate&lt;/span&gt;&amp;quot;);&lt;br /&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;   control.parentNode.parentNode.style.display=&amp;quot;&lt;span style="color:#8b0000;"&gt;none&lt;/span&gt;&amp;quot;;&lt;br /&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;}&lt;br /&gt;&lt;/pre&gt;
&lt;pre style="margin:0em;background-color:#ffffff;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;script&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;p&gt;Na fun&amp;ccedil;&amp;atilde;o &lt;b&gt;hideFields()&lt;/b&gt; definimos os campos a esconder. Se quisrem testar logo no site sem instalar a feature, abram o Sharepoint Designer e na estrutura do site escolham a vossa lista e abaixo na pasta Forms editem da mesma forma os respectivos formularios.&lt;/p&gt;
&lt;pre&gt;Cross-Posted from [&lt;a target="_blank" href="http://jf_rocha.xtreemhost.com/2009/10/esconder-campos-nos-formulrios-do-moss-2007/"&gt;http://jf_rocha.xtreemhost.com/2009/10/esconder-campos-nos-formulrios-do-moss-2007/&lt;/a&gt;] &lt;br /&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=37949" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yN-4jd7TzMmg155hsIU_kkwJ1LI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yN-4jd7TzMmg155hsIU_kkwJ1LI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/yN-4jd7TzMmg155hsIU_kkwJ1LI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yN-4jd7TzMmg155hsIU_kkwJ1LI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JoaoFilipeRocha/~4/vrGvYZEs9g0" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/jf_rocha/rsscomments.aspx?PostID=37949</wfw:commentRss><feedburner:origLink>http://pontonetpt.com/blogs/jf_rocha/archive/2009/10/10/esconder-campos-nos-formul-225-rios-do-moss-2007.aspx</feedburner:origLink></item><item><title>Foi criada a Fundação CodePlex</title><link>http://feedproxy.google.com/~r/JoaoFilipeRocha/~3/oif12XZ2Kbs/foi-criada-a-funda-231-227-o-codeplex.aspx</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">João Filipe Rocha</dc:creator><pubDate>Thu, 10 Sep 2009 10:20:00 PDT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:36597</guid><description>&lt;p&gt;&lt;img src="http://codeplex.org/images/logo.gif" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;A funda&amp;ccedil;&amp;atilde;o &lt;a href="http://codeplex.org/index.aspx" target="_blank"&gt;CodePlex&lt;/a&gt; foi criada hoje com o objectivo de criar a interliga&amp;ccedil;&amp;atilde;o de c&amp;oacute;digo e software entre entidades comerciais e comunidades open-source.&lt;/p&gt;
&lt;p&gt;A funda&amp;ccedil;&amp;atilde;o &amp;eacute; dirigida pelos seguintes membros&amp;nbsp; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Sam Ramji, President&lt;/b&gt;      &lt;br /&gt;&lt;a href="mailto:sramji@codeplex.org"&gt;sramji@codeplex.org&lt;/a&gt;      &lt;br /&gt;&lt;a href="http://codeplex.org/board-of-directors.aspx#ramji"&gt;Biography&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Bill Staples, Vice President&lt;/b&gt;      &lt;br /&gt;Microsoft       &lt;br /&gt;&lt;a href="mailto:bills@codeplex.org"&gt;bills@codeplex.org&lt;/a&gt;      &lt;br /&gt;&lt;a href="http://codeplex.org/board-of-directors.aspx#staples"&gt;Biography&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Stephanie Davies Boesch, Secretary &amp;amp; Treasurer&lt;/b&gt;      &lt;br /&gt;Microsoft      &lt;br /&gt;&lt;a href="mailto:stephda@codeplex.org"&gt;stephda@codeplex.org&lt;/a&gt;      &lt;br /&gt;&lt;a href="http://codeplex.org/board-of-directors.aspx#boesch"&gt;Biography&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Miguel de Icaza&lt;/b&gt;      &lt;br /&gt;Novell      &lt;br /&gt;&lt;a href="mailto:miguel@codeplex.org"&gt;miguel@codeplex.org&lt;/a&gt;      &lt;br /&gt;&lt;a href="http://codeplex.org/board-of-directors.aspx#icaza"&gt;Biography&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;D. Britton Johnston&lt;/b&gt;      &lt;br /&gt;Microsoft       &lt;br /&gt;&lt;a href="mailto:brittj@codeplex.org"&gt;brittj@codeplex.org &lt;/a&gt;      &lt;br /&gt;&lt;a href="http://codeplex.org/board-of-directors.aspx#johnston"&gt;Biography&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Shaun Bruce Walker&lt;/b&gt;      &lt;br /&gt;DotNetNuke      &lt;br /&gt;&lt;a href="mailto:shaun.walker@codeplex.org"&gt;shaun.walker@codeplex.org&lt;/a&gt;      &lt;br /&gt;&lt;a href="http://codeplex.org/board-of-directors.aspx#walker"&gt;Biography&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cross-Posted [&lt;a target="_blank" href="http://jf_rocha.xtreemhost.com/2009/09/foi-criada-a-fundacao-codeplex/"&gt;http://jf_rocha.xtreemhost.com/2009/09/foi-criada-a-fundacao-codeplex/&lt;/a&gt;]&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=36597" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SAYsAIevJdgzdottOKqPubdBSng/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SAYsAIevJdgzdottOKqPubdBSng/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SAYsAIevJdgzdottOKqPubdBSng/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SAYsAIevJdgzdottOKqPubdBSng/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JoaoFilipeRocha/~4/oif12XZ2Kbs" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/jf_rocha/rsscomments.aspx?PostID=36597</wfw:commentRss><feedburner:origLink>http://pontonetpt.com/blogs/jf_rocha/archive/2009/09/10/foi-criada-a-funda-231-227-o-codeplex.aspx</feedburner:origLink></item><item><title>De volta ao Básico</title><link>http://feedproxy.google.com/~r/JoaoFilipeRocha/~3/daDsCCKOmuw/de-volta-ao-b-225-sico.aspx</link><category>Microsoft</category><category>Programming</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">João Filipe Rocha</dc:creator><pubDate>Thu, 10 Sep 2009 07:57:00 PDT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:36596</guid><description>&lt;p&gt;&lt;img src="http://i.msdn.microsoft.com/cc950524.SmallBasic_logo(en-us).png" style="max-width:550px;" border="0" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/devlabs/cc950524.aspx"&gt;Small Basic&lt;/a&gt; &amp;eacute; um projecto que quer levar a &amp;quot;divers&amp;atilde;o&amp;quot; de volta &amp;agrave;
programa&amp;ccedil;&amp;atilde;o. &lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Ao fornecer uma linguagem de
programa&amp;ccedil;&amp;atilde;o e f&amp;aacute;cil de aprender em num ambiente de desenvolvimento amistoso e convidativo, o
Small Basic torna a programa&amp;ccedil;&amp;atilde;o um divertimento.&lt;/p&gt;
&lt;p&gt; Ideal para crian&amp;ccedil;as e
adultos, Small Basic ajuda a dar o primeiro passo para o
maravilhoso mundo da programa&amp;ccedil;&amp;atilde;o.&lt;/p&gt;
&lt;p&gt;Cross-posted from [&lt;a target="_blank" href="http://jf_rocha.xtreemhost.com/2009/09/de-volta-ao-basico/"&gt;http://jf_rocha.xtreemhost.com/2009/09/de-volta-ao-basico/&lt;/a&gt;]&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=36596" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JEhrXES5FaCG0jEIcr9bFgR7XjA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JEhrXES5FaCG0jEIcr9bFgR7XjA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JEhrXES5FaCG0jEIcr9bFgR7XjA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JEhrXES5FaCG0jEIcr9bFgR7XjA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JoaoFilipeRocha/~4/daDsCCKOmuw" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/jf_rocha/rsscomments.aspx?PostID=36596</wfw:commentRss><feedburner:origLink>http://pontonetpt.com/blogs/jf_rocha/archive/2009/09/10/de-volta-ao-b-225-sico.aspx</feedburner:origLink></item><item><title>Alterar a Connection String para Membership/Profile/Role em run-time</title><link>http://feedproxy.google.com/~r/JoaoFilipeRocha/~3/WVqVxAzH8gc/alterar-a-connection-string-para-membership-profile-role-em-run-time.aspx</link><category>Microsoft</category><category>Programming</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">João Filipe Rocha</dc:creator><pubDate>Tue, 25 Aug 2009 04:41:00 PDT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:36527</guid><description>&lt;p&gt;&lt;img height="95" width="172" src="http://www.lifeinbits.org/img/small/stringphone.jpg" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;O sistema de autentica&amp;ccedil;&amp;atilde;o fornecido pela framework atrav&amp;eacute;s das classes de &lt;a target="_blank" href="http://aspnet.4guysfromrolla.com/articles/120705-1.aspx"&gt;Membership&lt;/a&gt; &amp;eacute; muito &amp;uacute;til e poupa bastante trabalho com a utiliza&amp;ccedil;&amp;atilde;o dos &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms178329.aspx"&gt;Login Controls&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Com a &lt;a target="_blank" href="http://www.4guysfromrolla.com/articles/040506-1.aspx"&gt;cria&amp;ccedil;&amp;atilde;o de tabelas&lt;/a&gt; numa base de dados, e uma simples configura&amp;ccedil;&amp;atilde;o do web.config, o Membership fica disponivel a ser utilizado, no entanto na configura&amp;ccedil;&amp;atilde;o do web.config temos que indicar o &lt;span style="text-decoration:underline;"&gt;nome&lt;/span&gt; da connection string para a base de dados onde o Membership fica instalado.&lt;/p&gt;
&lt;p&gt;Esta situa&amp;ccedil;&amp;atilde;o significa que ter&amp;iacute;amos que colocar a connection string em texto limpo no web.config, o que poderia ser perigoso.&lt;/p&gt;
&lt;p&gt;Para alterar a connection string para o &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx"&gt;Membership&lt;/a&gt; em run-time basta criar um provider com o override ao metodo Initialize:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;width:97.5%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;max-height:200px;font-size:8pt;overflow:auto;cursor:text;border:silver 1px solid;padding:4px;"&gt;
&lt;div id="codeSnippet" style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;
&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum1" style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;namespace&lt;/span&gt; DAL&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum2" style="color:#606060;"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum3" style="color:#606060;"&gt;   3:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; MeuMembershipProvider : SqlMembershipProvider&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum4" style="color:#606060;"&gt;   4:&lt;/span&gt;     {&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum5" style="color:#606060;"&gt;   5:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;override&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Initialize(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; name, System.Collections.Specialized.NameValueCollection config)&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum6" style="color:#606060;"&gt;   6:&lt;/span&gt;         {&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum7" style="color:#606060;"&gt;   7:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;base&lt;/span&gt;.Initialize(name, config);&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum8" style="color:#606060;"&gt;   8:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum9" style="color:#606060;"&gt;   9:&lt;/span&gt;             &lt;span style="color:#008000;"&gt;// obter a connection string cifrada por exemplo.&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum10" style="color:#606060;"&gt;  10:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; connectionString = MeuDecifrador(ConfigurationManager.ConnectionStrings[&lt;span style="color:#006080;"&gt;&amp;quot;conn&amp;quot;&lt;/span&gt;].ConnectionString);&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum11" style="color:#606060;"&gt;  11:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum12" style="color:#606060;"&gt;  12:&lt;/span&gt;             &lt;span style="color:#008000;"&gt;// alterar a propriedade do Membership provider.&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum13" style="color:#606060;"&gt;  13:&lt;/span&gt;             FieldInfo connectionStringField = GetType().BaseType.GetField(&lt;span style="color:#006080;"&gt;&amp;quot;_sqlConnectionString&amp;quot;&lt;/span&gt;, BindingFlags.Instance | BindingFlags.NonPublic);&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum14" style="color:#606060;"&gt;  14:&lt;/span&gt;             connectionStringField.SetValue(&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;, connectionString);&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum15" style="color:#606060;"&gt;  15:&lt;/span&gt;         }&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum16" style="color:#606060;"&gt;  16:&lt;/span&gt;     }&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum17" style="color:#606060;"&gt;  17:&lt;/span&gt;     &lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum18" style="color:#606060;"&gt;  18:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;e no web.config basta colocar a configura&amp;ccedil;&amp;atilde;o a apontar para a classe que serve de provider ao membership.&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;width:97.5%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;max-height:200px;font-size:8pt;overflow:auto;cursor:text;border:silver 1px solid;padding:4px;"&gt;
&lt;div id="codeSnippet" style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;
&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum1" style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;membership&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;defaultProvider&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;MeuMembershipProvider&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum2" style="color:#606060;"&gt;   2:&lt;/span&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;providers&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum3" style="color:#606060;"&gt;   3:&lt;/span&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;clear&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum4" style="color:#606060;"&gt;   4:&lt;/span&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;add&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;MeuMembershipProvider&amp;quot;&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum5" style="color:#606060;"&gt;   5:&lt;/span&gt;               &lt;span style="color:#ff0000;"&gt;type&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;MeuNamespace.MeuMembershipProvider, Minha Assembly&amp;quot;&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum6" style="color:#606060;"&gt;   6:&lt;/span&gt;               &lt;span style="color:#ff0000;"&gt;connectionStringName&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Nome ficticio para a connection string que nunca vai ser utilizado&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum7" style="color:#606060;"&gt;   7:&lt;/span&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;providers&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum8" style="color:#606060;"&gt;   8:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;membership&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Para o Role e Profile o procedimento &amp;eacute; exactamente o mesmo mas herdando as classes &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/system.web.security.sqlroleprovider.aspx"&gt;SqlRoleProvider&lt;/a&gt; e &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/system.web.profile.sqlprofileprovider.aspx"&gt;SqlProfileProvider&lt;/a&gt; respectivamente.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=36527" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/i6udGhZf-myosN23YU9DubZvBqI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/i6udGhZf-myosN23YU9DubZvBqI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/i6udGhZf-myosN23YU9DubZvBqI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/i6udGhZf-myosN23YU9DubZvBqI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JoaoFilipeRocha/~4/WVqVxAzH8gc" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/jf_rocha/rsscomments.aspx?PostID=36527</wfw:commentRss><feedburner:origLink>http://pontonetpt.com/blogs/jf_rocha/archive/2009/08/25/alterar-a-connection-string-para-membership-profile-role-em-run-time.aspx</feedburner:origLink></item><item><title>Filmes YouTube Multilingua</title><link>http://feedproxy.google.com/~r/JoaoFilipeRocha/~3/V27RoNW_m9U/filmes-youtube-multilingua.aspx</link><category>Google</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">João Filipe Rocha</dc:creator><pubDate>Tue, 18 Aug 2009 15:46:00 PDT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:36499</guid><description>&lt;p&gt;&lt;img src="http://docs.google.com/File?id=dvdkm5n_204cqc7tpgg_b" width="45" height="45" alt="" /&gt; &lt;img src="http://docs.google.com/File?id=dvdkm5n_203hg4p87fx_b" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
Imagine que quer partilhar o filme que gravou no YouTube de uma apresenta&amp;ccedil;&amp;atilde;o que efectuou na sua empresa, com os seus clientes espalhados pelo mundo, a maior barreira &amp;eacute; a l&amp;iacute;ngua. Pois agora ao colocar Texto nos filmes do YouTube e com a ajuda da API de Tradu&amp;ccedil;&amp;atilde;o do Google &amp;eacute; poss&amp;iacute;vel traduzir para enumeras l&amp;iacute;nguas o conte&amp;uacute;do desses textos.&lt;/p&gt;
&lt;p&gt;
Como exemplo vejam este &lt;a target="_blank" href="http://www.youtube.com/v/5r0BcQzMFPw"&gt;video&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
E no canto inferior direito surge a sigla CC que significa Crowd-Caption e &amp;eacute; poss&amp;iacute;vel traduzir esses textos para enumeras l&amp;iacute;nguas.&lt;br /&gt;
&lt;br /&gt;
A documenta&amp;ccedil;&amp;atilde;o do funcionamento desta API est&amp;aacute; &lt;a title="aqui" href="http://code.google.com/intl/en/apis/youtube/2.0/developers_guide_protocol_captions.html" id="tllm"&gt;aqui&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=36499" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eS3jvW2s-N3Bj8r4_n8nh3FFa8I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eS3jvW2s-N3Bj8r4_n8nh3FFa8I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eS3jvW2s-N3Bj8r4_n8nh3FFa8I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eS3jvW2s-N3Bj8r4_n8nh3FFa8I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JoaoFilipeRocha/~4/V27RoNW_m9U" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/jf_rocha/rsscomments.aspx?PostID=36499</wfw:commentRss><feedburner:origLink>http://pontonetpt.com/blogs/jf_rocha/archive/2009/08/18/filmes-youtube-multilingua.aspx</feedburner:origLink></item><item><title>Exportar uma DataTable para Excel</title><link>http://feedproxy.google.com/~r/JoaoFilipeRocha/~3/I8JAtzY9_Dk/exportar-uma-datatable-para-excel.aspx</link><category>Programming</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">João Filipe Rocha</dc:creator><pubDate>Tue, 14 Jul 2009 06:47:37 PDT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:35881</guid><description>&lt;p&gt;&lt;img src="http://publib.boulder.ibm.com/tividd/td/TDS390/SH19-4516-03/en_US/HTML/icon8.gif" width="79" height="80" alt="" /&gt; &lt;/p&gt;  &lt;p&gt;Um pedido frequente que me fazem nas aplicações que faço em ASP.NET é a possibilidade de exportar dados para excel.&lt;/p&gt;  &lt;p&gt;Apresento aqui a forma mais facil que conheço:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Criem um metodo publico que irá receber a DataTable e o Ficheiro a exportar, e que gerar uma resposta que é um ficheiro Excel. &lt;/li&gt; &lt;/ol&gt;  &lt;div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;padding-top:4px;" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; ExportToExcel(DataTable data, &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; fileName)&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum3"&gt;   3:&lt;/span&gt;     HttpContext.Current.Response.Clear();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum4"&gt;   4:&lt;/span&gt;     HttpContext.Current.Response.AddHeader(&lt;span style="color:#006080;"&gt;&amp;quot;content-disposition&amp;quot;&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;.Format(&lt;span style="color:#006080;"&gt;&amp;quot;attachment; filename={0}&amp;quot;&lt;/span&gt;, fileName));&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum5"&gt;   5:&lt;/span&gt;     HttpContext.Current.Response.ContentType = &lt;span style="color:#006080;"&gt;&amp;quot;application/ms-excel&amp;quot;&lt;/span&gt;;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum6"&gt;   6:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum7"&gt;   7:&lt;/span&gt;     HttpContext.Current.Response.Write(GenerateTable(data));&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum8"&gt;   8:&lt;/span&gt;     HttpContext.Current.Response.End();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum9"&gt;   9:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum10"&gt;  10:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Criem o metodo &lt;em&gt;GenerateTable&lt;/em&gt;&amp;#160; para criar a tabela formatada para o Excel&lt;/p&gt;

&lt;div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;padding-top:4px;" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; GenerateTable(DataTable source)&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum3"&gt;   3:&lt;/span&gt;     HtmlTable table = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; HtmlTable();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum4"&gt;   4:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum5"&gt;   5:&lt;/span&gt;     HtmlTableRow headerRow = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; HtmlTableRow();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum6"&gt;   6:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum7"&gt;   7:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; x = 0; x &amp;lt; source.Columns.Count; x++)&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum8"&gt;   8:&lt;/span&gt;     {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum9"&gt;   9:&lt;/span&gt;         HtmlTableCell th = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; HtmlTableCell(&lt;span style="color:#006080;"&gt;&amp;quot;th&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum10"&gt;  10:&lt;/span&gt;         th.Style.Add(HtmlTextWriterStyle.BackgroundColor, &lt;span style="color:#006080;"&gt;&amp;quot;#337490&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum11"&gt;  11:&lt;/span&gt;         th.Style.Add(HtmlTextWriterStyle.Color, &lt;span style="color:#006080;"&gt;&amp;quot;#FFFFFF&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum12"&gt;  12:&lt;/span&gt;         th.InnerText = source.Columns[x].ColumnName;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum13"&gt;  13:&lt;/span&gt;         headerRow.Cells.Add(th);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum14"&gt;  14:&lt;/span&gt;     }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum15"&gt;  15:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum16"&gt;  16:&lt;/span&gt;     table.Rows.Add(headerRow);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum17"&gt;  17:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum18"&gt;  18:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt; (DataRow x &lt;span style="color:#0000ff;"&gt;in&lt;/span&gt; source.Rows)&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum19"&gt;  19:&lt;/span&gt;     {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum20"&gt;  20:&lt;/span&gt;         HtmlTableRow tableRow = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; HtmlTableRow();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum21"&gt;  21:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; y = 0; y &amp;lt; source.Columns.Count; y++)&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum22"&gt;  22:&lt;/span&gt;         {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum23"&gt;  23:&lt;/span&gt;             System.Type rowType;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum24"&gt;  24:&lt;/span&gt;             rowType = x[y].GetType();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum25"&gt;  25:&lt;/span&gt;             HtmlTableCell td = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; HtmlTableCell();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum26"&gt;  26:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;switch&lt;/span&gt; (rowType.ToString())&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum27"&gt;  27:&lt;/span&gt;             {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum28"&gt;  28:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;System.String&amp;quot;&lt;/span&gt;:&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum29"&gt;  29:&lt;/span&gt;                     &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; XMLstring = x[y].ToString();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum30"&gt;  30:&lt;/span&gt;                     XMLstring = XMLstring.Trim();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum31"&gt;  31:&lt;/span&gt;                     XMLstring = XMLstring.Replace(&lt;span style="color:#006080;"&gt;&amp;quot;&amp;amp;&amp;quot;&lt;/span&gt;, &lt;span style="color:#006080;"&gt;&amp;quot;&amp;amp;&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum32"&gt;  32:&lt;/span&gt;                     XMLstring = XMLstring.Replace(&lt;span style="color:#006080;"&gt;&amp;quot;&amp;gt;&amp;quot;&lt;/span&gt;, &lt;span style="color:#006080;"&gt;&amp;quot;&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum33"&gt;  33:&lt;/span&gt;                     XMLstring = XMLstring.Replace(&lt;span style="color:#006080;"&gt;&amp;quot;&amp;lt;&amp;quot;&lt;/span&gt;, &lt;span style="color:#006080;"&gt;&amp;quot;&amp;lt;&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum34"&gt;  34:&lt;/span&gt;                     td.InnerText = XMLstring;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum35"&gt;  35:&lt;/span&gt;                     &lt;span style="color:#0000ff;"&gt;break&lt;/span&gt;;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum36"&gt;  36:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;System.DateTime&amp;quot;&lt;/span&gt;:                       &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum37"&gt;  37:&lt;/span&gt;                     DateTime XMLDate = (DateTime)x[y];&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum38"&gt;  38:&lt;/span&gt;                     &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; XMLDatetoString = &lt;span style="color:#006080;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;; &lt;span style="color:#008000;"&gt;//Excel Converted Date&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum39"&gt;  39:&lt;/span&gt;                     XMLDatetoString = XMLDate.Year.ToString() +&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum40"&gt;  40:&lt;/span&gt;                          &lt;span style="color:#006080;"&gt;&amp;quot;-&amp;quot;&lt;/span&gt; +&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum41"&gt;  41:&lt;/span&gt;                          (XMLDate.Month &amp;lt; 10 ? &lt;span style="color:#006080;"&gt;&amp;quot;0&amp;quot;&lt;/span&gt; +&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum42"&gt;  42:&lt;/span&gt;                          XMLDate.Month.ToString() : XMLDate.Month.ToString()) +&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum43"&gt;  43:&lt;/span&gt;                          &lt;span style="color:#006080;"&gt;&amp;quot;-&amp;quot;&lt;/span&gt; +&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum44"&gt;  44:&lt;/span&gt;                          (XMLDate.Day &amp;lt; 10 ? &lt;span style="color:#006080;"&gt;&amp;quot;0&amp;quot;&lt;/span&gt; +&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum45"&gt;  45:&lt;/span&gt;                          XMLDate.Day.ToString() : XMLDate.Day.ToString()) +&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum46"&gt;  46:&lt;/span&gt;                          &lt;span style="color:#006080;"&gt;&amp;quot;T&amp;quot;&lt;/span&gt; +&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum47"&gt;  47:&lt;/span&gt;                          (XMLDate.Hour &amp;lt; 10 ? &lt;span style="color:#006080;"&gt;&amp;quot;0&amp;quot;&lt;/span&gt; +&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum48"&gt;  48:&lt;/span&gt;                          XMLDate.Hour.ToString() : XMLDate.Hour.ToString()) +&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum49"&gt;  49:&lt;/span&gt;                          &lt;span style="color:#006080;"&gt;&amp;quot;:&amp;quot;&lt;/span&gt; +&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum50"&gt;  50:&lt;/span&gt;                          (XMLDate.Minute &amp;lt; 10 ? &lt;span style="color:#006080;"&gt;&amp;quot;0&amp;quot;&lt;/span&gt; +&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum51"&gt;  51:&lt;/span&gt;                          XMLDate.Minute.ToString() : XMLDate.Minute.ToString()) +&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum52"&gt;  52:&lt;/span&gt;                          &lt;span style="color:#006080;"&gt;&amp;quot;:&amp;quot;&lt;/span&gt; +&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum53"&gt;  53:&lt;/span&gt;                          (XMLDate.Second &amp;lt; 10 ? &lt;span style="color:#006080;"&gt;&amp;quot;0&amp;quot;&lt;/span&gt; +&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum54"&gt;  54:&lt;/span&gt;                          XMLDate.Second.ToString() : XMLDate.Second.ToString()) +&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum55"&gt;  55:&lt;/span&gt;                          &lt;span style="color:#006080;"&gt;&amp;quot;.000&amp;quot;&lt;/span&gt;;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum56"&gt;  56:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum57"&gt;  57:&lt;/span&gt;                     td.InnerText = XMLDatetoString;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum58"&gt;  58:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum59"&gt;  59:&lt;/span&gt;                     &lt;span style="color:#0000ff;"&gt;break&lt;/span&gt;;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum60"&gt;  60:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;System.Boolean&amp;quot;&lt;/span&gt;:&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum61"&gt;  61:&lt;/span&gt;                     td.InnerText = x[y].ToString();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum62"&gt;  62:&lt;/span&gt;                     &lt;span style="color:#0000ff;"&gt;break&lt;/span&gt;;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum63"&gt;  63:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;System.Int16&amp;quot;&lt;/span&gt;:&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum64"&gt;  64:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;System.Int32&amp;quot;&lt;/span&gt;:&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum65"&gt;  65:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;System.Int64&amp;quot;&lt;/span&gt;:&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum66"&gt;  66:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;System.Byte&amp;quot;&lt;/span&gt;:&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum67"&gt;  67:&lt;/span&gt;                     td.InnerText = x[y].ToString();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum68"&gt;  68:&lt;/span&gt;                     &lt;span style="color:#0000ff;"&gt;break&lt;/span&gt;;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum69"&gt;  69:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;System.Decimal&amp;quot;&lt;/span&gt;:&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum70"&gt;  70:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;System.Double&amp;quot;&lt;/span&gt;:&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum71"&gt;  71:&lt;/span&gt;                     td.InnerText = &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;.Format(&lt;span style="color:#006080;"&gt;&amp;quot;{0:n}&amp;quot;&lt;/span&gt;, x[y]);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum72"&gt;  72:&lt;/span&gt;                     &lt;span style="color:#0000ff;"&gt;break&lt;/span&gt;;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum73"&gt;  73:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;case&lt;/span&gt; &lt;span style="color:#006080;"&gt;&amp;quot;System.DBNull&amp;quot;&lt;/span&gt;:&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum74"&gt;  74:&lt;/span&gt;                     td.InnerText = &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;.Empty;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum75"&gt;  75:&lt;/span&gt;                     &lt;span style="color:#0000ff;"&gt;break&lt;/span&gt;;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum76"&gt;  76:&lt;/span&gt;             }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum77"&gt;  77:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum78"&gt;  78:&lt;/span&gt;             tableRow.Cells.Add(td);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum79"&gt;  79:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum80"&gt;  80:&lt;/span&gt;         }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum81"&gt;  81:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum82"&gt;  82:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum83"&gt;  83:&lt;/span&gt;         table.Rows.Add(tableRow);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum84"&gt;  84:&lt;/span&gt;     }&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum85"&gt;  85:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum86"&gt;  86:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum87"&gt;  87:&lt;/span&gt;     StringWriter sw = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; StringWriter();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum88"&gt;  88:&lt;/span&gt;     HtmlTextWriter htw = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; HtmlTextWriter(sw);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum89"&gt;  89:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum90"&gt;  90:&lt;/span&gt;     table.RenderControl(htw);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum91"&gt;  91:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum92"&gt;  92:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum93"&gt;  93:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; sw.ToString();&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum94"&gt;  94:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;" id="lnum95"&gt;  95:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;O metodo exprimentado funciona com o Excel 2007.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=35881" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zzEyDv7GNkVY-9nKCVhTbObTuxc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zzEyDv7GNkVY-9nKCVhTbObTuxc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zzEyDv7GNkVY-9nKCVhTbObTuxc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zzEyDv7GNkVY-9nKCVhTbObTuxc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JoaoFilipeRocha/~4/I8JAtzY9_Dk" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/jf_rocha/rsscomments.aspx?PostID=35881</wfw:commentRss><feedburner:origLink>http://pontonetpt.com/blogs/jf_rocha/archive/2009/07/14/exportar-uma-datatable-para-excel.aspx</feedburner:origLink></item><item><title>Google anuncia Sistema Operativo</title><link>http://feedproxy.google.com/~r/JoaoFilipeRocha/~3/DOpBqu1Zs1g/google-anuncia-sistema-operativo.aspx</link><category>Google</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">João Filipe Rocha</dc:creator><pubDate>Tue, 14 Jul 2009 04:02:00 PDT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:35879</guid><description>&lt;p&gt;&lt;img src="http://farm4.static.flickr.com/3441/3368949243_08a6acb2ff.jpg" style="max-width:550px;" border="0" height="81" width="115" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;A empresa Google anunciou a semana passada que iria lan&amp;ccedil;ar um sistema operativo no segundo semestre de 2010. &lt;/p&gt;
&lt;p&gt;Tanto ao que se sabe este sistema operativo contem as seguintes caracteristicas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;O Kernel base ser&amp;aacute; Linux.&lt;/li&gt;
&lt;li&gt;O ambiente de desktop (&lt;a target="_blank" href="http://en.wikipedia.org/wiki/Desktop_environment"&gt;DE&lt;/a&gt;) ser&amp;aacute; o browser Chrome.&lt;/li&gt;
&lt;li&gt;Inicialmente estar&amp;aacute; disponivel s&amp;oacute; em netbooks&lt;/li&gt;
&lt;li&gt;Ir&amp;aacute; correr sobre processadores x86 e ARM&lt;/li&gt;
&lt;li&gt;O armazenamento dos dados ser&amp;aacute; feito na cloud&lt;/li&gt;
&lt;li&gt;E que o Google Chrome OS n&amp;atilde;o ter&amp;aacute; licenciamento pago&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=35879" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vTcCSfIqZPRqgTe-Cnvma3EYD7I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vTcCSfIqZPRqgTe-Cnvma3EYD7I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vTcCSfIqZPRqgTe-Cnvma3EYD7I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vTcCSfIqZPRqgTe-Cnvma3EYD7I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JoaoFilipeRocha/~4/DOpBqu1Zs1g" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/jf_rocha/rsscomments.aspx?PostID=35879</wfw:commentRss><category domain="http://rss.financialcontent.com/stocksymbol">DE</category><feedburner:origLink>http://pontonetpt.com/blogs/jf_rocha/archive/2009/07/14/google-anuncia-sistema-operativo.aspx</feedburner:origLink></item><item><title>Utilizar o IHttpHandler com Ajax</title><link>http://feedproxy.google.com/~r/JoaoFilipeRocha/~3/f-Dt3i8bZpA/utilizar-o-ihttphandler-com-ajax.aspx</link><category>Programming</category><category>Ajax</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">João Filipe Rocha</dc:creator><pubDate>Wed, 08 Jul 2009 03:56:21 PDT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:35756</guid><description>&lt;p&gt;&amp;#160;&lt;img src="http://www.asp.net/App_Themes/Standard/i/ajax_logo.png" alt="" /&gt; &lt;/p&gt;  &lt;p&gt;Ao chamar um &lt;a href="http://msdn.microsoft.com/en-us/library/bb398986.aspx"&gt;Generic HTTP Handler&lt;/a&gt; (.ASHX) pelo URL, o ASP.NET avalia a forma de tratar o ficheiro conforme o que estiver defenido no web.config na tag &lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa903367(VS.71).aspx"&gt;&amp;lt;httpHandlers&amp;gt;&lt;/a&gt;&lt;/strong&gt;. &lt;/p&gt;  &lt;p&gt;Acontece que se estivermos a trabalhar com Ajax, todos os pedidos HTTP passam pelo &lt;a href="http://www.asp.net/AJAX/documentation/live/ConfiguringASPNETAJAX.aspx#httpHandlers"&gt;handler do Ajax&lt;/a&gt; e o deste modo, quando efectuamos um pedido a um .ASHX o handler do ajax não sabe como dar resposta a esse pedido o que deixa a nossa aplicação “pendurada” á espera de resposta.&lt;/p&gt;  &lt;p&gt;Uma das soluções que encotrei para este problema é efectuar um postback na chamada ao handler, e fazendo desta forma:&lt;/p&gt;  &lt;p&gt;No markup da pagina defenimos o link que chama o .ashx&lt;/p&gt;  &lt;div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;padding-top:4px;" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;asp:Linkbutton&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;id&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;btnFile&amp;quot;&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#ff0000;"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#ff0000;"&gt;onLoad&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;btnFile_Load&amp;quot;&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#ff0000;"&gt;onClick&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;btnFile_Click&amp;quot;&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#ff0000;"&gt;Text&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Abrir Ficheiro&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;no Codebehind no evento Load do Linkbutton indicamos que este botão irá efectuar um postback:&lt;/p&gt;

&lt;div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:99.2%;padding-right:4px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;height:88px;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;padding-top:4px;" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; btnFile_Load(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;{&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;#160; SriptManager.GetCurrent(&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.Page).RegisterPostBackControl((Control)sender);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;E por fim definimos a chamada ao nosso link&lt;/p&gt;

&lt;div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;padding-top:4px;" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; btnFile_Click(Object sender, EventArgs e)&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;{&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    Response.Redirect(&lt;span style="color:#006080;"&gt;&amp;quot;../file.ashx&amp;quot;&lt;/span&gt;);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Desta forma os eventos do Linkbutton btnFile não passam pelo Handler do Ajax.&lt;/p&gt;

&lt;p&gt;Mas se mesmo assim necessitem de utilizar o Http Handler em conjunto com o Ajax então a unica solução é no .ASHX fazer o &lt;a href="http://msdn.microsoft.com/en-us/magazine/cc164128.aspx"&gt;handling assíncrono&lt;/a&gt; dos pedidos&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=35756" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/u1VEQVlq2oVtC7NpxJOd4xa1k98/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/u1VEQVlq2oVtC7NpxJOd4xa1k98/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/u1VEQVlq2oVtC7NpxJOd4xa1k98/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/u1VEQVlq2oVtC7NpxJOd4xa1k98/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JoaoFilipeRocha/~4/f-Dt3i8bZpA" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/jf_rocha/rsscomments.aspx?PostID=35756</wfw:commentRss><feedburner:origLink>http://pontonetpt.com/blogs/jf_rocha/archive/2009/07/08/utilizar-o-ihttphandler-com-ajax.aspx</feedburner:origLink></item><item><title>Apontamentos de um Programador</title><link>http://feedproxy.google.com/~r/JoaoFilipeRocha/~3/1bpSbACYViw/P29571.aspx</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">João Filipe Rocha</dc:creator><pubDate>Tue, 30 Jun 2009 00:40:00 PDT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:18400</guid><description>&lt;p&gt;&lt;img src="http://edspumps.com/UploadMediaFiles/image//REMINDER%20-%2001.gif" width="165" height="109" alt="" /&gt; &lt;/p&gt; &lt;p&gt;Para quem tem a profissão de Programador, por vezes torna-se dificil decorar tanta informação. Aqui ficam algums apontamentos que podem nos facilitar a vida.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Atalhos das Teclas para  &lt;ul&gt; &lt;li&gt;Visual Studio 2005 &lt;a href="http://download.microsoft.com/download/e/7/9/e79cce22-b196-4b9f-9ea7-b1a21f5342e9/VCSharp_2005_color.pdf"&gt;C#&lt;/a&gt; | &lt;a href="http://download.microsoft.com/download/d/6/5/d65efda0-cf25-4720-8013-b3080586c5bb/VB_2005_color.pdf"&gt;VB.NET&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;Visual Studio 2008 &lt;a href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=1&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3de5f902a8-5bb5-4cc6-907e-472809749973%26DisplayLang%3den"&gt;C#&lt;/a&gt; | &lt;a href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=10&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d255b8cf1-f6bd-4b55-bb42-dd1a69315833%26DisplayLang%3den"&gt;VB.NET&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li&gt;Code Snippets &lt;/li&gt; &lt;ul&gt; &lt;li&gt;Visual Studio &lt;a href="http://john-sheehan.com/blog/wp-content/uploads/vs2005-code-snippets.pdf"&gt;2005&lt;/a&gt; | &lt;a href="http://john-sheehan.com/blog/cheatsheets/visual-studio-2008-csharp-snippets.htm"&gt;2008&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;&lt;a href="http://www.sqldatabasetutorial.com/data/sqlcheetsheet.pdf"&gt;SQL Server&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://download.microsoft.com/download/4/a/3/4a3c7c55-84ab-4588-84a4-f96424a7d82d/NET35_Namespaces_Poster_LORES.pdf"&gt;Namespaces Framework 3.5&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://acodingfool.typepad.com/blog/pdf/jquery_1.3_cheatsheet_v1.pdf"&gt;JQuery&lt;/a&gt; 1.3 &lt;/li&gt;&lt;li&gt;&lt;a href="http://snook.ca/files/prototype_1.5.0_snookca.pdf"&gt;Prototype Lib&lt;/a&gt; 1.5.0 &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.explainth.at/downloads/jsquick.pdf"&gt;Javascript&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mulberrytech.com/quickref/xslt2.pdf"&gt;XSLT&lt;/a&gt; 2.0 / &lt;a href="http://www.mulberrytech.com/quickref/xpath2.pdf"&gt;XPath&lt;/a&gt; 2.0 &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.gosquared.com/images/help_sheets/HTML%20Help%20Sheet.pdf"&gt;HTML&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://regexlib.com/CheatSheet.aspx"&gt;Regex&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;Espero que ajude…&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=18400" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2yP8Xlmd3tbl86WRgToWmmUfrHo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2yP8Xlmd3tbl86WRgToWmmUfrHo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2yP8Xlmd3tbl86WRgToWmmUfrHo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2yP8Xlmd3tbl86WRgToWmmUfrHo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JoaoFilipeRocha/~4/1bpSbACYViw" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/jf_rocha/rsscomments.aspx?PostID=18400</wfw:commentRss><feedburner:origLink>http://pontonetpt.com/blogs/jf_rocha/archive/2009/06/30/P29571.aspx</feedburner:origLink></item><item><title>Alô Alô Google</title><link>http://feedproxy.google.com/~r/JoaoFilipeRocha/~3/iPckHWHHTJA/P29410.aspx</link><category>Google</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">João Filipe Rocha</dc:creator><pubDate>Fri, 26 Jun 2009 11:15:00 PDT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:5970</guid><description>&lt;p&gt;&lt;img height="62" width="200" src="https://www.google.com/accounts/grandcentral/icon_01.gif" alt="" /&gt;  &lt;/p&gt;
&lt;p&gt;O Google vai lan&amp;ccedil;ar uma aplica&amp;ccedil;&amp;atilde;o denominada &lt;a target="_blank" href="https://www.google.com/voice"&gt;Google Voice&lt;/a&gt;, onde ser&amp;aacute; poss&amp;iacute;vel efectuar a gest&amp;atilde;o de todos os nossos n&amp;uacute;meros telefone.  &lt;/p&gt;
&lt;p&gt;Ao registar o servi&amp;ccedil;o &amp;eacute; nos atribu&amp;iacute;do um numero Google, e podemos associar todos os nossos telefones a esse numero e gerir todos os nossos telefonemas e efectuar enumeras &lt;a target="_blank" href="http://www.google.com/googlevoice/about.html"&gt;opera&amp;ccedil;&amp;otilde;es&lt;/a&gt;, tais como:  &lt;/p&gt;
&lt;p&gt;Quando alguem nos liga para o nosso numero Google, dependendo das configura&amp;ccedil;&amp;otilde;es, a chamada pode ser reencaminhada para um dos nossos telefones, para todos os telefones, ou simplesmente para o voicemail.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Vejam os videos (em Ingl&amp;ecirc;s)&amp;nbsp; &lt;/p&gt;
&lt;p&gt;





&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=5970" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3CMlnFjFh8YFawr9sPTStXL0x5A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3CMlnFjFh8YFawr9sPTStXL0x5A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3CMlnFjFh8YFawr9sPTStXL0x5A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3CMlnFjFh8YFawr9sPTStXL0x5A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JoaoFilipeRocha/~4/iPckHWHHTJA" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/jf_rocha/rsscomments.aspx?PostID=5970</wfw:commentRss><feedburner:origLink>http://pontonetpt.com/blogs/jf_rocha/archive/2009/06/26/P29410.aspx</feedburner:origLink></item><item><title>Quanto custa o Windows 7</title><link>http://feedproxy.google.com/~r/JoaoFilipeRocha/~3/s3Yx23vBrj0/P29407.aspx</link><category>Microsoft</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">João Filipe Rocha</dc:creator><pubDate>Thu, 25 Jun 2009 18:11:00 PDT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:5969</guid><description>&lt;p&gt;&lt;img src="http://www.maximumpc.com/files/u69/Windows_7_Boxes.png" width="265" height="151" alt="" /&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;Ja foram anunciados os &lt;a href="http://windowsteamblog.com/blogs/windows7/archive/2009/06/25/announcing-the-windows-7-upgrade-option-program-amp-windows-7-pricing-bring-on-ga.aspx" target="_blank"&gt;preços&lt;/a&gt; (para os EUA) do novo sistema operativo da Microsoft, o &lt;a href="http://windows.microsoft.com/en-US/windows7/products/home?os=nonwin7" target="_blank"&gt;Windows 7&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Para as versões de upgrade (XP ou Vista) são:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;b&gt;Windows 7 Home Premium (Upgrade):&lt;/b&gt; $199.99 &lt;/li&gt;&lt;li&gt;&lt;b&gt;Windows 7 Professional (Upgrade):&lt;/b&gt; $199.99 &lt;/li&gt;&lt;li&gt;&lt;b&gt;Windows 7 Ultimate (Upgrade):&lt;/b&gt; $219.99&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Para as versões completas são:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;b&gt;Windows 7 Home Premium (Versão completa):&lt;/b&gt; $199.99  &lt;/li&gt;&lt;li&gt;&lt;b&gt;Windows 7 Professional (Versão completa):&lt;/b&gt; $299.99  &lt;/li&gt;&lt;li&gt;&lt;b&gt;Windows 7 Ultimate (Versão completa):&lt;/b&gt; $319.99&lt;/li&gt;&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=5969" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RVtv7nuXkKPsBxq-rnp4DhNcydY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RVtv7nuXkKPsBxq-rnp4DhNcydY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RVtv7nuXkKPsBxq-rnp4DhNcydY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RVtv7nuXkKPsBxq-rnp4DhNcydY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JoaoFilipeRocha/~4/s3Yx23vBrj0" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/jf_rocha/rsscomments.aspx?PostID=5969</wfw:commentRss><feedburner:origLink>http://pontonetpt.com/blogs/jf_rocha/archive/2009/06/26/P29407.aspx</feedburner:origLink></item><item><title>A Segurança Essencial</title><link>http://feedproxy.google.com/~r/JoaoFilipeRocha/~3/VUaexVD4auE/P29405.aspx</link><category>Microsoft</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">João Filipe Rocha</dc:creator><pubDate>Wed, 24 Jun 2009 00:33:00 PDT</pubDate><guid isPermaLink="false">9d4b03f4-ce39-4703-ab9d-5b341a2c824e:5968</guid><description>&lt;p&gt;&lt;img src="http://www.orn.usace.army.mil/history/images/castle_gold.jpg" width="286" height="141" alt="" /&gt; &lt;/p&gt; &lt;p&gt;A Microsoft acaba de disponibilizar para download o seu sistema Anti-Vírus, denominado &lt;a href="http://www.microsoft.com/security_essentials/"&gt;Microsoft Security Essentials&lt;/a&gt; (antigo Moro). &lt;/p&gt;&lt;p&gt;Este sistema está numa versão Beta &lt;strike&gt;e para efectuar o download é necessário estar registado no programa &lt;a href="http://connect.microsoft.com/securityessentials"&gt;Connect&lt;/a&gt; e tornar-se num beta-tester deste sistema&lt;strike&gt;. &lt;/strike&gt;&lt;/strike&gt;&lt;/p&gt;&lt;p&gt;As vantagens deste anti-vírus, é de ter pouco impacto na performance do sistema, e por ser gratuito. &lt;/p&gt;
&lt;p&gt;
O numero de inscrições no connect foram excedidas 
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://pontonetpt.com/aggbug.aspx?PostID=5968" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iO_F03ET8dMtGBiySFERJ9moLMY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iO_F03ET8dMtGBiySFERJ9moLMY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iO_F03ET8dMtGBiySFERJ9moLMY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iO_F03ET8dMtGBiySFERJ9moLMY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/JoaoFilipeRocha/~4/VUaexVD4auE" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://pontonetpt.com/blogs/jf_rocha/rsscomments.aspx?PostID=5968</wfw:commentRss><feedburner:origLink>http://pontonetpt.com/blogs/jf_rocha/archive/2009/06/24/P29405.aspx</feedburner:origLink></item></channel></rss>
