<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-3217883833920161222</atom:id><lastBuildDate>Thu, 24 Oct 2024 11:35:50 +0000</lastBuildDate><category>Debug</category><category>Dicas</category><category>Outros</category><category>Processo Desenvolvimento</category><category>Visual Studio 2008</category><category>#VS2010PREMIO</category><category>.Net</category><category>3G</category><category>Armadilha</category><category>Claro</category><category>Enganado</category><category>Firma</category><category>Internet</category><category>JavaScript</category><category>LINQ</category><category>Mentira</category><category>Proxy</category><category>Serializar</category><category>VB.Net</category><category>VS2010</category><category>Visual Studio 2010</category><category>WPF</category><category>library</category><category>Ícone</category><title>Marcelo de Aguiar + Code</title><description></description><link>http://marcelodeaguiar.blogspot.com/</link><managingEditor>noreply@blogger.com (Marcelo de Aguiar)</managingEditor><generator>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3217883833920161222.post-8840334886104611409</guid><pubDate>Thu, 07 Jul 2011 20:20:00 +0000</pubDate><atom:updated>2011-07-07T17:20:44.862-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">.Net</category><category domain="http://www.blogger.com/atom/ns#">Processo Desenvolvimento</category><category domain="http://www.blogger.com/atom/ns#">VB.Net</category><title>Pegadinha do Malandro....</title><description>&lt;span style=&quot;font-family: Calibri;&quot;&gt;Suponha que você precisa criar uma instância da classe “Cesta” definida a seguir:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;Public&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;Class&lt;/span&gt; Cesta&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;Private&lt;/span&gt; _values &lt;span style=&quot;color: blue;&quot;&gt;As&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;New&lt;/span&gt; List(&lt;span style=&quot;color: blue;&quot;&gt;Of&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;Object&lt;/span&gt;)()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;Public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;Sub&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;New&lt;/span&gt;(&lt;span style=&quot;color: blue;&quot;&gt;ByVal&lt;/span&gt; valor &lt;span style=&quot;color: blue;&quot;&gt;As&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;Object&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _values.Add(valor)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;End&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;Public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;Sub&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;New&lt;/span&gt;(&lt;span style=&quot;color: blue;&quot;&gt;ByVal&lt;/span&gt; valores &lt;span style=&quot;color: blue;&quot;&gt;As&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;Object&lt;/span&gt;())&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _values.AddRange(valores)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;End&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 0pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;Public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;ReadOnly&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;Property&lt;/span&gt; Count() &lt;span style=&quot;color: blue;&quot;&gt;As&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;Integer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;Get&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;Return&lt;/span&gt; _values.Count&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;End&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;Get&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;End&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;Property&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;End&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;Class&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;Sua cesta deve ser inicializada com um coleção de objetos por isso vamos usar o construtor que recebe um array usando o seguinte código.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;Dim&lt;/span&gt; valores(10) &lt;span style=&quot;color: blue;&quot;&gt;As&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;Integer&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;Dim&lt;/span&gt; c &lt;span style=&quot;color: blue;&quot;&gt;As&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;New&lt;/span&gt; Cesta(valores)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;Se eu mandar imprimir o numero de itens no console usando:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-ansi-language: EN-US;&quot;&gt;Console.WriteLine(c.Count.ToString)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;Qual valor vai aparecer?&lt;/span&gt;&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;  &lt;span style=&quot;mso-fareast-font-family: Calibri;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;&lt;span style=&quot;font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;0&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;  &lt;span style=&quot;mso-fareast-font-family: Calibri;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;&lt;span style=&quot;font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;1&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;  &lt;span style=&quot;mso-fareast-font-family: Calibri;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;&lt;span style=&quot;font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;10&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;  &lt;span style=&quot;mso-fareast-font-family: Calibri;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;&lt;span style=&quot;font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Vai lançar uma exceção &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;  &lt;span style=&quot;font-family: Calibri;&quot;&gt;Eu manjo o compilador e orientação a objeto, sei o que vai acontecer e não vou te contar!&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;</description><link>http://marcelodeaguiar.blogspot.com/2011/07/pegadinha-do-malandro.html</link><author>noreply@blogger.com (Marcelo de Aguiar)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3217883833920161222.post-5053586694641800626</guid><pubDate>Wed, 23 Feb 2011 13:19:00 +0000</pubDate><atom:updated>2011-02-23T10:20:40.544-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Dicas</category><category domain="http://www.blogger.com/atom/ns#">Firma</category><category domain="http://www.blogger.com/atom/ns#">Proxy</category><title>BITS e o proxy da “firma”.</title><description>&lt;p&gt;Se você assim como eu usa o Zune e precisa atualizar ou baixar aplicações do marketplace ou ainda usa algum aplicativo que use o &lt;strong&gt;BITS (Background Intelligent Transfer Service)&lt;/strong&gt; mas esta atrás de um proxy (Normalmente no trabalho se a sua empresa for malvada, controlodora ou só amadora mesmo) com certeza ja pasou por problemas certo?&lt;/p&gt;  &lt;p&gt;Isso acontece porque o BITS por padrão não envia seus dados de autenticação para o proxy e portanto não consegue comunicação com o mundão de deus la fora. Para resolver isso basta alterar a seguinte chave no registro:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\BITS\UseLMCompat&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;De acordo com a &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/aa362781.aspx&quot; target=&quot;_blank&quot;&gt;documentação&lt;/a&gt; do msdn os valores possiveis são:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;0 – BITS vai mandar as suas credenciais de modo implicito SEMPRE&lt;/p&gt;    &lt;p&gt;1 - BITS vai mandar as suas credenciais de modo implicito se o valor da chave &lt;strong&gt;LMCompatibilityLevel&lt;/strong&gt; for maior que 2&lt;/p&gt;    &lt;p&gt;2 – BITS só vai mandar as suas credenciais se a aplicação chamar o método &lt;strong&gt;SetCredentials&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Como nós queremos nos autenticar basta usar o valor &lt;strong&gt;0&lt;/strong&gt;. Reiniciar o serviço do BITS e a sua aplicação e voilà! Você esta conectado.&lt;/p&gt;  &lt;p&gt;See ya.&lt;/p&gt;  </description><link>http://marcelodeaguiar.blogspot.com/2011/02/bits-e-o-proxy-da-firma.html</link><author>noreply@blogger.com (Marcelo de Aguiar)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3217883833920161222.post-3820931515239949463</guid><pubDate>Fri, 25 Jun 2010 16:32:00 +0000</pubDate><atom:updated>2010-06-25T13:32:49.281-03:00</atom:updated><title>Facilitando a vida ao abrir projetos</title><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Eu sou um programador que gosta de ter as coisas otimizadas.&lt;/p&gt;  &lt;p&gt;No trabalho tem duas unidades uma delas especifica para guardar as pastas de projetos e toda vez que tenho que abrir um no Visual Studio tenho que navegar para a unidade, depois a pasta, e mais uma pasta etc…&lt;/p&gt;  &lt;p&gt;Que tal melhorar esse processo colocando um link na janela de abrir projetos do Visual Studio? A minha ficou assim&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/_D5G_g4SBpJA/TCS4nkzOJzI/AAAAAAAAAHk/z6pLrgkTLyA/s1600-h/image%5B12%5D.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto&quot; title=&quot;http://marcelodeaguiar.blogspot.com/&quot; border=&quot;0&quot; alt=&quot;http://marcelodeaguiar.blogspot.com/&quot; src=&quot;http://lh3.ggpht.com/_D5G_g4SBpJA/TCS4pS35_3I/AAAAAAAAAHo/vsHi1W7OeLo/image_thumb%5B10%5D.png?imgmax=800&quot; width=&quot;641&quot; height=&quot;416&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Para isso basta alterar a chave de registro abaixo:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\&lt;font color=&quot;#ff0000&quot;&gt;{VERSÂO DO VISUAL STUDIO}&lt;/font&gt;\Open Find\Places\UserDefinedPlaces\&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Adicione uma nova chave com o nome &amp;quot;Place0”, depois adicione um novo valor como na imagem abaixo:&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/_D5G_g4SBpJA/TCS4qN7bmsI/AAAAAAAAAHs/tCLqJLIP6bw/s1600-h/image%5B43%5D.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh4.ggpht.com/_D5G_g4SBpJA/TCS4rZJSq-I/AAAAAAAAAHw/JOQr5o8oAi4/image_thumb%5B39%5D.png?imgmax=800&quot; width=&quot;648&quot; height=&quot;339&quot; /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Ainda é possível adicionar tantos links quanto necessário, basta adicionar novas chaves com os nomes “Place1”, “Place2”, etc…&lt;/p&gt;  </description><link>http://marcelodeaguiar.blogspot.com/2010/06/facilitando-vida-ao-abrir-projetos.html</link><author>noreply@blogger.com (Marcelo de Aguiar)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_D5G_g4SBpJA/TCS4pS35_3I/AAAAAAAAAHo/vsHi1W7OeLo/s72-c/image_thumb%5B10%5D.png?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3217883833920161222.post-5206203395212213144</guid><pubDate>Tue, 20 Apr 2010 13:51:00 +0000</pubDate><atom:updated>2010-04-20T10:51:18.463-03:00</atom:updated><title>O novo estagiário</title><description>&lt;p&gt;Sua emprese precisa contratar um novo programador, ela opta por buscar o profissional em um banco de estudantes e encontra 3 candidatos:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;O Inteligente – Tem um histórico escolar impecável e consegue resolver qualquer equação matemática em 2 minutos;&lt;/li&gt;    &lt;li&gt;O Espertinho – Sempre resolve os problemas, independente da solução aplicada afinal de contas “O fim justifica os meios”;&lt;/li&gt;    &lt;li&gt;O Curioso – Nem muito inteligente nem muito espertinho, mas basta surgir alguma coisa que ele não entenda que ele esta lá, tentando de todas as maneiras entender como aquilo funciona.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;E ai! qual dos três você contrataria? O que um desenvolvedor de verdade precisa ser?&lt;/p&gt;  </description><link>http://marcelodeaguiar.blogspot.com/2010/04/o-novo-estagiario.html</link><author>noreply@blogger.com (Marcelo de Aguiar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3217883833920161222.post-7825448122983980934</guid><pubDate>Wed, 11 Nov 2009 20:38:00 +0000</pubDate><atom:updated>2009-11-11T18:41:55.148-02:00</atom:updated><title>Criando um novo projeto no VS2010</title><description>&lt;p&gt;A nova tela apresentada ao criarmos um novo projeto melhorou e muito desde a ultima versão do Visual Studio.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/_D5G_g4SBpJA/Svsgo3_Fv5I/AAAAAAAAAGg/ZBG37T_vfDY/s1600-h/image%5B15%5D.png&quot;&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh5.ggpht.com/_D5G_g4SBpJA/SvsgpRDY2AI/AAAAAAAAAGk/yR_geta9AJY/image_thumb%5B11%5D.png?imgmax=800&quot; width=&quot;523&quot; height=&quot;368&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Os itens estão organizados em &lt;em&gt;Recent Templates: &lt;/em&gt;os últimos templates que você usou,&amp;#160; &lt;em&gt;Installed Templates: &lt;/em&gt;Lista os templates instalados na sua maquina separados em sub-categorias como Windows, Web, Silverlight, etc… e &lt;em&gt;Online Templates:&lt;/em&gt; nesta ultima é possível baixar templates criados pela comunidade, mesmo o VS ainda em faze beta já é possível encontrar um grande numero de templates.&lt;/p&gt;  &lt;p&gt;A interface agora oferece um caixa de pesquisa&amp;#160; no topo da janela, ao digitarmos os itens são automaticamente filtrados:&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/_D5G_g4SBpJA/Svsgp5z8vDI/AAAAAAAAAGw/aGGZ_HksZRI/s1600-h/image%5B14%5D.png&quot;&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh5.ggpht.com/_D5G_g4SBpJA/SvsgqdpcpeI/AAAAAAAAAG0/tZlYb3EVX0o/image_thumb%5B10%5D.png?imgmax=800&quot; width=&quot;552&quot; height=&quot;117&quot; /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;É possível ainda selecionar o Framework em que o projeto será construído, esta opção porem parece não estar disponível nas versões Express.&lt;/p&gt;  &lt;p&gt;Um template interessante a ser notado é o novo &lt;em&gt;Cloud Services&lt;/em&gt; que possibilita usar os serviços do Windows Azure nos seus projetos.&lt;/p&gt;  </description><link>http://marcelodeaguiar.blogspot.com/2009/11/criando-um-novo-projeto-no-vs2010.html</link><author>noreply@blogger.com (Marcelo de Aguiar)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_D5G_g4SBpJA/SvsgpRDY2AI/AAAAAAAAAGk/yR_geta9AJY/s72-c/image_thumb%5B11%5D.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3217883833920161222.post-2161617577714240886</guid><pubDate>Wed, 11 Nov 2009 20:13:00 +0000</pubDate><atom:updated>2009-11-11T18:13:39.294-02:00</atom:updated><title>Principais mudanças no .Net Framework 4 Beta 2 - 1</title><description>&lt;p&gt;&lt;strong&gt;Melhorias no Diagnostico e performance.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Na nova versão do framework já é possível monitorar o uso de memória e processamento por &lt;em&gt;Application Domain&lt;/em&gt;, isso não era possível nas versões anteriores já que ferramentas como o &lt;em&gt;Process Explorer&lt;/em&gt; ou o &lt;em&gt;Gerenciador de Tarefas&lt;/em&gt; eram precisos apenas a nível de processo. Você pode encontrar mais informações de como ativar esse monitoramento &lt;a title=&quot;&quot; href=&quot;http://msdn.microsoft.com/en-us/library/system.appdomain.monitoringisenabled(VS.100).aspx&quot; target=&quot;_blank&quot;&gt;aqui&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;O Novo Garbage Collector&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;O Framework 4 Beta 2 vem com uma nova implementação do &lt;em&gt;Garbage Collector&lt;/em&gt; que funciona em background aumentando assim a performance, mais informações &lt;a title=&quot;&quot; href=&quot;http://blogs.msdn.com/maoni/archive/2008/11/19/so-what-s-new-in-the-clr-4-0-gc.aspx&quot;&gt;&lt;/a&gt;&lt;a title=&quot;&quot; href=&quot;http://blogs.msdn.com/maoni/archive/2008/11/19/so-what-s-new-in-the-clr-4-0-gc.aspx&quot; target=&quot;_blank&quot;&gt;aqui&lt;/a&gt;.&lt;/p&gt;  </description><link>http://marcelodeaguiar.blogspot.com/2009/11/principais-mudancas-no-net-framework-4.html</link><author>noreply@blogger.com (Marcelo de Aguiar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3217883833920161222.post-8417667988614632916</guid><pubDate>Wed, 11 Nov 2009 20:01:00 +0000</pubDate><atom:updated>2009-11-11T18:01:05.132-02:00</atom:updated><title>Adicionar referência – agora sim</title><description>&lt;p&gt;Umas das melhoria discretas do Visual Studio 2010 Beta 2 esta na opção “Add Reference”, a tela que antes nos fazer literalmente parar o trabalho foi aprimorada.&lt;/p&gt;  &lt;p&gt;Ao abrir a tela o Visual Studio tem que carregar todas as DLL´s do GAC assim como os componentes COM instalados na maquina.&lt;/p&gt;  &lt;p&gt;Até o Visual Studio 2008 isso era feito de modo síncrono, ou seja, a interface toda ficava “travada” até que os componentes carregassem. Na nova versão os componentes são carregados de modo assíncrono permitindo ao usuário cancelar e não fazendo com que o Visual Studio pare. Ponto para o VS2010.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://lh6.ggpht.com/_D5G_g4SBpJA/SvsX_pzw9fI/AAAAAAAAAGI/9yIsRR2J0wk/s1600-h/image%5B2%5D.png&quot;&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh3.ggpht.com/_D5G_g4SBpJA/SvsYAGWXybI/AAAAAAAAAGM/FQQiv_C1x0o/image_thumb%5B1%5D.png?imgmax=800&quot; width=&quot;370&quot; height=&quot;307&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  </description><link>http://marcelodeaguiar.blogspot.com/2009/11/adicionar-referencia-agora-sim.html</link><author>noreply@blogger.com (Marcelo de Aguiar)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_D5G_g4SBpJA/SvsYAGWXybI/AAAAAAAAAGM/FQQiv_C1x0o/s72-c/image_thumb%5B1%5D.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3217883833920161222.post-6109760328589826042</guid><pubDate>Wed, 11 Nov 2009 14:05:00 +0000</pubDate><atom:updated>2009-11-11T12:09:08.879-02:00</atom:updated><title>Suporte a DataBinding no editor WPF</title><description>&lt;p&gt;No Visual Studio 2010 Beta 2, houve uma grande evolução no editor visual tanto do WPF quanto do silverlight. Uma das mudanças mais legais em relação ao VS2008 é o suporte ao DataBind direto do editor. Para isso selecione um objeto no Designer, no grid de propriedades selecione a propriedade a qual deseja fazer o Bind, clique no ícone “Propriedades Avançadas” e no menu de contexto selecione “Apply Data Binding…”&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://lh6.ggpht.com/_D5G_g4SBpJA/SvrEiXbyGLI/AAAAAAAAAFY/GJm4rrHPDLU/s1600-h/image%5B73%5D.png&quot;&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh3.ggpht.com/_D5G_g4SBpJA/SvrEiwS16hI/AAAAAAAAAFc/BIyPskOjZbs/image_thumb%5B59%5D.png?imgmax=800&quot; width=&quot;320&quot; height=&quot;148&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; Será apresentada uma pequena janela onde podemos configurar o Bind.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://lh5.ggpht.com/_D5G_g4SBpJA/SvrEjeuxaBI/AAAAAAAAAE4/Sn9yLdIF2YA/s1600-h/image%5B58%5D.png&quot;&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px&quot; title=&quot;Aba Source&quot; border=&quot;0&quot; alt=&quot;Aba Source&quot; src=&quot;http://lh3.ggpht.com/_D5G_g4SBpJA/SvrEj3I1HTI/AAAAAAAAAE8/hsUCdHVDWdg/image_thumb%5B46%5D.png?imgmax=800&quot; width=&quot;335&quot; height=&quot;206&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt; Na aba &lt;em&gt;Source&lt;/em&gt; é possível escolher a origem da informação, pode ser um &lt;em&gt;DataContext, &lt;/em&gt;um elemento, um elemento relativo ao atual, um &lt;em&gt;StaticResource.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/_D5G_g4SBpJA/SvrEkSaod9I/AAAAAAAAAFA/Gnx-vVGF6s0/s1600-h/image%5B60%5D.png&quot;&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px&quot; title=&quot;Aba Path&quot; border=&quot;0&quot; alt=&quot;Aba Path&quot; src=&quot;http://lh5.ggpht.com/_D5G_g4SBpJA/SvrEk3-r23I/AAAAAAAAAFE/-LXGKikVzRE/image_thumb%5B48%5D.png?imgmax=800&quot; width=&quot;356&quot; height=&quot;206&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Na aba &lt;em&gt;Path&lt;/em&gt; é possível escolher a propriedade (relativa ao objeto selecionado em &lt;em&gt;Source&lt;/em&gt;) que contém o valor.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/_D5G_g4SBpJA/SvrElbL3poI/AAAAAAAAAFk/-KHWlMHbgAU/s1600-h/image%5B71%5D.png&quot;&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh5.ggpht.com/_D5G_g4SBpJA/SvrElyIP7YI/AAAAAAAAAFs/XBuHtdr6iFM/image_thumb%5B57%5D.png?imgmax=800&quot; width=&quot;356&quot; height=&quot;206&quot; /&gt;&lt;/a&gt; Na aba &lt;em&gt;Converter&lt;/em&gt; podemos selecionar uma das classes que implementam IValueConverter e que será aplicado ao valor.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/_D5G_g4SBpJA/SvrEmLI5I6I/AAAAAAAAAF0/6M8ezzRxMLI/s1600-h/image%5B72%5D.png&quot;&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh3.ggpht.com/_D5G_g4SBpJA/SvrEmnN-9wI/AAAAAAAAAF4/nrld9Ur9RX8/image_thumb%5B58%5D.png?imgmax=800&quot; width=&quot;353&quot; height=&quot;206&quot; /&gt;&lt;/a&gt;Por fim na aba &lt;em&gt;Options&lt;/em&gt; é possível selecionar as opções que serão aplicadas ao &lt;em&gt;Bind &lt;/em&gt;como Formato da string, Mode (&lt;em&gt;OneWay, TwoWay, etc.), etc…&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Isso somado ao fato de agora termos &lt;em&gt;Intellisense&lt;/em&gt; no editor XAML garante uma boa experiência para quem costuma usar o editor do Visual Studio ao invés do Expression Blend na hora de editar a interface das aplicações WPF.&lt;/p&gt;  </description><link>http://marcelodeaguiar.blogspot.com/2009/11/suporte-databinding-no-editor-wpf.html</link><author>noreply@blogger.com (Marcelo de Aguiar)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_D5G_g4SBpJA/SvrEiwS16hI/AAAAAAAAAFc/BIyPskOjZbs/s72-c/image_thumb%5B59%5D.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3217883833920161222.post-3424403642418555635</guid><pubDate>Tue, 10 Nov 2009 14:27:00 +0000</pubDate><atom:updated>2009-11-10T15:24:04.332-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">#VS2010PREMIO</category><category domain="http://www.blogger.com/atom/ns#">Visual Studio 2008</category><title>Fixando variáveis no Debug do VS2010</title><description>&lt;span class=&quot;sbmLink&quot;&gt;&lt;/span&gt;  &lt;p align=&quot;left&quot;&gt;Mais uma novidade do Visual Studio 2010. Agora podemos “fixar” variáveis durante o debug, eliminando o velho conhecido “Add Watch”. Como funciona?&lt;/p&gt;  &lt;p align=&quot;left&quot;&gt;Ao debugar uma aplicação e posicionar o mouse sobre uma variável agora além do valor dela é apresentada um pequeno alfinete como mostra a figura:&lt;a href=&quot;http://lh5.ggpht.com/_D5G_g4SBpJA/SvmPKjVdKEI/AAAAAAAAAEE/Sq2yVKuw_j8/s1600-h/image7%5B2%5D.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto&quot; title=&quot;image7&quot; border=&quot;0&quot; alt=&quot;image7&quot; src=&quot;http://lh5.ggpht.com/_D5G_g4SBpJA/Svl4P27YVLI/AAAAAAAAAEI/2hOviWOTt7s/image7_thumb%5B1%5D.png?imgmax=800&quot; width=&quot;508&quot; height=&quot;95&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Clicando nas setas para baixo é possível ainda adicionar um comentário a variável que será exibida durando o debug.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://lh6.ggpht.com/_D5G_g4SBpJA/Svl4QUPXU4I/AAAAAAAAAEM/8cnH50J31W8/s1600-h/image14%5B1%5D.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto&quot; title=&quot;image14&quot; border=&quot;0&quot; alt=&quot;image14&quot; src=&quot;http://lh6.ggpht.com/_D5G_g4SBpJA/Svl4QyNpaBI/AAAAAAAAAEU/zQKEzcmryQ8/image14_thumb.png?imgmax=800&quot; width=&quot;498&quot; height=&quot;108&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Agora sempre que você executar o debug essa “nota” ira aparecer eliminando a necessidade de abrirmos o painel “Watches”. Mas legal ainda, quando paramos o debug o VS guarda o ultima valor da variável, basta posicionar o mouse sobre o alfinete azul a esquerda da linha e será exibido um pequeno painel com o valor:&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/_D5G_g4SBpJA/Svl4RFOWX2I/AAAAAAAAAEc/G2k9AkubQKM/s1600-h/image18%5B1%5D.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto&quot; title=&quot;image18&quot; border=&quot;0&quot; alt=&quot;image18&quot; src=&quot;http://lh6.ggpht.com/_D5G_g4SBpJA/Svl4RiJW1eI/AAAAAAAAAEg/7kvj204VbXs/image18_thumb.png?imgmax=800&quot; width=&quot;494&quot; height=&quot;105&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;É uma pequena mudança mas que ajuda muito…&lt;/p&gt;  </description><link>http://marcelodeaguiar.blogspot.com/2009/11/fixando-variaveis-no-debug-do-vs2010.html</link><author>noreply@blogger.com (Marcelo de Aguiar)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_D5G_g4SBpJA/Svl4P27YVLI/AAAAAAAAAEI/2hOviWOTt7s/s72-c/image7_thumb%5B1%5D.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3217883833920161222.post-5941088557679366454</guid><pubDate>Tue, 25 Aug 2009 01:02:00 +0000</pubDate><atom:updated>2009-08-25T09:24:17.831-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Processo Desenvolvimento</category><title>Silvio Santos e o desenvolvimento de software.</title><description>&lt;p align=&quot;justify&quot;&gt;O ciclo de desenvolvimento de software começa com o cliente que passa a sua necessidade para o analista que por sua vez especifica como software deve ser desenhando e passa para os programadores que enfim colocam a maquina pra fincionar. Agora você se pergunta o que tem isso a ver co o Silvio Santos? Simples, imagine que o Silvio Santos é o Cliente, o homen participando do programa é o Analista e as moças são os programadores. Agora assista o video abaixo e veja como o processo todo funciona.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style=&quot;padding: 0px; width: 425px; display: block; float: none; margin-left: auto; margin-right: auto;&quot; id=&quot;scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:7047a62c-71f2-4be5-932e-ee1b79672b19&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;&lt;div id=&quot;97118d96-9aa4-4a36-9018-571442c09cd4&quot; style=&quot;margin: 0px; padding: 0px; display: inline;&quot;&gt;&lt;div&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=mpXShHdQGcQ&quot; target=&quot;_new&quot;&gt;&lt;img src=&quot;http://lh6.ggpht.com/_D5G_g4SBpJA/SpM4EJrmOaI/AAAAAAAAAC4/Y-lEa5dIJww/video5d7be0771707%5B3%5D.jpg?imgmax=800&quot; style=&quot;border-style: none;&quot; galleryimg=&quot;no&quot; onload=&quot;var downlevelDiv = document.getElementById(&#39;97118d96-9aa4-4a36-9018-571442c09cd4&#39;); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/mpXShHdQGcQ&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/mpXShHdQGcQ&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;Vai dizer que não é assim que funciona…&lt;/p&gt;</description><link>http://marcelodeaguiar.blogspot.com/2009/08/silvio-santos-e-o-desenvolvimento-de.html</link><author>noreply@blogger.com (Marcelo de Aguiar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3217883833920161222.post-8604508137412446882</guid><pubDate>Wed, 24 Jun 2009 16:44:00 +0000</pubDate><atom:updated>2009-06-24T13:44:48.926-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Dicas</category><category domain="http://www.blogger.com/atom/ns#">JavaScript</category><category domain="http://www.blogger.com/atom/ns#">library</category><category domain="http://www.blogger.com/atom/ns#">LINQ</category><title>jLinq, LINQ para Javascript</title><description>&lt;p&gt;jLinq é uma biblioteca javascript que permite escrever queries para arrays de um jeito muito parecido com o LINQ do .Net Framework.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class=&quot;csharpcode&quot;&gt;   &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;   1:  &lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;var&lt;/span&gt; results = jLinq.from(data.users)&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   2:  &lt;/span&gt;    .startsWith(&lt;span class=&quot;str&quot;&gt;&amp;quot;first&amp;quot;&lt;/span&gt;, &lt;span class=&quot;str&quot;&gt;&amp;quot;a&amp;quot;&lt;/span&gt;)&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;   3:  &lt;/span&gt;    .orEndsWith(&lt;span class=&quot;str&quot;&gt;&amp;quot;y&amp;quot;&lt;/span&gt;)&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   4:  &lt;/span&gt;    .orderBy(&lt;span class=&quot;str&quot;&gt;&amp;quot;admin&amp;quot;&lt;/span&gt;, &lt;span class=&quot;str&quot;&gt;&amp;quot;age&amp;quot;&lt;/span&gt;)&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;   5:  &lt;/span&gt;    .select();&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Mais detalhes você encontra na &lt;a href=&quot;http://hugoware.net/&quot; target=&quot;_blank&quot;&gt;pagina do projeto&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px&quot; id=&quot;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:15429821-7f3d-444b-bfbc-89b3458876ec&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;Marcas Technorati: &lt;a href=&quot;http://technorati.com/tags/Javascript&quot; rel=&quot;tag&quot;&gt;Javascript&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/LINQ&quot; rel=&quot;tag&quot;&gt;LINQ&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/Dicas&quot; rel=&quot;tag&quot;&gt;Dicas&lt;/a&gt;,&lt;a href=&quot;http://technorati.com/tags/library&quot; rel=&quot;tag&quot;&gt;library&lt;/a&gt;&lt;/div&gt;  </description><link>http://marcelodeaguiar.blogspot.com/2009/06/jlinq-linq-para-javascript.html</link><author>noreply@blogger.com (Marcelo de Aguiar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3217883833920161222.post-7918273326871205022</guid><pubDate>Wed, 24 Jun 2009 04:05:00 +0000</pubDate><atom:updated>2009-06-24T01:05:21.029-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Outros</category><title>Terapia do choque…</title><description>&lt;p&gt;Faz sentido…&lt;/p&gt;  &lt;div style=&quot;padding-bottom: 0px; padding-left: 0px; width: 425px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px&quot; id=&quot;scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:d96322a6-b6b5-4e86-98a4-8436662e77a2&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;&lt;div id=&quot;cbbb74d3-fd27-431b-891c-b98b820b6487&quot; style=&quot;margin: 0px; padding: 0px; display: inline;&quot;&gt;&lt;div&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=Moq8uH_V-84&quot; target=&quot;_new&quot;&gt;&lt;img src=&quot;http://lh4.ggpht.com/_D5G_g4SBpJA/SkGl_6H3WpI/AAAAAAAAACc/RQJPM_t3Rvs/videodd7776441516%5B3%5D.jpg?imgmax=800&quot; style=&quot;border-style: none&quot; galleryimg=&quot;no&quot; onload=&quot;var downlevelDiv = document.getElementById(&#39;cbbb74d3-fd27-431b-891c-b98b820b6487&#39;); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/Moq8uH_V-84&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/Moq8uH_V-84&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  </description><link>http://marcelodeaguiar.blogspot.com/2009/06/terapia-do-choque.html</link><author>noreply@blogger.com (Marcelo de Aguiar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3217883833920161222.post-3366770988135643252</guid><pubDate>Wed, 17 Jun 2009 02:03:00 +0000</pubDate><atom:updated>2009-06-16T23:03:24.991-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">3G</category><category domain="http://www.blogger.com/atom/ns#">Armadilha</category><category domain="http://www.blogger.com/atom/ns#">Claro</category><category domain="http://www.blogger.com/atom/ns#">Enganado</category><category domain="http://www.blogger.com/atom/ns#">Internet</category><category domain="http://www.blogger.com/atom/ns#">Mentira</category><title>Claro 3G, não caia nessa armadilha</title><description>&lt;p&gt;É amigos o Brasil é realmente o pais das “porcarias”, da velocidade da conexão com a internet ao preço exorbitante cobrado por ela.&lt;/p&gt;  &lt;p&gt;Recentemente contratei o serviço de banda larga de 1 mega 3G da Claro que era supostamente ilimitado, mas não caiam nessa armadilha, pois você vai pagar R$ 119,00 para baixar no máximo 1gb, depois sua velocidade vai para 15Kbps, isso mesmo, a Claro aplica o sistema de cota. &lt;/p&gt;  &lt;p&gt;Mas a pior parte disso tudo é que os vendedores da Claro não sabem (ou omitem) a informação de que a cota é aplicada, quando fui contratar o serviço perguntei a vendedora 3 vezes: Existe alguma limitação? É aplicado cota? Vou ser taxado por baixar excesso de dados? E a resposta foi sempre a mesma, um não dito com aquela cara deslavada.&lt;/p&gt;  &lt;p&gt;Quando tentei cancelar o serviço, obviamente após passar 40 minutos no telefone, fui informado que teria que pagar a multa de rescisão de contrato de R$ 400,00. Comedia total, ao explicar a situação para a telefonista ela disse: O senhor gravou a vendedora dizendo que não tinha limite? Não, então o senhor não pode provar e nesse caso vai ter que pagar a multa. Ok, eu pensei, mas e a informação no site de que não há limite de volume de tráfego? Bom, ai veio a desculpa de sempre, desculpe senhor mas não tenho conhecimento disso. Pois Bem, ai esta para seu conhecimento cara telefonista desinformada:&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/_D5G_g4SBpJA/SjhO5XpOzNI/AAAAAAAAACU/VjK9ijiv_MA/s1600-h/image%5B5%5D.png&quot;&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh4.ggpht.com/_D5G_g4SBpJA/SjhO6lPRDUI/AAAAAAAAACY/ns1WvwMxGyw/image_thumb%5B3%5D.png?imgmax=800&quot; width=&quot;464&quot; height=&quot;129&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Você pode ver essa página &lt;a href=&quot;http://www.claro.com.br/portal/planoinside.do?method=showAcessoInternet3G&amp;amp;3G=S&quot; target=&quot;_blank&quot;&gt;aqui&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Na minha interpretação “volume de tráfego” quer dizer dados, logo, dados são bytes transferidos, se não a limite de bytes transferidos então não existe cota, certo? Ou seja, estão anunciando uma coisa e vendendo outra. &lt;/p&gt;  &lt;p&gt;No final das contas parece que o brasileiro continua sendo tratado como um palhaço então cuidado, &lt;strong&gt;NÃO CAIA NA ARMADILHA DA INTERNET 3G DA CLARO&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Obs: &lt;/strong&gt;Se tiver algum advogado por ai que queira entrar com uma ação contra esta porcaria de operadora pode contar com a minha ajuda.&lt;/p&gt;  </description><link>http://marcelodeaguiar.blogspot.com/2009/06/claro-3g-nao-caia-nessa-armadilha.html</link><author>noreply@blogger.com (Marcelo de Aguiar)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_D5G_g4SBpJA/SjhO6lPRDUI/AAAAAAAAACY/ns1WvwMxGyw/s72-c/image_thumb%5B3%5D.png?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3217883833920161222.post-4283815182690905060</guid><pubDate>Wed, 03 Jun 2009 01:24:00 +0000</pubDate><atom:updated>2009-06-02T22:24:38.538-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Debug</category><category domain="http://www.blogger.com/atom/ns#">Visual Studio 2008</category><category domain="http://www.blogger.com/atom/ns#">Visual Studio 2010</category><category domain="http://www.blogger.com/atom/ns#">WPF</category><title>Debugger Visualizers</title><description>&lt;p&gt;Quando estamos “debugando” uma aplicação e precisamos visualizar os valores de uma variável de um tipo especifico como XML’s, HTML ou DataSets por exemplo, o Visual Studio nos oferece os Debugger Visualizers. &lt;/p&gt;  &lt;p&gt;Ao parar em um break-point posicione o mouse sobre a variável e note a pequena lupa ao lado do nome.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://lh6.ggpht.com/_D5G_g4SBpJA/SiXQvaO3HXI/AAAAAAAAABc/IWylOIvB-X8/s1600-h/image3.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh4.ggpht.com/_D5G_g4SBpJA/SiXQwrQM0aI/AAAAAAAAABg/WpWjYNVR0Q4/image_thumb1.png?imgmax=800&quot; width=&quot;461&quot; height=&quot;69&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Na versão do Visual Studio 2008 existem Visualizers para os tipos que citei antes: Texto, Html, Xml e Datasets. Já no Visual Studio 2010 existe um novo tipo especifico para aplicações WPF, é o &lt;strong&gt;WPF Tree Visualizer&lt;/strong&gt; que apresenta informações sobre todos os objetos na hierarquia do WPF juntamente com suas propriedades e um preview da sua renderização.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/_D5G_g4SBpJA/SiXQzDeBk5I/AAAAAAAAABk/hV2aNhbp2fE/s1600-h/image7.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh3.ggpht.com/_D5G_g4SBpJA/SiXQ1R5okEI/AAAAAAAAABo/b9Kc5GVknVA/image_thumb3.png?imgmax=800&quot; width=&quot;465&quot; height=&quot;286&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Ferramenta essencial para quem quer trabalhar com WPF, ajuda inestimável ao debuggar bindings.&lt;/p&gt;  &lt;p&gt;É possível ainda construir seus próprios Visualizers, mais informações sobre como cria-los podem ser encontrados &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/e2zc529c.aspx&quot; target=&quot;_blank&quot;&gt;aqui&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;See ya.&lt;/p&gt;  </description><link>http://marcelodeaguiar.blogspot.com/2009/06/debugger-visualizers.html</link><author>noreply@blogger.com (Marcelo de Aguiar)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_D5G_g4SBpJA/SiXQwrQM0aI/AAAAAAAAABg/WpWjYNVR0Q4/s72-c/image_thumb1.png?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3217883833920161222.post-7787453929924596956</guid><pubDate>Fri, 29 May 2009 21:55:00 +0000</pubDate><atom:updated>2009-05-29T18:55:04.700-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Outros</category><title>Com quantas linhas…</title><description>&lt;p&gt;Ontem fui a uma palestra sobre .Net Compact Framework e Windows Mobile, recebi o convite de ultima hora então nem tive muito tempo para pensar.&lt;/p&gt;  &lt;p&gt;Chegando lá já estava começando, me apressei em assinar a lista de presença e encontrar um lugar para sentar. Alguns minutos e o dito Microsoft MVP whatever me solta as famosas palavras: &lt;/p&gt;  &lt;p&gt;- Quantas linhas vocês acham que eu preciso para &amp;lt;coloque sua funcionalidade aqui&amp;gt;?&lt;/p&gt;  &lt;p&gt;Pois é, ainda hoje esses ditos conhecedores das tecnologias apelam para esse argumento de “vendedor de livro de porta em porta” para tentar impressionar o auditório. Daquele ponto em diante eu já sabia como seria a palestra: mostrar as facilidades de arrastar e soltar, vejam quantas linhas preciso para isso, bastar clicar aqui, etc. Coisas que só funcionam (quando funcionam) em demonstrações mas que jamais qualquer pessoa em sã consciência usaria em uma aplicação comercial. Realmente um desperdício um MVP dando uma palestra tão boba como essa, acho que eu teria aprendido o que ele mostrou em 5 minutos de busca no Google em qualquer tutorial de um garoto de 12 anos. &lt;/p&gt;  &lt;p&gt;Então senhores MVP’s, por favor, quando forem mostrar alguma tecnologia ou produto novo, não caiam nessa armadilha e acreditem no potencial do seu auditório ok.&lt;/p&gt;  &lt;p&gt;No fim das contas aguentei até o final e acabei ganhando o livro &lt;a href=&quot;http://www.amazon.com/LINQ-Pocket-Reference-OReilly/dp/0596519249&quot; target=&quot;_blank&quot;&gt;Linq – Guia de Bolso&lt;/a&gt;.&lt;/p&gt;  </description><link>http://marcelodeaguiar.blogspot.com/2009/05/com-quantas-linhas.html</link><author>noreply@blogger.com (Marcelo de Aguiar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3217883833920161222.post-5494148501954508201</guid><pubDate>Wed, 27 May 2009 22:11:00 +0000</pubDate><atom:updated>2009-05-27T19:11:52.959-03:00</atom:updated><title>Quem me dera jogar metade…</title><description>&lt;p&gt;…do que esse menino joga. Sensacional&lt;/p&gt;  &lt;p&gt;   &lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px&quot; id=&quot;scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:a652c592-b5b8-46df-9279-19719a3cc392&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;&lt;div id=&quot;4a0573b9-90bd-4ad8-be3d-5878724529c3&quot; style=&quot;margin: 0px; padding: 0px; display: inline;&quot;&gt;&lt;div&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=8XQb4sOqUVo&quot; target=&quot;_new&quot;&gt;&lt;img src=&quot;http://lh3.ggpht.com/_D5G_g4SBpJA/Sh26nPpRRNI/AAAAAAAAABQ/gyjWQy13g8o/videoa930937e7efe%5B3%5D.jpg?imgmax=800&quot; style=&quot;border-style: none&quot; galleryimg=&quot;no&quot; onload=&quot;var downlevelDiv = document.getElementById(&#39;4a0573b9-90bd-4ad8-be3d-5878724529c3&#39;); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/8XQb4sOqUVo&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/8XQb4sOqUVo&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;/p&gt;  &lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px&quot; id=&quot;scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:224677b0-f210-4a1b-9824-7cb343882d38&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;&lt;div id=&quot;5b60e13c-267a-48f7-a27b-3930196cf214&quot; style=&quot;margin: 0px; padding: 0px; display: inline;&quot;&gt;&lt;div&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=9vmQKv6bS9Y&quot; target=&quot;_new&quot;&gt;&lt;img src=&quot;http://lh4.ggpht.com/_D5G_g4SBpJA/Sh26oTsx3vI/AAAAAAAAABU/AUi_AvQfNBg/videofb75bae940cb%5B3%5D.jpg?imgmax=800&quot; style=&quot;border-style: none&quot; galleryimg=&quot;no&quot; onload=&quot;var downlevelDiv = document.getElementById(&#39;5b60e13c-267a-48f7-a27b-3930196cf214&#39;); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/9vmQKv6bS9Y&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/9vmQKv6bS9Y&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px&quot; id=&quot;scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:0163f2d7-eccc-42cc-a6f4-1f73d9cc2a5c&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;&lt;div id=&quot;223b902e-175c-433f-9460-35e5b6284eb8&quot; style=&quot;margin: 0px; padding: 0px; display: inline;&quot;&gt;&lt;div&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=8nXFQRwoPCo&quot; target=&quot;_new&quot;&gt;&lt;img src=&quot;http://lh6.ggpht.com/_D5G_g4SBpJA/Sh26pzt1hmI/AAAAAAAAABY/NSq68iJTBR8/videofdfb96a595b5%5B3%5D.jpg?imgmax=800&quot; style=&quot;border-style: none&quot; galleryimg=&quot;no&quot; onload=&quot;var downlevelDiv = document.getElementById(&#39;223b902e-175c-433f-9460-35e5b6284eb8&#39;); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;object width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;param name=\&amp;quot;movie\&amp;quot; value=\&amp;quot;http://www.youtube.com/v/8nXFQRwoPCo&amp;amp;hl=en\&amp;quot;&amp;gt;&amp;lt;\/param&amp;gt;&amp;lt;embed src=\&amp;quot;http://www.youtube.com/v/8nXFQRwoPCo&amp;amp;hl=en\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; width=\&amp;quot;425\&amp;quot; height=\&amp;quot;355\&amp;quot;&amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/object&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;Vi no &lt;a href=&quot;http://pepsi.gizmodo.com.br/conteudo/sinuqueiro-de-2-anos&quot; target=&quot;_blank&quot;&gt;Trendy House Pepsi&lt;/a&gt;&lt;/p&gt;  </description><link>http://marcelodeaguiar.blogspot.com/2009/05/quem-me-dera-jogar-metade.html</link><author>noreply@blogger.com (Marcelo de Aguiar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3217883833920161222.post-2190036817334523436</guid><pubDate>Sat, 23 May 2009 16:04:00 +0000</pubDate><atom:updated>2009-05-23T13:04:20.423-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Debug</category><category domain="http://www.blogger.com/atom/ns#">VS2010</category><title>VS2010 - Debugando e criando lembretes</title><description>&lt;p&gt;No Visual Studio 2010 é possível adicionar notas e lembretes as suas variáveis enquanto “debuga” um código como na imagem abaixo:&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/_D5G_g4SBpJA/ShgedihJPYI/AAAAAAAAABE/rNtf-jXcGLU/s1600-h/image%5B32%5D.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://lh6.ggpht.com/_D5G_g4SBpJA/ShgegbuYqvI/AAAAAAAAABM/aaToQu3hQAU/image_thumb%5B30%5D.png?imgmax=800&quot; width=&quot;514&quot; height=&quot;280&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Legal, agora não da mais para esquecer de validar alguma coisa no código :D&lt;/p&gt;  </description><link>http://marcelodeaguiar.blogspot.com/2009/05/vs2010-debugando-e-criando-lembretes.html</link><author>noreply@blogger.com (Marcelo de Aguiar)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_D5G_g4SBpJA/ShgegbuYqvI/AAAAAAAAABM/aaToQu3hQAU/s72-c/image_thumb%5B30%5D.png?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3217883833920161222.post-4928546402520438365</guid><pubDate>Wed, 20 May 2009 23:02:00 +0000</pubDate><atom:updated>2009-05-20T20:02:46.489-03:00</atom:updated><title>Visual Studio 2010 Beta 1</title><description>&lt;p&gt;Disponivel para &lt;a href=&quot;http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx&quot; target=&quot;_blank&quot;&gt;download&lt;/a&gt; a versão beta 1 do Visual Studio 2010, Corre la pra baixar. Eu já garanti o meu :D&lt;/p&gt;  </description><link>http://marcelodeaguiar.blogspot.com/2009/05/visual-studio-2010-beta-1.html</link><author>noreply@blogger.com (Marcelo de Aguiar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3217883833920161222.post-3825318054895663920</guid><pubDate>Fri, 03 Apr 2009 23:58:00 +0000</pubDate><atom:updated>2009-04-27T20:59:07.743-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Serializar</category><category domain="http://www.blogger.com/atom/ns#">Ícone</category><title>Serializando um ícone</title><description>&lt;p&gt;Madrugada de sexta-feira, 04:35am. &lt;/p&gt;  &lt;p&gt;Posso ouvir os despertadores tocando nos apartamentos vizinhos e as pessoas saindo para trabalhar e eu me pergunto: O que diabos eu estou fazendo acordado?!? &lt;/p&gt;  &lt;p&gt;A Resposta é simples, como todo bom nerd, quando colocamos alguma coisa na cabeça não descansamos até que ela esteja funcionando (a coisa, não a cabeça).    &lt;br /&gt;Pois bem a mais ou menos a umas 5 horas atrás eu resolvi que uma maldita classe minha teria propriedade do tipo System.Drawing.Icon. Isso mesmo, uma simples figurinha, inofensiva aos olhos dos descuidados mas alguém ai já tentou serializar esse ícone para um XML? Isso é mais difícil do que pensei, e antes que alguém me chame de burro deixe eu explicar a situação. &lt;/p&gt;  &lt;p&gt;Eu não queria apenas serializar o ícone, queria faze-lo sem perda de qualidade e mais importante do que isso, sem perder a transparência da figura... e meus amigos, eu consegui Há.&lt;/p&gt;  &lt;p&gt;Funciona da seguinte maneira, imagine a seguinte classe&lt;/p&gt;  &lt;div class=&quot;csharpcode&quot;&gt;   &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;   1:  &lt;/span&gt;[Serializable()]&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   2:  &lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;class&lt;/span&gt; Person&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;   3:  &lt;/span&gt;{&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   4:  &lt;/span&gt;   &lt;span class=&quot;kwrd&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;string&lt;/span&gt; _name;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;   5:  &lt;/span&gt;   &lt;span class=&quot;kwrd&quot;&gt;private&lt;/span&gt; Icon _icon;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   6:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;   7:  &lt;/span&gt;   &lt;span class=&quot;kwrd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;string&lt;/span&gt; Nome { get; set; }&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   8:  &lt;/span&gt;   &lt;span class=&quot;kwrd&quot;&gt;public&lt;/span&gt; Icon PersonIcon { get; set; }&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;   9:  &lt;/span&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; 1. Marque a sua propriedade PersonIcon com o atributo [XmlIgnoreAttribute()] dessa forma ela não será serializada;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;2. Crie uma nova propriedade chamada IconByteArray, esta sim será serializada;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;csharpcode&quot;&gt;    &lt;span class=&quot;kwrd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;byte&lt;/span&gt;[] IconByteArray { get; set; }&lt;/pre&gt;&lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Implementando agora o Get da propriedade:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;csharpcode&quot;&gt;&lt;br /&gt;  &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;   1:  &lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; (!&lt;span class=&quot;kwrd&quot;&gt;object&lt;/span&gt;.ReferenceEquals(&lt;span class=&quot;kwrd&quot;&gt;this&lt;/span&gt;._icon, &lt;span class=&quot;kwrd&quot;&gt;null&lt;/span&gt;))&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   2:  &lt;/span&gt;{&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;   3:  &lt;/span&gt;    &lt;span class=&quot;rem&quot;&gt;//Converto pra Bitmap primeiro...&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   4:  &lt;/span&gt;    TypeConverter converter = TypeDescriptor.GetConverter(&lt;span class=&quot;kwrd&quot;&gt;typeof&lt;/span&gt;(Icon));&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;   5:  &lt;/span&gt;    &lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; (converter.CanConvertTo(&lt;span class=&quot;kwrd&quot;&gt;typeof&lt;/span&gt;(Bitmap)))&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   6:  &lt;/span&gt;    {&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;   7:  &lt;/span&gt;        Bitmap b = (Bitmap)converter.ConvertTo(&lt;span class=&quot;kwrd&quot;&gt;this&lt;/span&gt;._icon, &lt;span class=&quot;kwrd&quot;&gt;typeof&lt;/span&gt;(Bitmap));&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   8:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;   9:  &lt;/span&gt;        &lt;span class=&quot;rem&quot;&gt;// Criamos um MemoryStram para guardar os bytes&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;  10:  &lt;/span&gt;        &lt;span class=&quot;kwrd&quot;&gt;using&lt;/span&gt; (MemoryStream ms = &lt;span class=&quot;kwrd&quot;&gt;new&lt;/span&gt; MemoryStream())&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;  11:  &lt;/span&gt;        {&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;  12:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;  13:  &lt;/span&gt;            &lt;span class=&quot;rem&quot;&gt;// Salvando os bytes no stream e IMPORTANTE&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;  14:  &lt;/span&gt;            &lt;span class=&quot;rem&quot;&gt;// marcando o formato como PNG assim garantimos a transparencia do icone&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;  15:  &lt;/span&gt;            b.Save(ms, ImageFormat.Png);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;  16:  &lt;/span&gt;            &lt;span class=&quot;kwrd&quot;&gt;return&lt;/span&gt; ms.ToArray();&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;  17:  &lt;/span&gt;        }&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;  18:  &lt;/span&gt;    }&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;  19:  &lt;/span&gt;    &lt;span class=&quot;kwrd&quot;&gt;else&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;  20:  &lt;/span&gt;        &lt;span class=&quot;kwrd&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;byte&lt;/span&gt;[] { };&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;  21:  &lt;/span&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;  22:  &lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;else&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;  23:  &lt;/span&gt;    &lt;span class=&quot;kwrd&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;byte&lt;/span&gt;[]{};&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;E por fim, implementamos o Set da propriedade IconByteArray:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;csharpcode&quot;&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   1:  &lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;if&lt;/span&gt; (!&lt;span class=&quot;kwrd&quot;&gt;object&lt;/span&gt;.ReferenceEquals(&lt;span class=&quot;kwrd&quot;&gt;value&lt;/span&gt;, &lt;span class=&quot;kwrd&quot;&gt;null&lt;/span&gt;))&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   2:  &lt;/span&gt;{&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   3:  &lt;/span&gt;    &lt;span class=&quot;rem&quot;&gt;// Lendo os bytes do XML e criando o Bitmap denovo.&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   4:  &lt;/span&gt;    Bitmap b = (Bitmap)Image.FromStream(&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   5:  &lt;/span&gt;        &lt;span class=&quot;kwrd&quot;&gt;new&lt;/span&gt; MemoryStream(&lt;span class=&quot;kwrd&quot;&gt;value&lt;/span&gt;),&lt;span class=&quot;kwrd&quot;&gt;true&lt;/span&gt;,&lt;span class=&quot;kwrd&quot;&gt;true&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   6:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   7:  &lt;/span&gt;    &lt;span class=&quot;rem&quot;&gt;// Pegamos o ponteiro (handle) para o Bitmap que acabamos de criar&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   8:  &lt;/span&gt;    IntPtr HIcon = b.GetHicon();&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   9:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;  10:  &lt;/span&gt;    &lt;span class=&quot;rem&quot;&gt;// Com base no handle criamos nosso icone e clonamos ele&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;  11:  &lt;/span&gt;    &lt;span class=&quot;rem&quot;&gt;// IMPORTANTE - Clonamos o icone para não ficarmos presos ao handle e para&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;  12:  &lt;/span&gt;    &lt;span class=&quot;rem&quot;&gt;//podermos libera-lo sem problemas pro SO&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;  13:  &lt;/span&gt;    &lt;span class=&quot;kwrd&quot;&gt;this&lt;/span&gt;._icon = (Icon)Icon.FromHandle(HIcon).Clone();&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;  14:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;  15:  &lt;/span&gt;    &lt;span class=&quot;rem&quot;&gt;// Liberando o Handle para o sistema operacioal...&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;  16:  &lt;/span&gt;    SysImageList.DestroyIcon(HIcon);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;  17:  &lt;/span&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;csharpcode&quot;&gt;&amp;#160;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Lembrando que para poder usar a função &lt;strong&gt;DestryIcon(IntPtr)&lt;/strong&gt; precisamos importar uma API do Windows, para isso basta declarar no seu código: &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;csharpcode&quot;&gt;&lt;br /&gt;  &lt;pre class=&quot;alt&quot;&gt;&lt;span class=&quot;lnum&quot;&gt;   1:  &lt;/span&gt;[DllImport(&lt;span class=&quot;str&quot;&gt;&amp;quot;user32.dll&amp;quot;&lt;/span&gt;)]&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;  &lt;pre&gt;&lt;span class=&quot;lnum&quot;&gt;   2:  &lt;/span&gt;&lt;span class=&quot;kwrd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;extern&lt;/span&gt; &lt;span class=&quot;kwrd&quot;&gt;int&lt;/span&gt; DestroyIcon(IntPtr hIcon); &lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;E agora eu posso ir dormir sussegado ;) &lt;/p&gt;&lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;style type=&quot;text/css&quot;&gt;&lt;br /&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt;	font-size: small;&lt;br /&gt;	color: black;&lt;br /&gt;	font-family: consolas, &quot;Courier New&quot;, courier, monospace;&lt;br /&gt;	background-color: #ffffff;&lt;br /&gt;	/*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt;	background-color: #f4f4f4;&lt;br /&gt;	width: 100%;&lt;br /&gt;	margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;  </description><link>http://marcelodeaguiar.blogspot.com/2009/04/serializando-um-icone.html</link><author>noreply@blogger.com (Marcelo de Aguiar)</author><thr:total>0</thr:total></item></channel></rss>