<?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:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-6622542599553745831</atom:id><lastBuildDate>Tue, 02 Mar 2010 20:05:28 +0000</lastBuildDate><title>Recursividade</title><description>Para entender a recursividade é preciso entender a recursividade.</description><link>http://recursividade.wesoft.com.br/</link><managingEditor>noreply@blogger.com (Wagner)</managingEditor><generator>Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Recursividade" /><feedburner:info uri="recursividade" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>-23.5489433</geo:lat><geo:long>-46.63881820000001</geo:long><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-3118010014143008482</guid><pubDate>Wed, 18 Nov 2009 10:00:00 +0000</pubDate><atom:updated>2009-11-18T08:00:03.420-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Decepcionado com a Classe</category><category domain="http://www.blogger.com/atom/ns#">Webdesign</category><category domain="http://www.blogger.com/atom/ns#">Programação</category><category domain="http://www.blogger.com/atom/ns#">Carreira</category><category domain="http://www.blogger.com/atom/ns#">Humor</category><title>O Desabafo de um Desenvolvedor Web</title><description>&lt;center&gt;&lt;br /&gt;
&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/V-cyaXVmNUQ&amp;hl=pt_BR&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/V-cyaXVmNUQ&amp;hl=pt_BR&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-3118010014143008482?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cSvNFinbaRkIB_YC5rNRPux1Izo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cSvNFinbaRkIB_YC5rNRPux1Izo/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/cSvNFinbaRkIB_YC5rNRPux1Izo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cSvNFinbaRkIB_YC5rNRPux1Izo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Recursividade?a=w8c2s6oK9lU:_C_2UR2AL6k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Recursividade?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Recursividade?a=w8c2s6oK9lU:_C_2UR2AL6k:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Recursividade?i=w8c2s6oK9lU:_C_2UR2AL6k:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/w8c2s6oK9lU/o-desabafo-de-um-desenvolvedor-web.html</link><author>noreply@blogger.com (Wagner)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2009/11/o-desabafo-de-um-desenvolvedor-web.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-9072240512029704676</guid><pubDate>Tue, 17 Nov 2009 16:28:00 +0000</pubDate><atom:updated>2009-11-17T14:28:33.070-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Decepcionado com a Classe</category><category domain="http://www.blogger.com/atom/ns#">Webdesign</category><category domain="http://www.blogger.com/atom/ns#">Programação</category><category domain="http://www.blogger.com/atom/ns#">Carreira</category><category domain="http://www.blogger.com/atom/ns#">Humor</category><title>O Desabafo de um Web Designer</title><description>&lt;center&gt;&lt;br /&gt;
&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/m711mKI54iI&amp;hl=pt_BR&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/m711mKI54iI&amp;hl=pt_BR&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-9072240512029704676?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CMMOrxPo0pcr7n9PHV1vnrnMWNk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CMMOrxPo0pcr7n9PHV1vnrnMWNk/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/CMMOrxPo0pcr7n9PHV1vnrnMWNk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CMMOrxPo0pcr7n9PHV1vnrnMWNk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Recursividade?a=Fr2999sJQSA:GnKI7y_yLug:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Recursividade?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Recursividade?a=Fr2999sJQSA:GnKI7y_yLug:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Recursividade?i=Fr2999sJQSA:GnKI7y_yLug:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/Fr2999sJQSA/o-desabafo-de-um-web-designer.html</link><author>noreply@blogger.com (Wagner)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2009/11/o-desabafo-de-um-web-designer.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-7302287494701687498</guid><pubDate>Tue, 06 Oct 2009 04:55:00 +0000</pubDate><atom:updated>2009-10-06T01:56:05.977-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">free</category><category domain="http://www.blogger.com/atom/ns#">programas</category><category domain="http://www.blogger.com/atom/ns#">Gerenciamento</category><category domain="http://www.blogger.com/atom/ns#">utilitários</category><category domain="http://www.blogger.com/atom/ns#">senhas</category><category domain="http://www.blogger.com/atom/ns#">opensource</category><category domain="http://www.blogger.com/atom/ns#">segurança</category><title>Programa para gerenciamento de senhas.</title><description>Quem hoje em dia não sofre para gerenciar suas senhas? São tantos fóruns, tantos sistemas diferentes. É senha do Google, senha do Facebook, senhas de sistemas, senhas de FTPs e tantas outras...Como você faz para gerenciar? Alguns dirão que usam a mesma senha para tudo (o que é muito perigoso). Outros, que anotam em .txts, em e-mails ou outra forma. Mas existem alternativas melhores, na minha opinião. Uma delas é o programa "Keepass Password Safe":&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a target="_blank" href="http://keepass.info/screenshots/main_big.png" imageanchor="1" linkindex="43" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="287" src="http://keepass.info/screenshots/main_big.png" width="420" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;Ele permite separar suas senhas por categorias, e subcategorias, exporta para diversos formatos, gera senhas (permitindo inclusive que você especifique critérios a serem usados nas senhas, como por exemplo, quantidade de caracteres e se deve ter números).&lt;br /&gt;
&lt;br /&gt;
Enfim, tenho usado há mais de um ano, e nunca me decepcionei. Ele possui versões para Windows, Linux, e até portáteis, como Iphone e BlackBerry, entre outras.&lt;br /&gt;
&lt;br /&gt;
Além de tudo, é gratuito e Opensource. Para saber mais, basta &lt;a target="_blank"  href="http://keepass.info/" linkindex="44"&gt;visitar o site&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-7302287494701687498?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/X-2-9boGkBBM3KeTyQG0jH6cOzo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/X-2-9boGkBBM3KeTyQG0jH6cOzo/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-2-9boGkBBM3KeTyQG0jH6cOzo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/X-2-9boGkBBM3KeTyQG0jH6cOzo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Recursividade?a=B4vX7yNzxCE:RmhDfruehn8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Recursividade?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Recursividade?a=B4vX7yNzxCE:RmhDfruehn8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Recursividade?i=B4vX7yNzxCE:RmhDfruehn8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/B4vX7yNzxCE/programa-para-gerenciamento-de-senhas.html</link><author>noreply@blogger.com (Wagner)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2009/10/programa-para-gerenciamento-de-senhas.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-504073481532115767</guid><pubDate>Fri, 02 Oct 2009 05:31:00 +0000</pubDate><atom:updated>2009-10-02T02:33:04.292-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Sql Server</category><category domain="http://www.blogger.com/atom/ns#">Empreendedorismo</category><category domain="http://www.blogger.com/atom/ns#">Windows</category><category domain="http://www.blogger.com/atom/ns#">Expression Web</category><category domain="http://www.blogger.com/atom/ns#">Visual Studio</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">.Net</category><category domain="http://www.blogger.com/atom/ns#">Carreira</category><title>Microsoft WebsiteSpark</title><description>A Microsoft lançou um novo programa de apoio a pequenas empresas. É o WebsiteSpark.&lt;br /&gt;&lt;br /&gt;As empresas que aderirem ao programa terão acesso gratuito a treinamentos, suporte e softwares como Visual Studio Professional, Windows Server 2008, SQL Server, Expression Web e outros.&lt;br /&gt;&lt;br /&gt;Um dos (poucos) requisitos é que a empresa tenha 10 ou menos funcionários.&lt;br /&gt;&lt;br /&gt;O preço disso? Nada! Ou melhor, paga-se uma taxa de US$ 100,00 ao sair do programa (que dura 3 anos).&lt;br /&gt;&lt;br /&gt;Para mais informações, visite o site em &lt;a target="_blank" href="http://www.microsoft.com/web/websitespark/" linkindex="44"&gt;http://www.microsoft.com/web/websitespark/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-504073481532115767?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5FLIn9uFglL5TGSNXSASzlBA5ds/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5FLIn9uFglL5TGSNXSASzlBA5ds/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/5FLIn9uFglL5TGSNXSASzlBA5ds/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5FLIn9uFglL5TGSNXSASzlBA5ds/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Recursividade?a=cFw2fRL7oqg:O04bTVHnmOU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Recursividade?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Recursividade?a=cFw2fRL7oqg:O04bTVHnmOU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Recursividade?i=cFw2fRL7oqg:O04bTVHnmOU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/cFw2fRL7oqg/microsoft-websitespark.html</link><author>noreply@blogger.com (Wagner)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2009/10/microsoft-websitespark.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-5087502054809109730</guid><pubDate>Tue, 22 Sep 2009 15:47:00 +0000</pubDate><atom:updated>2009-09-22T12:47:19.802-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Decepcionado com a Classe</category><category domain="http://www.blogger.com/atom/ns#">Carreira</category><category domain="http://www.blogger.com/atom/ns#">Humor</category><title>Te lembra algo?</title><description>&lt;center&gt;&lt;br /&gt;
&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/GjXXsUujpLI&amp;hl=pt-br&amp;fs=1&amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/GjXXsUujpLI&amp;hl=pt-br&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-5087502054809109730?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VTjwCw7ja_Ekkp4olqJBtaCmSPI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VTjwCw7ja_Ekkp4olqJBtaCmSPI/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/VTjwCw7ja_Ekkp4olqJBtaCmSPI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VTjwCw7ja_Ekkp4olqJBtaCmSPI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Recursividade?a=tIkavj18iC0:ILa-doBU4xo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Recursividade?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Recursividade?a=tIkavj18iC0:ILa-doBU4xo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Recursividade?i=tIkavj18iC0:ILa-doBU4xo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/tIkavj18iC0/te-lembra-algo.html</link><author>noreply@blogger.com (Wagner)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2009/09/te-lembra-algo.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-2650117302152227496</guid><pubDate>Thu, 17 Sep 2009 20:18:00 +0000</pubDate><atom:updated>2009-09-17T17:18:10.915-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Decepcionado com a Classe</category><category domain="http://www.blogger.com/atom/ns#">Tempo</category><category domain="http://www.blogger.com/atom/ns#">Carreira</category><category domain="http://www.blogger.com/atom/ns#">Humor</category><title>As melhores frases para se usar no trabalho (principalmente quando a coisa aperta)</title><description>-Houve algum erro no planejamento dessa operação. (Em geral quer dizer que ninguém pensou em algo que era óbvio) -O que importa é buscarmos a solução e não o culpado. (use essa sempre que o culpado for você)&lt;br /&gt;
-Conte comigo.&lt;br /&gt;
-Me empenharei no projeto.&lt;br /&gt;
-Melhor manter isso em sigilo ainda.&lt;br /&gt;
-Precisamos desenvolver processos.&lt;br /&gt;
-Os procedimentos aplicados não eram os mais adequados.&lt;br /&gt;
-Precisamos aumentar a produtividade. (Repare que sempre tem um pra lembrar dessa)&lt;br /&gt;
-Considero esses prazos enxutos demais, mas farei o possível para alcançar o target.&lt;br /&gt;
-Nossa comunicação interna está ineficiente.&lt;br /&gt;
-Temos que focar no problema.&lt;br /&gt;
-É necessário estabelecer metas. (Mesmo que se trate do número de cadeiras da lanchonete)&lt;br /&gt;
-Estamos buscando soluções para a questão. (Essa é para o momento “fodeu”, você não tem nada a não ser essa resposta)&lt;br /&gt;
-Esse projeto teria futuro se tivesse sido melhor trabalhado. (Essa é para lascar alguém)&lt;br /&gt;
-Conto com vocês. (Se vier do seu chefe, a merda é grande)&lt;br /&gt;
-Meu erro é se dedicar demais. (Resposta padrão para a pergunta “Qual seu defeito?”)&lt;br /&gt;
-Sou perfeccionista demais. (Resposta padrão caso a resposta acima tenha sido esquecida)&lt;br /&gt;
-Problemas de sistema. (Serve pra tudo, até pra quem esqueceu de dar a descarga)&lt;br /&gt;
-Em momentos de transição, erros são considerados normais, mas devemos minimizar isso.&lt;br /&gt;
-Estou analisando o processo ainda. (Para quando ele estiver na gaveta. Ainda)&lt;br /&gt;
-Estou aguardando um retorno.&lt;br /&gt;
-Precisamos buscar novos mercados.&lt;br /&gt;
-Qual a avaliação de vocês? (Caso perguntem a sua avaliação sobre algo)&lt;br /&gt;
&lt;br /&gt;
(não sei a autoria)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-2650117302152227496?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cz6IrmkyLaIwwC89QB6blWTu4yk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cz6IrmkyLaIwwC89QB6blWTu4yk/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/cz6IrmkyLaIwwC89QB6blWTu4yk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cz6IrmkyLaIwwC89QB6blWTu4yk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Recursividade?a=ycK5EF1QlR8:PmCyFggP97Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Recursividade?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Recursividade?a=ycK5EF1QlR8:PmCyFggP97Q:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Recursividade?i=ycK5EF1QlR8:PmCyFggP97Q:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/ycK5EF1QlR8/as-melhores-frases-para-se-usar-no.html</link><author>noreply@blogger.com (Wagner)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2009/09/as-melhores-frases-para-se-usar-no.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-7772727226401486673</guid><pubDate>Sat, 22 Aug 2009 23:30:00 +0000</pubDate><atom:updated>2009-08-23T03:08:14.007-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Decepcionado com a Classe</category><category domain="http://www.blogger.com/atom/ns#">Carreira</category><category domain="http://www.blogger.com/atom/ns#">Humor</category><title>Não vivo em uma lâmpada mágica!</title><description>&lt;p&gt;Antes de mais nada, gostaria de avisar (se é que alguém ainda lê aqui) que o blog não morreu. Ando muito ocupado, e o "pão de cada dia" vem em primeiro lugar. Mas nas próximas semanas pretendo escrever mais artigos / passar algumas dicas que encontrar ou que achar conveniente. E, claro, contar alguns "causos" que acontecem comigo. Aqui vai mais um.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;No fim do ano passado, um cliente (até hoje fiz somente um serviço para ele, algo bem básico, que deu mais trabalho do que rendeu dinheiro / satisfação profissional) me chamou no MSN. Conforme mostro o desenrolar da conversa, farei alguns comentários.&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Fulano: Wagner .. td bem ??&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: olá&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: tudo bem, e com vc?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: td bem meu amigo .... faz tempo q nao nos falamos ... passei uma fase meio complicadinha ...mas agora estou voltando com força total .... e vc como esta ???&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: muito trabalho ???&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p style="TEXT-ALIGN: left"&gt;Hum, fase meio complicadinha...até imagino os motivos.&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Wagner: estou bem tb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: bastante trabalho, graças a Deus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: Legal ... me fala uma coisa .. vc programa em quais linguagens exatamente ???&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: estou com umas idéias e acho q vou precisar de vc ..&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Opa, "idéias"...quando alguém "suspeito" me diz esse tipo de coisa, já fico com um pé atrás.&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Wagner: .Net (C# e Visual Basic - todas as versões), ASP (Com VBScript) PHP e Python&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: hum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: estou pensando em montar uma empresa , onde teremos muita coisa integrada entre sistemas , etc ... pelo q ja vi em uma empresa q passei , todo o processo de deixar pronto e tals vai pelo menos 1 ano de programaçao ...&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Ok, viu algo interessante em outra empresa, integrar sistemas, e previu que levaria pelo menos um ano de trabalho. Para quem está precisando de serviço / emprego (e quem não está?) pode ser uma boa.&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Fulano: como acha q podemos começar a conversar sobre a possibilidade de trabalarmos juntos ???&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: bem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: pode dar mais detalhes? Inclusive como faríamos?&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Perguntei pois além do serviço que já fiz para ele, ele havia comentado sobre outro, mas sempre chorando pelo preço e sem dar detalhes concretos do que precisa.&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Fulano: então ... nao sei como fariamos , mas é muito trabalho ... isso posso lhe garantir..&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Quero lembrar que &lt;strong&gt;muito trabalho&lt;/strong&gt; e &lt;strong&gt;dinheiro&lt;/strong&gt; não são exatamente sinônimos&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Wagner: bem...eu ando realmente com muito trabalho esses tempos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: para quando você precisaria?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: Nossa .... é q estou falando de um conjunto de coisas .... mas para vc entender , preciso de um programador full time ..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: durante 1 ano pelo menos ..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: bem...full time não tenho como&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: Entendi .....&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Eu já havia dito antes que não pretendia ser um funcionário trabalhando na empresa (de ninguém). Para quem não sabe, trabalho como freelancer. Claro, não digo que um dia não possa voltar a ser funcionário de uma empresa, mas não é algo que pretendo.&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Wagner: pretende colocar como um funcionário trabalhando em sua empresa, é isso?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: Sim ..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: mesmo pq pelo q vou montar teria q ser assim... nao tem como ser diferente&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: então&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: pra mim realmente não dá&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: mas posso indicar um site bom: www.apinfo.com&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Sim, quem não conhece a &lt;a href="http://www.apinfo.com/" target="_blank"&gt;Apinfo&lt;/a&gt; e procura emprego na área, visite. O site tem muitas vagas.&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Fulano: mas tem q ser um cara ótimo ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: muito bom mesmo ....&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Opa! Não pode ser um "programadorzinho qualquer", hein? Tem que ser alguém muito bom!&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Fulano: vou precisar de coisas de genio ...&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;"Gênio"...xi...ferrou. Será que ele queria um cara bom ou um cara que fizesse mágica e atendesse os desejos de seu amo (patrão)?&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Wagner: bom...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: nesse site tem muita gente boa cadastrada&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: entendeu .. na vdd vou montar 4 empresas , onde todas vao trabalhar interligadas .... e vou precisar de um sistema administrativo individual para cada uma delas e ao mesmo tempo interligado dentro de um sistema de gerenciamento on line para o meu Franqueado&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Reparem que ele não tá nem aí pra indicação que dei da Apinfo. Continuou falando.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vamos analisar também: Ele queria montar 4 empresas e fazer um sistema administrativo interligando todas. Realmente, é muito trabalho.&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Fulano: gerando relatorios , etc ..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: td automatizado .... sistemas de ganhos ..&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Hum, acho que um ano seria mesmo o tempo mínimo para terminar isso (com apenas um programador trabalhando).&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Wagner: entendo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: imagina a complexidade ....&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Ô se imagino!&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Fulano: quanto vc acha q vou ter q assumir de salario para um profissional assim ??&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Opa! Agora a parte boa (ou não, vejam abaixo): dinheiro!&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Wagner: CLT ou PJ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: PJ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: bem...eu não trabalharia assim por menos de Y/hora&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: acho que a média ficaria entre X-Y&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Falei o que eu cobraria (isso sendo PJ), e olha que não é nada fora (ou muito fora) do mercado aqui em Sampa.&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Fulano: uns XX mil por mes .???&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Ih, ele ficou surpreso com o valor...achou caro.&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Wagner: sim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: tipo...qual seria sua proposta / o que teria em mente?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: acho q no maximo XX / 2, mes vou poder pagar com uma alta produtividade ...&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Olha só: ele queria pagar metade do que eu disse que pediria.&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Fulano: mas alta mesmo .....&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;E ainda com "alta produtividade". E "alta mesmo". Ou seja: se o programador trabalhasse &lt;strong&gt;muito mesmo&lt;/strong&gt;, aí ele pagaria metade do valor que eu disse. E o que seria esse muito? Provavelmente umas 12/horas dia.&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Wagner: bom...acho difícil que consiga alguém (bom)&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Conseguir alguém até acho que ele conseguiria...&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Fulano: porém isso no auge do negócio .. creio q no 7 mes de trabalho em diante ....&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Epa! Quer pagar metade do que pedi, e isso a partir do sétimo mês? Quanto iria pagar antes então? ¼ do que falei?&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Wagner: isso dá menos de Y/2 | hora&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: Eu sei .. vou ter q garimpar muitooo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: mas vou achar , minha idéia é fantastica ...&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;"Minha idéia é fantástica"...pra começar ele mesmo disse que viu em outra empresa. Ou seja, a idéia não era dele. E além do mais, eu &lt;a href="http://falafreela.com.br/episodios/fala-freela-1-clientes-cliantas-e-creontes/" target="_blank" title="Fala Freela"&gt;já vi/ouvi essa história de sistemas fantásticos e etc&lt;/a&gt;...&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Wagner: hum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: e antes dos 7 meses, qual seria o trabalho?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: o trabalho seria o mesmo ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: digo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: os valores&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: acho q até com mais gás , pois começariamos do zero néh ... valor .... creio q próximo aos XX/3&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Estão vendo aí? Primeiro fala que poderia pagar 1/2 do que "pedi". Depois, fala que até o sétimo mês poderia pagar aproximadamente 1/3 daquele valor. Daqui a pouco ele iria querer cobrar para o pobre programador trabalhar.&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Fulano: mas seria um cntrato de 12 meses com estabilidade ne´h ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: entendo&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Ô se entendo...ficar preso (12 meses) nesse projeto fantástico...eu hein?&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Fulano: e é claro q depois , dando td certo , a empresa lançada no mercado ... este contrato seria prorrogado ...&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Hum, se desse certo, e alguém aceitasse fazer o serviço, nada mais justo.&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Fulano: pensa em alguma coisa ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: ?&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Ele ainda não entendeu que eu não estava a fim de fazer esse trabalho?&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Fulano: quem sabe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: ai fazemos os testes ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: conversamos ... estudamos algo juntos ...&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Já falei que não quero, e ele insiste. Parece o tipo de pessoa que só lê/ouve o que quer.&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Wagner: bem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: pra mim realmente não dá&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: gosto do jeito que trabalho&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: dessa forma&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Então repito p/ ele que não quero.&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Fulano: Entendo ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: mesmo q ganhe menos ??&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;De onde ele tirou que ganho menos? Pelo serviço (dinheiro "de pinga") que fiz para ele anteriormente? Eu nunca disse a ele qual era a minha renda.&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Wagner: Menos?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: pq pode acontecer nao pode ??&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: pode sim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: e já passei por isso&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: mas prefiro fazer o que gosto&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: imagino q sim ..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: senão já estaria ganhando entre X-Y/h numa multinacional&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;(foi o valor que disse para ele que talvez eu aceitaria, caso quisesse ser funcionário)&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Wagner: propostas não me faltaram&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;Por favor, não me tomem por arrogante. Já recebi propostas boas mesmo, mas recusei. Só postei porque não quis editar o chat, resolvi postá-lo na íntegra.&lt;/p&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;p&gt;&lt;small&gt;&lt;span style="BACKGROUND-COLOR: #ffff80; COLOR: #000000"&gt;Fulano: Entendi ..... bom , vamos nos falando ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: ok :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: Abs Wagner: ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fulano: Até mais ..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: até&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wagner: valeu de qualquer forma&lt;/span&gt;&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;p&gt;É, até logo (depois ele até me chamou um dia, mas era sobre um outro projeto, anterior a esse do chat, mas que não vingou. E tenho lá minhas dúvidas se ele arrumou outro programador).&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Enfim, a conversa foi até aí. Será que posso virar "sócio" do &lt;a href="http://www.falafreela.com.br/" target="_blank"&gt;Fala Freela&lt;/a&gt;? :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-7772727226401486673?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/WSQL_L9kyW0Mkiz0Hr394cvBOVc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WSQL_L9kyW0Mkiz0Hr394cvBOVc/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/WSQL_L9kyW0Mkiz0Hr394cvBOVc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WSQL_L9kyW0Mkiz0Hr394cvBOVc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Recursividade?a=qGuesgYt3D8:YR-ywA73kkY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Recursividade?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Recursividade?a=qGuesgYt3D8:YR-ywA73kkY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Recursividade?i=qGuesgYt3D8:YR-ywA73kkY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/qGuesgYt3D8/nao-vivo-em-uma-lampada-magica.html</link><author>noreply@blogger.com (Wagner)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2009/08/nao-vivo-em-uma-lampada-magica.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-4289809914218642261</guid><pubDate>Thu, 09 Apr 2009 14:56:00 +0000</pubDate><atom:updated>2009-04-09T11:57:27.715-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Decepcionado com a Classe</category><category domain="http://www.blogger.com/atom/ns#">Carreira</category><category domain="http://www.blogger.com/atom/ns#">Humor</category><title>TDD? Que nada...o negócio é FDD!</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://nerdson.com/blog/extreme/" imageanchor="1" linkindex="17" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_nwpzkfSGzPE/Sd4LvELyN2I/AAAAAAAABLI/ccKFwm0yvaA/s400/nerdson161-TDD.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Definições:&lt;br /&gt;
&lt;a href="http://en.wikipedia.org/wiki/Test-driven_development" linkindex="18" target="_blank"&gt;TDD&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://en.wikipedia.org/wiki/Extreme_Programming" linkindex="19" target="_blank"&gt;Extreme Programming&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-4289809914218642261?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-gAl37mHwR2qOzl7YuDYDPPmhOM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-gAl37mHwR2qOzl7YuDYDPPmhOM/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/-gAl37mHwR2qOzl7YuDYDPPmhOM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-gAl37mHwR2qOzl7YuDYDPPmhOM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Recursividade?a=RRJT-x-XWsY:_c2q19LByrE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Recursividade?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Recursividade?a=RRJT-x-XWsY:_c2q19LByrE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Recursividade?i=RRJT-x-XWsY:_c2q19LByrE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/RRJT-x-XWsY/tdd-que-nadao-negocio-e-fdd.html</link><author>noreply@blogger.com (Wagner)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_nwpzkfSGzPE/Sd4LvELyN2I/AAAAAAAABLI/ccKFwm0yvaA/s72-c/nerdson161-TDD.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2009/04/tdd-que-nadao-negocio-e-fdd.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-4944150757725968918</guid><pubDate>Tue, 31 Mar 2009 17:25:00 +0000</pubDate><atom:updated>2009-03-31T14:25:16.619-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tutorial</category><category domain="http://www.blogger.com/atom/ns#">Webdesign</category><category domain="http://www.blogger.com/atom/ns#">CSS</category><title>Tutorial de CSS</title><description>Meu amigo Henrique Machado (ou Zeh Rique para os mais chegados), do blog &lt;a href="http://cafecomgelo.wordpress.com/" linkindex="55" target="_blank"&gt;Café com Gelo&lt;/a&gt;, traduziu um tutorial de CSS. Aqui vai uma pequena introdução.:&lt;br /&gt;
&lt;br /&gt;
"&lt;br /&gt;
&lt;b&gt;Prefácio&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Esta série de posts, entitulada “Criando um layout com CSS a partir do zero” é uma versão em português da série &lt;a href="http://www.subcide.com/tutorials/csslayout/" linkindex="56" target="_blank"&gt;“Creating a CSS layout from scratch&lt;/a&gt;”, de Steve Dennis, do site &lt;a href="http://www.subcide.com/" linkindex="57" target="_blank"&gt;Subcide&lt;/a&gt; e publicada sob permissão aqui no &lt;a href="http://cafecomgelo.wordpress.com/" linkindex="58" target="_blank"&gt;Café com Gelo&lt;/a&gt;. Espero que aqueles que ainda não entendem corretamente como funcionam as CSS tenham uma boa noção com esse tutorial.&lt;br /&gt;
&lt;br /&gt;
Divirtam-se!&lt;br /&gt;
"&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para ler o tutorial completo, vá &lt;a href="http://cafecomgelo.wordpress.com/tutorial-de-css/" linkindex="59" target="_blank"&gt;direto ao artigo&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-4944150757725968918?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TRzp9K4PnY9fAN94ZhtorUFuokU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TRzp9K4PnY9fAN94ZhtorUFuokU/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/TRzp9K4PnY9fAN94ZhtorUFuokU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TRzp9K4PnY9fAN94ZhtorUFuokU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Recursividade?a=YROYvi-G8t0:d4Dvr07RBKM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Recursividade?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Recursividade?a=YROYvi-G8t0:d4Dvr07RBKM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Recursividade?i=YROYvi-G8t0:d4Dvr07RBKM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/YROYvi-G8t0/tutorial-de-css.html</link><author>noreply@blogger.com (Wagner)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2009/03/tutorial-de-css.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-6697163324468593601</guid><pubDate>Tue, 31 Mar 2009 17:10:00 +0000</pubDate><atom:updated>2009-03-31T14:26:36.265-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Decepcionado com a Classe</category><category domain="http://www.blogger.com/atom/ns#">Carreira</category><category domain="http://www.blogger.com/atom/ns#">Humor</category><title>O que seus familiares/amigos pensam sobre você e seus conhecimentos</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_nwpzkfSGzPE/SdJN4NKQILI/AAAAAAAABLA/t0I_IZEaxAs/s1600-h/Conhecimentos.jpg" imageanchor="1" linkindex="16" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_nwpzkfSGzPE/SdJN4NKQILI/AAAAAAAABLA/t0I_IZEaxAs/s400/Conhecimentos.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Recebi de um &lt;a href="http://charlesgomes.wordpress.com/" linkindex="17" target="_blank"&gt;amigo&lt;/a&gt; que não é da área.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-6697163324468593601?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vSwt9v2DIAUVh8eyWz4nN4yGY04/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vSwt9v2DIAUVh8eyWz4nN4yGY04/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/vSwt9v2DIAUVh8eyWz4nN4yGY04/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vSwt9v2DIAUVh8eyWz4nN4yGY04/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Recursividade?a=Ul3B5dOfalA:i6iMaZyGABo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Recursividade?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Recursividade?a=Ul3B5dOfalA:i6iMaZyGABo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Recursividade?i=Ul3B5dOfalA:i6iMaZyGABo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/Ul3B5dOfalA/o-que-seus-familiaresamigos-pensam.html</link><author>noreply@blogger.com (Wagner)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_nwpzkfSGzPE/SdJN4NKQILI/AAAAAAAABLA/t0I_IZEaxAs/s72-c/Conhecimentos.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2009/03/o-que-seus-familiaresamigos-pensam.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-8238412365899774081</guid><pubDate>Tue, 03 Feb 2009 20:13:00 +0000</pubDate><atom:updated>2009-02-23T15:07:17.136-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tempo</category><category domain="http://www.blogger.com/atom/ns#">Gerenciamento</category><category domain="http://www.blogger.com/atom/ns#">Python</category><category domain="http://www.blogger.com/atom/ns#">Carreira</category><title>Programa para gerenciamento de tarefas.</title><description>Há algum tempo vinha usando o &lt;a href="http://www.maplexp.com/" linkindex="56" target="_blank"&gt;MapleXP&lt;/a&gt; para gerenciar o tempo que gasto com meus projetos. Ele&amp;nbsp;é bom, mas sentia falta de alguns recursos, como definir se uma tarefa foi ou não concluída e também calcular automaticamente o valor a cobrar, baseando-se nas horas trabalhadas.&lt;br /&gt;
&lt;br /&gt;
Pesquiso programas do tipo há algum tempo (e até pensei em desenvolver algum quando sobrasse um tempinho), mas encontrei há alguns dias o &lt;a href="http://www.taskcoach.org/" linkindex="57" target="_blank"&gt;Task Coach&lt;/a&gt;. Estou usando e gostando.&lt;br /&gt;
&lt;br /&gt;
Algumas das características:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Suporta tarefas e subtarefas&lt;/li&gt;
&lt;li&gt;Você pode definir prioridades para as tarefas&lt;/li&gt;
&lt;li&gt;Você pode adicionar notas e anexos às tarefas&lt;/li&gt;
&lt;li&gt;As tarefas tem status, ou seja, pode marcá-las como finalizadas (ou não). Finalizando um grupo de subtarefas, a tarefa principal também é marcada como finalizada.&lt;/li&gt;
&lt;li&gt;Roda de pendrive&lt;/li&gt;
&lt;li&gt;Você pode definir valores individuais para cada tarefa, ou um valor/hora para cada uma.&lt;/li&gt;
&lt;/ul&gt;Além dos recursos citados, existem outros, que podem ser verificados no &lt;a href="http://www.taskcoach.org/" linkindex="58" target="_blank"&gt;site&lt;/a&gt; do Task Coach.&lt;br /&gt;
&lt;br /&gt;
Outra coisa, ele é free ("di grátis") e Opensource (desenvolvido em Python), e está em constante desenvolvimento. Existem versões para vários Sistemas Operacionais.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-8238412365899774081?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/O5qD0oCmIXnsSCRiSInJ4qJGCm0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O5qD0oCmIXnsSCRiSInJ4qJGCm0/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/O5qD0oCmIXnsSCRiSInJ4qJGCm0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O5qD0oCmIXnsSCRiSInJ4qJGCm0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=0VICLrzF"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=Cs7V4bdv"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?i=Cs7V4bdv" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/vMoPWTpqncA/programa-para-gerenciamento-de-tarefas.html</link><author>noreply@blogger.com (Wagner)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2009/02/programa-para-gerenciamento-de-tarefas.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-8578455262426393293</guid><pubDate>Sat, 29 Nov 2008 05:24:00 +0000</pubDate><atom:updated>2008-12-08T14:44:39.869-02:00</atom:updated><title>Caro desenvolvedor: Já te deram um abraço hoje?</title><description>&lt;div align=center&gt;&lt;embed src="http://blip.tv/play/gYwjwZJqjdEh" type="application/x-shockwave-flash" width="450" height="390" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt; &lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Encontrei &lt;a href="http://www.wtfbrasil.com/wtf" linkindex="21" target="_blank"&gt;por aí&lt;/a&gt;...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-8578455262426393293?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GltJoUG-_pk3ylN36CPH19k5XXk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GltJoUG-_pk3ylN36CPH19k5XXk/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/GltJoUG-_pk3ylN36CPH19k5XXk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GltJoUG-_pk3ylN36CPH19k5XXk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=OVFTTrR2"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=USPaicaN"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?i=USPaicaN" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/uCOm1tgVhkc/j-te-deram-um-abrao-hoje.html</link><author>noreply@blogger.com (Wagner)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2008/11/j-te-deram-um-abrao-hoje.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-7479341780245882360</guid><pubDate>Tue, 04 Nov 2008 15:22:00 +0000</pubDate><atom:updated>2008-11-04T13:30:30.400-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">PHP</category><category domain="http://www.blogger.com/atom/ns#">Tempo</category><category domain="http://www.blogger.com/atom/ns#">Programação</category><category domain="http://www.blogger.com/atom/ns#">MYSQL</category><category domain="http://www.blogger.com/atom/ns#">Grid</category><title>Grid para PHP</title><description>Ultimamente tenho trabalhado em alguns projetos com PHP.&lt;br /&gt;
&lt;br /&gt;
Para quem trabalha com .Net, sabe que componentes como grids são uma mão na roda. Felizmente a comunidade PHP é bem ativa. Encontrei uma classe de grid que me ajudou bastante:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_nwpzkfSGzPE/SRBpot8Et-I/AAAAAAAABJA/M7zTzORWzUw/s1600-h/PHP+DG+version+4.0.0_1225812222709.png" imageanchor="1" linkindex="19" style="margin-left: 1em; margin-right: 1em;" target="_blank "&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_nwpzkfSGzPE/SRBpot8Et-I/AAAAAAAABJA/M7zTzORWzUw/s400/PHP+DG+version+4.0.0_1225812222709.png" /&gt;&lt;/a&gt;&lt;/div&gt;É a grid do &lt;a href="http://phpbuilder.blogspot.com/" linkindex="20" target="_blank"&gt;PHP Builder&lt;/a&gt;. Ela é bastante customizável, suportando vários idiomas (incluindo Português Brasileiro, como pode-se ver na demo). Para ver as demos, clique &lt;a href="http://phpbuilder.awardspace.com/live_demo_dg.php" linkindex="21" target="_blank"&gt;aqui&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-7479341780245882360?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gyrTJl62WYAWeLxLuylNV-8NpFU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gyrTJl62WYAWeLxLuylNV-8NpFU/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/gyrTJl62WYAWeLxLuylNV-8NpFU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gyrTJl62WYAWeLxLuylNV-8NpFU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=b04sssdP"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=B1reEeko"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?i=B1reEeko" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/mDeHS8MjBuc/grid-para-php.html</link><author>noreply@blogger.com (Wagner)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_nwpzkfSGzPE/SRBpot8Et-I/AAAAAAAABJA/M7zTzORWzUw/s72-c/PHP+DG+version+4.0.0_1225812222709.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2008/11/grid-para-php.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-2587713144502047797</guid><pubDate>Wed, 15 Oct 2008 11:00:00 +0000</pubDate><atom:updated>2009-09-16T11:56:30.671-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DotNetNuke</category><category domain="http://www.blogger.com/atom/ns#">Tempo</category><category domain="http://www.blogger.com/atom/ns#">Asp.Net</category><category domain="http://www.blogger.com/atom/ns#">CMS</category><category domain="http://www.blogger.com/atom/ns#">Gerenciamento</category><title>Criando um site com DotNetNuke. Parte final - Skins e Containers.</title><description>&lt;div style="text-align: center;"&gt;Agora que temos nosso site, o que fazer se você não gostou da "cara" padrão do DotNetNuke? A resposta: Skins, que é como são chamados os templates para o DNNuke.&lt;/div&gt;&lt;br /&gt;
Vamos alterar a skin do nosso site. Existem vários sites que disponibilizam skins para o DNNuke, e você também pode criar a sua. No nosso caso, vamos baixar uma. Entre no site &lt;a href="http://www.dnnskins.com/" linkindex="22" target="_blank"&gt;http://www.dnnskins.com&lt;/a&gt; e baixe&lt;span id="kyn_ctr988_ShoppingCart_grdItems_ctl02_lbProductName2"&gt; a skin (no caso, baixei a "XDDesignAway"). Você também pode procurar por outras no site. Para baixar, é preciso registrar-se.&lt;/span&gt;&lt;span id="kyn_ctr988_ShoppingCart_grdItems_ctl02_lbProductName2"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Volte ao site que criamos, e logue-se como host (caso o admin do site não tenha permissão de instalar skins, o que é padrão). Clique no menu Admin/Skins.Você verá a lista de skins que já estão instaladas:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_nwpzkfSGzPE/SPUag3EF5mI/AAAAAAAABII/2_4lOZt2dYA/s1600-h/Admin++Skins.png" imageanchor="1" linkindex="23" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_nwpzkfSGzPE/SPUag3EF5mI/AAAAAAAABII/PlxTPG9DGuE/s400-R/Admin++Skins.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Clique em "Upload Skin". Na próxima tela, selecione o zip da skin, e clique em Install Skin Package. &lt;br /&gt;
Terminando a instalação, um relatório é exibido, como na imagem abaixo:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_nwpzkfSGzPE/SPUv3oTnAcI/AAAAAAAABIg/R5LexektCtg/s1600-h/instalando+skin.png" imageanchor="1" linkindex="24" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_nwpzkfSGzPE/SPUv3oTnAcI/AAAAAAAABIg/p0KJkXCLBq4/s400-R/instalando+skin.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;Agora, clique em Return. Na lista de skins, selecione &lt;span id="kyn_ctr988_ShoppingCart_grdItems_ctl02_lbProductName2"&gt;XDDesignAway &lt;/span&gt;ou alguma que você tenha instalado.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_nwpzkfSGzPE/SPUwOI43z7I/AAAAAAAABIo/79xDHhWe1I8/s1600-h/Skins+Instaladas.png" imageanchor="1" linkindex="25" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_nwpzkfSGzPE/SPUwOI43z7I/AAAAAAAABIo/PcgyY9noDo0/s400-R/Skins+Instaladas.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;
Você pode clicar em algum Preview para ver como o site ficará. Clique em Apply em alguma das skins. Se você olhar o site, irá reparar que o layout e as cores mudaram, mas os elementos ainda tem a aparência anterior. Para mudar isso, clique em Apply também em algum dos containers, que ficam logo abaixo.&lt;br /&gt;
&lt;br /&gt;
Como você deve ter reparado, também é possível usar containers de um pacote com skins de outro. Aí, fica a seu critério (e gosto).&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: red;"&gt;Observação:&lt;/span&gt; Repare que na parte de baixo, em "Apply to", existem 2 opções: Portal e Admin. Caso queria que o admin continue com a cara padrão do DotNetNuke, desmarque antes de clicar em Apply. Se já clicou, pode voltar atrás clicando em "Restore Default Skin".&lt;br /&gt;
&lt;br /&gt;
E aqui está a nova "cara" do nosso site após trocarmos a skin:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_nwpzkfSGzPE/SPUxvT5z7aI/AAAAAAAABI4/NWwmxxulX0A/s1600-h/Nova+skin+aplicada+-DNNuke.png" imageanchor="1" linkindex="26" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_nwpzkfSGzPE/SPUxvT5z7aI/AAAAAAAABI4/tX21f-Ayqw8/s400-R/Nova+skin+aplicada+-DNNuke.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Se não gostou dessa skin pode trocar por outra ou criar a sua.&lt;br /&gt;
&lt;br /&gt;
Aqui termina o tutorial básico de DotNetNuke. Espero que tenha sido útil.&lt;br /&gt;
&lt;br /&gt;
Não pararei com as postagens sobre DNNuke. Futuramente espero escrever mais artigos sobre o tema.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-2587713144502047797?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/M-mmrSsP-_53WcyHmeCpo14vmRY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/M-mmrSsP-_53WcyHmeCpo14vmRY/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/M-mmrSsP-_53WcyHmeCpo14vmRY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/M-mmrSsP-_53WcyHmeCpo14vmRY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=WtnCBfPc"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=zVM2cfr3"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?i=zVM2cfr3" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/e5a0dUPRLkg/criando-um-site-com-dotnetnuke-parte.html</link><author>noreply@blogger.com (Wagner)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_nwpzkfSGzPE/SPUag3EF5mI/AAAAAAAABII/PlxTPG9DGuE/s72-Rc/Admin++Skins.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2008/10/criando-um-site-com-dotnetnuke-parte.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-2452824489640385139</guid><pubDate>Tue, 14 Oct 2008 17:34:00 +0000</pubDate><atom:updated>2008-10-14T17:25:21.059-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DotNetNuke</category><category domain="http://www.blogger.com/atom/ns#">Tempo</category><category domain="http://www.blogger.com/atom/ns#">Asp.Net</category><category domain="http://www.blogger.com/atom/ns#">CMS</category><category domain="http://www.blogger.com/atom/ns#">Gerenciamento</category><title>Criando um site com DotNetNuke.  Parte 4  - Adicionando páginas  /  trabalhando com módulos.</title><description>Vamos agora incluir uma página em nosso site. Se acaba de chegar e não sabe do que estou falando, veja os outros artigos dessa série, clicando &lt;a href="http://recursividade.wesoft.com.br/search/label/DotNetNuke" linkindex="21"&gt;aqui&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Após logar-se, expanda a barra superior (clicando em "Show Control Panel"), e em Page Functions (lado esquerdo), clique em Add.&lt;br /&gt;
&lt;br /&gt;
Em "Page Name" digite "Fórum", e em "Page Title", digite "Fórum dae exemplo". Em "Permissions", na coluna "View", marque "All Users". Clique em Update. A página será criada e aberta, e você poderá agora trabalhar com ela.&lt;br /&gt;
&lt;br /&gt;
Vamos incluir então, um módulo de fórum. No painel de controle, marque "Add New Module" e em Module, selecione "Forum".&amp;nbsp; Nas outras opções, deixe o padrão e clique no botão +/Add.&lt;br /&gt;
&lt;br /&gt;
Caso não veja "Forum" na lista, clique em "Install Additional Modules", um pouco abaixo. A página de gerenciamento de módulos será aberta, como você pode ver na imagem abaixo:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_nwpzkfSGzPE/SPTbTL4Q9xI/AAAAAAAABHQ/Hd5ftajDwjg/s1600-h/Exemplo+de+uso+do+DotNetNuke++Host++Module+Definitions.png" imageanchor="1" linkindex="22" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_nwpzkfSGzPE/SPTbTL4Q9xI/AAAAAAAABHQ/jijrH2U0l1Q/s400-R/Exemplo+de+uso+do+DotNetNuke++Host++Module+Definitions.png" /&gt;&lt;/a&gt;&lt;/div&gt;Na parte inferior da página (Available Modules) você verá que existe a opção Forum. Marque a checkbox e clique em "Install Selected Modules", mais abaixo. Repare que quando a página é atualizada, o módulo fórum aparece na lista de "Installed Modules".&lt;br /&gt;
&lt;br /&gt;
Continuando, após adicionar o módulo do fórum, sua página ficará parecida com isso (se estiver um pouco diferente ou não apareceram os botões, repare que eu estou usando o modo Edit): &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_nwpzkfSGzPE/SPTgK4uN46I/AAAAAAAABHY/5YOMxfh_k_8/s1600-h/F%C3%B3rum+de+exemplo.png" imageanchor="1" linkindex="23" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_nwpzkfSGzPE/SPTgK4uN46I/AAAAAAAABHY/RxzZpHkSH7U/s400-R/F%C3%B3rum+de+exemplo.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
O módulo já vem com um fórum criado ("General"). Vamos trabalhar com ele.&lt;br /&gt;
Clique no botão "Admin" &lt;img border="0" src="http://3.bp.blogspot.com/_nwpzkfSGzPE/SPTh8aSLyuI/AAAAAAAABHo/5OD-FLutBoU/s320-R/ib_admin.png" /&gt;. Você verá a página de administração do fórum, tal como é exibida abaixo:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_nwpzkfSGzPE/SPTih_OMdrI/AAAAAAAABHw/UlH8hwwSYRM/s1600-h/Adm_Forum+de+exemplo.png" imageanchor="1" linkindex="24" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_nwpzkfSGzPE/SPTih_OMdrI/AAAAAAAABHw/sFaQQINhoSc/s400-R/Adm_Forum+de+exemplo.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Clique no botão "Manage Fórums/Groups". Aqui, você tem a opção de gerenciar os grupos e os fórums dessa página, podendo adicionar/remover grupos e fóruns, renomear etc. Por exemplo, ao clicar no botão "Edit Group" &lt;img border="0" src="http://3.bp.blogspot.com/_nwpzkfSGzPE/SPTkFGx89SI/AAAAAAAABIA/yMZ3u7_IIkQ/s320-R/s_edit.png" /&gt; você pode renomear o grupo "Discussions" para algo mais apropriado, como "Produtos". &lt;br /&gt;
&lt;br /&gt;
Clique no sinal de + ao lado de "Discussions", e serão exibidos os fóruns existentes para esse grupo (no caso, somente "General"):&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_nwpzkfSGzPE/SPTjxMUh2dI/AAAAAAAABH4/KPbzhotKHr8/s1600-h/Manage_F%C3%B3rum_1224008598760.png" imageanchor="1" linkindex="25" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_nwpzkfSGzPE/SPTjxMUh2dI/AAAAAAAABH4/MGWoq4FfW9E/s400-R/Manage_F%C3%B3rum_1224008598760.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Como o objetivo aqui não é explicar especificamente o módulo de fóruns, não darei outros detalhes sobre ele. Mas estude-o, criando novos grupos e fóruns, alterando etc. &lt;br /&gt;
&lt;br /&gt;
Crie outras páginas, usando outros módulos (como o de enquetes/survey por exemplo). Acredito que você gostará de "brincar" com isso.&lt;br /&gt;
&lt;br /&gt;
No próximo e último artigo deste tutorial iremos mudar a "cara" do nosso site, fazendo uso de templates.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-2452824489640385139?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DxXtC44B8ddaPtxtIFX9xaDobr0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DxXtC44B8ddaPtxtIFX9xaDobr0/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/DxXtC44B8ddaPtxtIFX9xaDobr0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DxXtC44B8ddaPtxtIFX9xaDobr0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=qq7oTEbO"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=N8HmgtRh"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?i=N8HmgtRh" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/4qvp9wkX0SQ/criando-um-site-com-dotnetnuke-parte-4.html</link><author>noreply@blogger.com (Wagner)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_nwpzkfSGzPE/SPTbTL4Q9xI/AAAAAAAABHQ/jijrH2U0l1Q/s72-Rc/Exemplo+de+uso+do+DotNetNuke++Host++Module+Definitions.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2008/10/criando-um-site-com-dotnetnuke-parte-4.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-4142906349858325758</guid><pubDate>Sun, 12 Oct 2008 04:04:00 +0000</pubDate><atom:updated>2008-10-12T01:10:35.966-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">Humor</category><title>Você sabe qual é o amendoim preferido dos linuxers?</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;Se não sabe, veja a imagem abaixo:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a target="_blank" href="http://3.bp.blogspot.com/_nwpzkfSGzPE/SPF3mkJV8kI/AAAAAAAABHI/gCXpYWasOBE/s1600-h/IMG0039A.jpg" imageanchor="1" linkindex="112" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_nwpzkfSGzPE/SPF3mkJV8kI/AAAAAAAABHI/F_MRs053SYc/s400-R/IMG0039A.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Não entendeu? clique &lt;a  target="_blank" href="http://www.gnu.org/software/gnash/" linkindex="113"&gt;aqui&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Pronto, agora você pode cantar: "A mesma praça...o mesmo banco...". [:D]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-4142906349858325758?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2_LijjRjtqMfX8ODrU6b7u36MLM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2_LijjRjtqMfX8ODrU6b7u36MLM/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/2_LijjRjtqMfX8ODrU6b7u36MLM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2_LijjRjtqMfX8ODrU6b7u36MLM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=1ZqN6Bsg"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=IUizaExK"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?i=IUizaExK" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/JXB2xYaAwa0/voc-sabe-qual-o-amendoim-preferido-dos.html</link><author>noreply@blogger.com (Wagner)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_nwpzkfSGzPE/SPF3mkJV8kI/AAAAAAAABHI/F_MRs053SYc/s72-Rc/IMG0039A.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2008/10/voc-sabe-qual-o-amendoim-preferido-dos.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-3589799506055749178</guid><pubDate>Tue, 23 Sep 2008 19:25:00 +0000</pubDate><atom:updated>2009-09-16T11:51:52.298-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DotNetNuke</category><category domain="http://www.blogger.com/atom/ns#">Tempo</category><category domain="http://www.blogger.com/atom/ns#">Asp.Net</category><category domain="http://www.blogger.com/atom/ns#">CMS</category><category domain="http://www.blogger.com/atom/ns#">Gerenciamento</category><title>Criando um site com DotNetNuke. Parte 3  - Trabalhando com o conteúdo</title><description>Após alguns dias de espera, estamos de volta com o tutorial sobre DotNetNuke. A partir de agora, iremos trabalhar o conteúdo do site. Logue-se (como superusuário).&lt;br /&gt;
&lt;br /&gt;
A página terá esta aparência:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_nwpzkfSGzPE/SNkwMjziONI/AAAAAAAABFo/Q-XtoGTnS3M/s1600-h/sshot-inicio-login-host.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_nwpzkfSGzPE/SNkwMjziONI/AAAAAAAABFo/cRGaBo1E5ck/s400-R/sshot-inicio-login-host.png" /&gt;&lt;/a&gt;&lt;/div&gt;Repare que alguns detalhes mudaram. Surgiu uma barra no topo:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_nwpzkfSGzPE/SNkxxXyYDTI/AAAAAAAABFw/E_yJ7A8uRGc/s1600-h/Barra+auxiliar+-+contraida.png" imageanchor="1" linkindex="25" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_nwpzkfSGzPE/SNkxxXyYDTI/AAAAAAAABFw/yu_ycZf-jOs/s400-R/Barra+auxiliar+-+contraida.png" /&gt;&lt;/a&gt;&lt;/div&gt;A barra tem 3 Modos:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;View - Aqui você vê a página como qualquer visitante do site&lt;/li&gt;
&lt;li&gt;Edit - A página é exibida como no modo anterior, mas você pode editar o conteúdo e pode trabalhar o layout&lt;/li&gt;
&lt;li&gt;Design - Você não vê o conteúdo em si (textos e imagens, por exemplo), mas pode trabalhar o layout/posicionamento dos elementos da página.&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;No lado direito da barra, clique na seta ao lado de "Show Control Panel?". A barra será expandida, com mais algumas  seções:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_nwpzkfSGzPE/SNk1FfjIQcI/AAAAAAAABF4/M57seS2FxVE/s1600-h/Barra+auxiliar+-+expandida.png" imageanchor="1" linkindex="26" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_nwpzkfSGzPE/SNk1FfjIQcI/AAAAAAAABF4/FNMwa4H_v8A/s400-R/Barra+auxiliar+-+expandida.png" /&gt;&lt;/a&gt;&lt;/div&gt;Painel esquerdo / Page Functions:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Add - p/ adicionar uma página.&lt;/li&gt;
&lt;li&gt;Settings - configurar detalhes da página atual, como o título.&lt;/li&gt;
&lt;li&gt;Delete - remover a página atual.&lt;/li&gt;
&lt;li&gt;Copy - copiar uma página. Se você precisa de uma página parecida com outra, pode fazer por aqui.&lt;/li&gt;
&lt;li&gt;Export - cria um template baseado na página atual.&lt;/li&gt;
&lt;li&gt;Import - criar/alterar uma página usando como base um template criado anteriormente.&lt;/li&gt;
&lt;/ul&gt;Painel do meio / módulos:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Add New Module&lt;/li&gt;

&lt;ul&gt;&lt;li&gt;Module - Você seleciona um módulo que deseja adicionar à página. Pode ser um banner, um menu, etc.&lt;/li&gt;
&lt;li&gt;Title - o título do módulo. Por exemplo, no meio da página criada pelo DNNuke existe um local onde se vê o título "Welcome To DotNetNuke®". Ali foi usado um módulo text/html. O título aparece na barra superior do módulo (na verdade, aparece no container).&lt;/li&gt;
&lt;li&gt;Visibility - Você pode definir se o módulo será visualizado apenas pelos editores da página ou se ele deve ter a mesma visualização da página. Por exemplo, uma página pode ser vista por todos. Colocando a visibility do módulo como "same as page", todos verão o módulo.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Pane - Define a seção em que o módulo será adicionado (veremos isso mais abaixo).&lt;/li&gt;
&lt;li&gt;Insert - Define se o módulo deve ser colocado acima ou abaixo de outro módulo já existente na mesma seção.&lt;/li&gt;
&lt;li&gt;Align - Alinhamento do módulo - direita, esquerda etc.&lt;/li&gt;
&lt;li&gt;+ Add - clicando neste botão, o módulo será adicionado à página, de acordo com as opções anteriores&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Install Existing Module - semelhante à opção anterior, mas ao invés de criar um novo módulo, copia de alguma página existente&lt;/li&gt;
&lt;li&gt;Install Aditional Modules - Caso necessite de um módulo que não está instalado / ativado, pode instalá-lo por aqui.&lt;/li&gt;
&lt;/ul&gt;Painel direito / &lt;span id="dnn_IconBar.ascx_lblCommonTasks"&gt;Common Tasks:&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span id="dnn_IconBar.ascx_lblCommonTasks"&gt;Site - atalho para as configurações do site.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span id="dnn_IconBar.ascx_lblCommonTasks"&gt;Users - gerenciamento de usuários.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span id="dnn_IconBar.ascx_lblCommonTasks"&gt;Roles - regras de segurança.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span id="dnn_IconBar.ascx_lblCommonTasks"&gt;Files - gerenciador de arquivos.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span id="dnn_IconBar.ascx_lblCommonTasks"&gt;Help - ajuda do DotNetNuke.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span id="dnn_IconBar.ascx_lblCommonTasks"&gt;Abre a página de "&lt;/span&gt;Solutions Explorer".&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
O posicionamento&amp;nbsp; dos elementos no DotNetNuke é definido por seções (Panes). Na barra superior, clique em view ou design, e repare nas seções: TopPane, LeftPane, ContentPane, RightPane e BottomPane. Você poderia,&amp;nbsp; por exemplo, usar a seção LeftPane para colocar um menu vertical.&lt;br /&gt;
&lt;br /&gt;
O DotNetNuke é bem "maleável". Você pode alterar o posicionamento dos módulos simplesmente arrastando-os. Experimente: clique no título de algum módulo e arraste-o para outra seção. Por exemplo, arraste o "Welcome To DotNetNuke®" para a seção "TopPane".&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Você também deve ter reparado que, em modo "Edit", ao passar o mouse sobre algum texto, aparece um quadrado com um lápis &lt;img border="0" src="http://4.bp.blogspot.com/_nwpzkfSGzPE/SNk9bcf_YzI/AAAAAAAABGA/N2YJxq58moY/s320-R/botao+edicao.JPG" /&gt;. Clicando no lápis, podemos editar de forma rápida o texto / título:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_nwpzkfSGzPE/SNk-gWAghxI/AAAAAAAABGI/ZnGF_I9XyFo/s1600-h/edicao+titulo.JPG" imageanchor="1" linkindex="27" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_nwpzkfSGzPE/SNk-gWAghxI/AAAAAAAABGI/iLEwGT1o6Hs/s320-R/edicao+titulo.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;Para salvar as alterações, basta clicar no quadrado que aparece na imagem. Caso queira cancelar, clique no x vermelho.&lt;br /&gt;
&lt;br /&gt;
Se o módulo/texto a ser editado permitir formatação, serão exibidos mais alguns ícones ao lado dos ícones de confirmação/cancelamento (experimente editar o conteúdo do "Welcome"):&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_nwpzkfSGzPE/SNk_6kpdVFI/AAAAAAAABGY/OrR2PKlfl8g/s1600-h/edicao+formatacao.JPG" imageanchor="1" linkindex="28" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_nwpzkfSGzPE/SNk_6kpdVFI/AAAAAAAABGY/JE3pyxVNTMc/s320-R/edicao+formatacao.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;Uma forma ainda mais avançada de editar é clicando em "Edit Text", na parte de baixo do módulo. Com isso, será exibida uma página de edição com várias opções:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_nwpzkfSGzPE/SNlA0E7vwsI/AAAAAAAABGg/wkbIRRrYAi4/s1600-h/tela+edicao.png" imageanchor="1" linkindex="29" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_nwpzkfSGzPE/SNlA0E7vwsI/AAAAAAAABGg/NgwWC4PNXaE/s320-R/tela+edicao.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Após editar o texto, você pode clicar em Update para salvar, Cancel para desfazer as mudanças, ou em Preview para ver como ficou o texto antes de salvar.&lt;br /&gt;
Você também pode clicar na seta ao lado do título do módulo. Com isso, aparecerá um pequeno menu com algumas opções, como configurações do módulo, editar o texto, importar/exportar conteúdo etc:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_nwpzkfSGzPE/SNlB-jlLCzI/AAAAAAAABGo/aE5AER8kuZo/s1600-h/menu+modulo.JPG" imageanchor="1" linkindex="30" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_nwpzkfSGzPE/SNlB-jlLCzI/AAAAAAAABGo/pMiVkV_6pFw/s320-R/menu+modulo.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
No próximo artigo, iremos adicionar uma nova página ao nosso site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-3589799506055749178?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/673M5zHA6GfNxS6hOd-YRrjm_No/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/673M5zHA6GfNxS6hOd-YRrjm_No/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/673M5zHA6GfNxS6hOd-YRrjm_No/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/673M5zHA6GfNxS6hOd-YRrjm_No/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=yqiJxqYo"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=3RHiqvSv"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?i=3RHiqvSv" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/Bc_qRaGwP8s/criando-um-site-com-dotnetnuke-parte-3.html</link><author>noreply@blogger.com (Wagner)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_nwpzkfSGzPE/SNkwMjziONI/AAAAAAAABFo/cRGaBo1E5ck/s72-Rc/sshot-inicio-login-host.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2008/08/criando-um-site-com-dotnetnuke-parte-3.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-6410876373095308588</guid><pubDate>Mon, 18 Aug 2008 20:01:00 +0000</pubDate><atom:updated>2008-08-18T17:24:14.447-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Usuários</category><category domain="http://www.blogger.com/atom/ns#">Decepcionado com a Classe</category><category domain="http://www.blogger.com/atom/ns#">Carreira</category><category domain="http://www.blogger.com/atom/ns#">Humor</category><title>O cara da informática</title><description>Li o texto abaixo pela primeira vez há alguns anos, mas já havia até esquecido (embora conviva com isso quase que diariamente). Nesta semana mandaram o texto novamente para mim, então resolvi postar. Ria (ou chore):&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1.&lt;/b&gt; O &lt;b&gt;cara da informática&lt;/b&gt; dorme. Pode parecer mentira, mas o &lt;b&gt;cara da informática&lt;/b&gt; precisa dormir como qualquer outra pessoa. Esqueça que ele tem celular e telefone em casa, ligue só para o escritório;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2.&lt;/b&gt; O &lt;b&gt;cara da informática&lt;/b&gt; come. Parece inacreditável, mas é verdade. O &lt;b&gt;cara da informática&lt;/b&gt; também precisa se alimentar e tem hora para isso;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3.&lt;/b&gt; O &lt;b&gt;cara da informática&lt;/b&gt; pode ter família. Essa é a mais incrível de todas: Mesmo sendo um &lt;b&gt;cara da informática&lt;/b&gt;, a pessoa precisa descansar no final de semana para poder dar atenção à família, aos amigos e a si próprio, sem pensar ou falar em informática, impostos, formulários, consertos e demonstrações, manutenção, vírus e etc.;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4. &lt;/b&gt;O &lt;b&gt;cara da informática&lt;/b&gt;, como qualquer cidadão, precisa de dinheiro. Por essa você não esperava, né? É surpreendente, mas o &lt;b&gt;cara da informática&lt;/b&gt; também paga impostos, compra comida, precisa de combustível, roupas e sapatos, e ainda consome Lexotan para conseguir relaxar… Não peça aquilo pelo que não pode pagar ao &lt;b&gt;cara da informática&lt;/b&gt;;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5.&lt;/b&gt; Ler, estudar também é trabalho. E trabalho sério. Pode parar de rir. Não é piada. Quando um &lt;b&gt;cara da informática&lt;/b&gt; está concentrado num livro ou publicação especializada ele está se aprimorando como&lt;br /&gt;
profissional, logo trabalhando;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;6.&lt;/b&gt; De uma vez por todas, vale reforçar: O &lt;b&gt;cara da informática&lt;/b&gt; não é vidente, não joga tarô e nem tem bola de cristal, pois se você achou isto demita-o e contrate um &lt;b&gt;paranormal ou detetive&lt;/b&gt;. Ele precisa&lt;br /&gt;
planejar, se organizar e assim ter condições de fazer um bom trabalho, seja de que tamanho for. Prazos são essenciais e não um luxo… Se você quer um milagre, ore bastante, faça jejum, e deixe o pobre do &lt;b&gt;cara da informática&lt;/b&gt; em paz;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;7.&lt;/b&gt; Em reuniões de amigos ou festas de família, o &lt;b&gt;cara da informática&lt;/b&gt; deixa de ser o &lt;b&gt;cara da informática&lt;/b&gt; e reassume seu posto de amigo ou parente, exatamente como era antes dele ingressar nesta profissão. Não peça conselhos, dicas… ele tem direito de se divertir;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;8.&lt;/b&gt; Não existe apenas um "levantamentozinho", uma "pesquisazinha", nem um "resuminho", um "programinha pra controlar minha loja", um "probleminha que a maquina não liga", um "sisteminha", uma "passadinha rápida", pois esqueça os "inha e os inho (programinha, sisteminha, olhadinha)" pois OS &lt;b&gt;&lt;b&gt;caras da informática&lt;/b&gt;&lt;/b&gt; não resolvem este tipo de problema. Levantamentos, pesquisas e resumos são frutos de análises cuidadosas e requerem atenção, dedicação. Esses tópicos podem parecer inconcebíveis a uma boa parte da população, mas servem para tornar a vida do &lt;b&gt;cara da informática&lt;/b&gt; mais suportável;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;9. &lt;/b&gt;Quanto ao uso do celular: celular é ferramenta de trabalho. Por favor, ligue, apenas, quando necessário. Fora do horário de expediente, mesmo que você ainda duvide, o &lt;b&gt;cara da informática&lt;/b&gt; pode estar fazendo algumas coisas que você nem pensou que ele fazia, como dormir ou namorar, por exemplo;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;10.&lt;/b&gt; Pedir a mesma coisa várias vezes não faz o &lt;b&gt;cara da informática&lt;/b&gt; trabalhar mais rápido. Solicite, depois aguarde o prazo dado pelo &lt;b&gt;cara da informática&lt;/b&gt;;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;11.&lt;/b&gt; Quando o horário de trabalho do período da manhã vai até 12h, não significa que você pode ligar às 11:58 horas. Se você pretendia cometer essa gafe, vá e ligue após o horário do almoço (relembre o item 2). O mesmo vale para a parte da tarde: ligue no dia seguinte;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;12.&lt;/b&gt; Quando &lt;b&gt;cara da informática&lt;/b&gt; estiver apresentando um projeto, por favor, não fique bombardeando com milhares de perguntas durante o atendimento. Isso tira a concentração, além de torrar a paciência. &lt;b&gt;Atenção:&lt;/b&gt; Evite perguntas que não tenham relação com o projeto, tipo como…. vocês entendem é claro….;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;13.&lt;/b&gt; O &lt;b&gt;cara da informática&lt;/b&gt; não inventa problemas, não muda versão de WINDOWS, não tem relação com vírus, &lt;b&gt;não é culpado pelo mal uso de equipamentos, internet e afins&lt;/b&gt;. Não reclame! O &lt;b&gt;cara da informática&lt;/b&gt; com certeza fez o possível para você pagar menos. Se quer &lt;b&gt;emendar, emende&lt;/b&gt;, mas antes demita o &lt;b&gt;cara da informática&lt;/b&gt; e contrate um &lt;b&gt;quebra galho&lt;/b&gt;;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;14.&lt;/b&gt; Os &lt;b&gt;&lt;b&gt;caras da informática&lt;/b&gt;&lt;/b&gt; não são os criadores dos ditados "o barato sai caro" e "quem paga mal paga em dobro". Mas eles concordam…;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;15.&lt;/b&gt; Vamos parar de chamar os profissionais de Tecnologia da Informação, de "&lt;b&gt;caras da informática&lt;/b&gt;", "&lt;b&gt;caras que consertam computador&lt;/b&gt;"…Por incrível que pareça as profissões tem nomes, como Engenheiro de Projetos, Analista de Suporte, Engenheiro de Sistemas, Programador…Ninguém chama o Engenheiro Civil de "&lt;b&gt;cara da betoneira&lt;/b&gt;", ou O médico de "&lt;b&gt;cara do açougue&lt;/b&gt;", dentista de "&lt;b&gt;cara do dente podre&lt;/b&gt;"!&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;16.&lt;/b&gt; E, finalmente, o &lt;b&gt;cara da informática&lt;/b&gt; também é filho de DEUS e não filho disso que você pensou…&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;17.&lt;/b&gt; Agora, depois de aprender sobre o &lt;b&gt;cara da informática&lt;/b&gt;, repasse aos seus amigos, afinal, essas verdades precisam chegar a todos. O &lt;b&gt;cara da informática&lt;/b&gt; agradece.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-6410876373095308588?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XNhIm3k53-bnhuPnfZhMcEVQpZs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XNhIm3k53-bnhuPnfZhMcEVQpZs/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/XNhIm3k53-bnhuPnfZhMcEVQpZs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XNhIm3k53-bnhuPnfZhMcEVQpZs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=Uysxxehm"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=r629kDlg"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?i=r629kDlg" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/SjYey50un7Y/o-cara-da-informtica.html</link><author>noreply@blogger.com (Wagner)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2008/08/o-cara-da-informtica.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-4434086081018471342</guid><pubDate>Fri, 15 Aug 2008 16:52:00 +0000</pubDate><atom:updated>2008-08-15T13:57:40.861-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Humor</category><title>Ilusão de ótica</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a target="_blank" href="http://2.bp.blogspot.com/_nwpzkfSGzPE/SKW0bfthbDI/AAAAAAAABEQ/IqErvxFEjnY/s1600-h/xkcd237.png" imageanchor="1" linkindex="47" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://2.bp.blogspot.com/_nwpzkfSGzPE/SKW0bfthbDI/AAAAAAAABEQ/Z72fsHnMNh0/s400-R/xkcd237.png" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;Hum..Acho que preciso limpar meu teclado. [:p]&lt;br /&gt;&lt;br /&gt;Veja mais tiras traduzidas no &lt;a target="_blank" href="http://www.tirinhas.com/" linkindex="48"&gt;Tirinhas.com&lt;/a&gt;&lt;br /&gt;As originais do xkcd você vê &lt;a target="_blank" href="http://xkcd.com/" linkindex="49"&gt;aqui&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-4434086081018471342?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6zPMSCbD-JoHnRuEeSEkOvf_F2w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6zPMSCbD-JoHnRuEeSEkOvf_F2w/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/6zPMSCbD-JoHnRuEeSEkOvf_F2w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6zPMSCbD-JoHnRuEeSEkOvf_F2w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=ai6L7Fmi"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=vx0K1FaQ"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?i=vx0K1FaQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/gnSYLRELx8U/iluso-de-tica.html</link><author>noreply@blogger.com (Wagner)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_nwpzkfSGzPE/SKW0bfthbDI/AAAAAAAABEQ/Z72fsHnMNh0/s72-Rc/xkcd237.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2008/08/iluso-de-tica.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-3174698944549645141</guid><pubDate>Mon, 11 Aug 2008 17:13:00 +0000</pubDate><atom:updated>2008-08-11T14:15:07.787-03:00</atom:updated><title>O grande manual das pequenas ilusões</title><description>&lt;div class="separator" style="text-align: center; clear: both;"&gt;&lt;a target="_blank" href="http://2.bp.blogspot.com/_nwpzkfSGzPE/SKBzPYTS3LI/AAAAAAAABD4/5ifa8CwGdoQ/s1600-h/nerdson108+-+manual+das+pequenas+ilus%C3%B5es.png" imageanchor="1" linkindex="14" style="border: 0pt none ; background-color: transparent; margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://2.bp.blogspot.com/_nwpzkfSGzPE/SKBzPYTS3LI/AAAAAAAABD4/oQyHKBdxQnQ/s400-R/nerdson108+-+manual+das+pequenas+ilus%C3%B5es.png" style="border: 0pt none ;" /&gt;&lt;/a&gt;&lt;/div&gt;Veja mais em &lt;a target="_blank" href="http://nerdson.com/blog/" linkindex="15"&gt;Nerdson não vai à escola&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-3174698944549645141?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NkvwBhf-yPdhPYQR-s2bg_NExfQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NkvwBhf-yPdhPYQR-s2bg_NExfQ/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/NkvwBhf-yPdhPYQR-s2bg_NExfQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NkvwBhf-yPdhPYQR-s2bg_NExfQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=Y4Xm2Wd0"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=fu2CRnzz"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?i=fu2CRnzz" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/OXESy6xqIWM/o-grande-manual-das-pequenas-iluses.html</link><author>noreply@blogger.com (Wagner)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_nwpzkfSGzPE/SKBzPYTS3LI/AAAAAAAABD4/oQyHKBdxQnQ/s72-Rc/nerdson108+-+manual+das+pequenas+ilus%C3%B5es.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2008/08/o-grande-manual-das-pequenas-iluses.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-7888627921475500058</guid><pubDate>Thu, 07 Aug 2008 21:06:00 +0000</pubDate><atom:updated>2008-10-14T15:39:34.349-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DotNetNuke</category><category domain="http://www.blogger.com/atom/ns#">Tempo</category><category domain="http://www.blogger.com/atom/ns#">Asp.Net</category><category domain="http://www.blogger.com/atom/ns#">CMS</category><category domain="http://www.blogger.com/atom/ns#">Gerenciamento</category><title>Criando um site com DotNetNuke. Parte 2 - Menus administrativos</title><description>Continuando nosso nosso aprendizado sobre o DotNetNuke, abra o site criado no &lt;a target="_blank" href="http://recursao.blogspot.com/2008/08/criando-um-site-com-dotnetnuke-parte-1.html" linkindex="15" target="_blank"&gt;artigo anterior&lt;/a&gt;.&lt;br /&gt;
Faça o login (canto superior direito) com a conta do super usuário. Você deve ter reparado que a mesma página aparece, mas com alguns detalhes diferentes:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="text-align: center; clear: both;"&gt;&lt;/div&gt;&lt;div class="separator" style="text-align: center; clear: both;"&gt;&lt;a target="_blank" href="http://2.bp.blogspot.com/_nwpzkfSGzPE/SJyCVFC7i0I/AAAAAAAABDY/q98WXP5ojnw/s1600-h/sshot-inicio-login-host.png" imageanchor="1" style="border: 0pt none ; background-color: transparent; margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img src="http://2.bp.blogspot.com/_nwpzkfSGzPE/SJyCVFC7i0I/AAAAAAAABDY/gT2jxjVyqRU/s400-R/sshot-inicio-login-host.png" style="border: 0pt none ;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Logo explicarei o que é e para que serve cada parte.&lt;br /&gt;
Por enquanto, vamos nos ater aos menus. Os submenus Admin e Host: foram adicionados ao menu principal:&lt;br /&gt;
&lt;div class="separator" style="text-align: center; clear: both;"&gt;&lt;a target="_blank" href="http://3.bp.blogspot.com/_nwpzkfSGzPE/SJyDa_CZi6I/AAAAAAAABDg/JsJm9DF8KaM/s1600-h/menu-suser.png" imageanchor="1" linkindex="16" style="border: 0pt none ; background-color: transparent; margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img src="http://3.bp.blogspot.com/_nwpzkfSGzPE/SJyDa_CZi6I/AAAAAAAABDg/AlYqMKrhCws/s400-R/menu-suser.png" style="border: 0pt none ;" /&gt;&lt;/a&gt;&lt;/div&gt;Se você tivesse logado como administrador do portal, apenas o menu Admin seria acrescentado.&lt;br /&gt;
Vamos conferir primeiramente os itens do menu Host:&lt;br /&gt;
&lt;div class="separator" style="text-align: center; clear: both;"&gt;&lt;a target="_blank" href="http://1.bp.blogspot.com/_nwpzkfSGzPE/SJyE-ikYywI/AAAAAAAABDo/X4XbGoEO9Yc/s1600-h/menu-host.jpg" imageanchor="1" linkindex="17" style="border: 0pt none ; background-color: transparent; margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img src="http://1.bp.blogspot.com/_nwpzkfSGzPE/SJyE-ikYywI/AAAAAAAABDo/ATxGP8rP9z0/s320-R/menu-host.jpg" style="border: 0pt none ;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;Host Settings&lt;/b&gt; - Exibe informações técnicas sobre o host, como versão do DnNuke instalada, caminho físico etc. Também permite que alteremos configurações como título do host, e-mail de contato do host, selecionar o portal padrão do host, skins, servidor smtp entre outras. &lt;br /&gt;
&lt;b&gt;Portals&lt;/b&gt; - Aqui podemos criar/alterar/remover portais que estarão hospedados neste host. Um host pode ter vários portais.&lt;br /&gt;
&lt;b&gt;Module Definitions&lt;/b&gt; - O DnNuke trabalha por meio de módulos. Módulos são componentes extras que podem ser adicionados ao host e/ou a determinado portal. Caso você precise, por exemplo, de um fórum, não é preciso escrever todo o código para criar um. Basta adicionar o módulo de fórum e usá-lo. Aqui você gerencia os módulos existentes, alterando propriedades (que variam conforme o módulo selecionado) como nome amigável, entre outras. Você também pode definir que um módulo só possa ser usado por determinados portais. Você também pode instalar e remover módulos por aqui.&lt;br /&gt;
&lt;b&gt;File Manager &lt;/b&gt;- Caso precise trabalhar com os arquivos do host (trocar uma imagem existente em uma pasta, por exemplo), pode fazer por aqui.&lt;br /&gt;
&lt;b&gt;Vendors&lt;/b&gt; - Serve para gerenciar afiliados, anunciantes, etc.&lt;br /&gt;
&lt;b&gt;SQL&lt;/b&gt; - Precisa fazer alguma alteração direta no banco de dados? Crie sua string SQL e rode por aqui.&lt;br /&gt;
&lt;b&gt;Schedule&lt;/b&gt; - Aqui você pode agendar tarefas para que o portal execute. Por exemplo, fazer com que o host remova o cache interno a cada 2 horas.&lt;br /&gt;
&lt;b&gt;Language&lt;/b&gt; - Aqui selecionamos e/ou instalamos os idiomas suportados pelo host/portais. Selecione, por exemplo Português(Brasil) e clique em Add. Nosso idioma passa a ser suportado pelo host. Aparece a bandeira do Brasil nas páginas, e quando o usuário clica nela, as seções são exibidas em português. Logicamente isso não traduz textos que o administrador do host/portal tenha adicionado, traduz os textos dos módulos que tenham um pacote de tradução instalado.&lt;br /&gt;
&lt;b&gt;Search Admin &lt;/b&gt;- Aqui você configura os parâmetros de busca. Por exemplo, pode especificar que a busca exigirá que cada termo contenha um mínimo de 3 letras.&lt;br /&gt;
&lt;b&gt;Lists&lt;/b&gt; - Como o nome já diz, aqui você gerencia listas de dados. Podem ser nomes de países, moedas, medidas, ou qualquer outra que você queira.&lt;br /&gt;
&lt;b&gt;Host Accounts&lt;/b&gt; - Aqui você gerencia os administradores do host.&lt;br /&gt;
&lt;b&gt;Skins&lt;/b&gt; - Aqui você instala, remove, altera os skins e containers do host. Skins são as "peles", que alteram as cores e o layout padrão do host/portal. Containers alteram a aparência dos módulos que são usados no host/portal.&lt;br /&gt;
&lt;br /&gt;
Agora, vamos ver as opções do menu Admin:&lt;br /&gt;
&lt;div class="separator" style="text-align: center; clear: both;"&gt;&lt;a target="_blank" href="http://3.bp.blogspot.com/_nwpzkfSGzPE/SJyUdatXjFI/AAAAAAAABDw/4Qk7RAnKmC8/s1600-h/menu-admin.jpg" imageanchor="1" linkindex="18" style="border: 0pt none ; background-color: transparent; margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img src="http://3.bp.blogspot.com/_nwpzkfSGzPE/SJyUdatXjFI/AAAAAAAABDw/2FGO8ruic4o/s320-R/menu-admin.jpg" style="border: 0pt none ;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;Site Settings&lt;/b&gt; - Aqui você configura o portal atual. Você pode definir o título, descrição, palavras-chave, aparência (qual skin o portal vai usar, css etc), idioma padrão e outros.&lt;br /&gt;
&lt;b&gt;Pages&lt;/b&gt; - Neste item você cria, edita, remove páginas e as definições delas. Você pode definir o título, permissões de acesso (quais usuários podem ver a página), aparência (se a página usa um skin específico ou o padrão do site). Também pode definir a ordem em que as páginas aparecem nos menus, ou se ela fará parte de um submenu.&lt;br /&gt;
&lt;span class="Head" id="dnn_ctr357_dnnTITLE_lblTitle"&gt;&lt;b&gt;Security Roles&lt;/b&gt; - Aqui você pode gerenciar grupos de usuários.&lt;br /&gt;
&lt;b&gt;User Accounts &lt;/b&gt;- Semelhante ao mesmo item do menu Host, aqui você gerencia os usuários. Também pode especificar de quais grupos cada usuário faz parte.&lt;br /&gt;
&lt;b&gt;Vendors&lt;/b&gt; - Mesma coisa do menu host, mas é relativo ao portal.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Head" id="dnn_ctr357_dnnTITLE_lblTitle"&gt;&lt;b&gt;Site Log&lt;/b&gt; - Estatísticas do portal.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Head" id="dnn_ctr357_dnnTITLE_lblTitle"&gt;&lt;b&gt;Newsletters&lt;/b&gt; - Para enviar informativos.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Head" id="dnn_ctr357_dnnTITLE_lblTitle"&gt;&lt;b&gt;File Manager&lt;/b&gt; - Idem ao item do menu host, mas relativo ao portal.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Head" id="dnn_ctr357_dnnTITLE_lblTitle"&gt;&lt;b&gt;Recycle Bin &lt;/b&gt;- Quando você remove uma página ou módulo, eles não são excluidos definitivamente. Aqui você pode removê-los de vez, ou restaurá-los.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Head" id="dnn_ctr357_dnnTITLE_lblTitle"&gt;&lt;b&gt;Event Viewer&lt;/b&gt; - Aqui você vê os logs do portal. Por exemplo, quando uma tentativa de login dá errado, ela é armazenada e você pode conferir aqui.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Head" id="dnn_ctr357_dnnTITLE_lblTitle"&gt;&lt;b&gt;Skins &lt;/b&gt;- Igual ao item do menu host, mas relativo ao portal.&lt;br /&gt;
&lt;b&gt;Languages&lt;/b&gt; - &lt;/span&gt;&lt;span class="Head" id="dnn_ctr357_dnnTITLE_lblTitle"&gt;Igual ao item do menu host, mas relativo ao portal.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Head" id="dnn_ctr357_dnnTITLE_lblTitle"&gt;&lt;b&gt;Site Wizard &lt;/b&gt;- Aqui você tem um assistente para configurar o portal de uma forma mais fácil.&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Head" id="dnn_ctr368_dnnTITLE_lblTitle"&gt;Authentication&lt;/span&gt;&lt;/b&gt;&lt;span class="Head" id="dnn_ctr357_dnnTITLE_lblTitle"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Head" id="dnn_ctr357_dnnTITLE_lblTitle"&gt;&lt;/span&gt;- Aqui você seleciona quais tipos de autenticação o portal proverá (Windows Live, por exemplo).&lt;br /&gt;
&lt;b&gt;Solutions Explorer&lt;/b&gt; - Precisa de um módulo de frete? Este item abre uma página com uma espécie de classificados, onde várias soluções de módulos (pagos) para Dnnuke são disponibilizadas.&lt;br /&gt;
&lt;br /&gt;
Aqui tivemos uma visão geral dos menus administrativos. No próximo artigo começaremos a trabalhar com o conteúdo do site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-7888627921475500058?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xZXPhdo9pAj43Ss8TH2_W8DA74s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xZXPhdo9pAj43Ss8TH2_W8DA74s/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/xZXPhdo9pAj43Ss8TH2_W8DA74s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xZXPhdo9pAj43Ss8TH2_W8DA74s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=gWDHqspD"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=4bxDmSvr"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?i=4bxDmSvr" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/mA0e5mbrqXM/criando-um-site-com-dotnetnuke-parte-2.html</link><author>noreply@blogger.com (Wagner)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_nwpzkfSGzPE/SJyCVFC7i0I/AAAAAAAABDY/gT2jxjVyqRU/s72-Rc/sshot-inicio-login-host.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2008/08/criando-um-site-com-dotnetnuke-parte-2.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-2185101039173061078</guid><pubDate>Mon, 04 Aug 2008 19:16:00 +0000</pubDate><atom:updated>2010-01-19T13:24:54.717-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DotNetNuke</category><category domain="http://www.blogger.com/atom/ns#">Tempo</category><category domain="http://www.blogger.com/atom/ns#">Asp.Net</category><category domain="http://www.blogger.com/atom/ns#">CMS</category><category domain="http://www.blogger.com/atom/ns#">Gerenciamento</category><title>Criando um site com DotNetNuke. Parte 1 - Instalação e visão geral</title><description>CMSs (Content Management Systems -&amp;nbsp; Sistemas Gerenciadores de Conteúdo, em português) facilitam muito a vida na hora de criar sites onde o conteúdo é bastante atualizado e o cliente quer algo rápido. Se quiser uma visão geral sobre CMS, dê uma olhada na &lt;a href="http://pt.wikipedia.org/wiki/Cms" linkindex="46" target="_blank"&gt;Wikipédia&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Pretendo, nos próximos artigos, mostrar como é fácil usar esses sistemas. Inicialmente, mostrarei como se instala e se cria um site usando o DotNetNuke, que é um CMS feito em .Net (mais especificamente, vb.net).&lt;br /&gt;
&lt;br /&gt;
Para baixá-lo, vá até o site &lt;a href="http://www.dotnetnuke.com/" linkindex="47"&gt;http://www.dotnetnuke.com/&lt;/a&gt; e clique em Downloads. Para fazer o download é preciso ser cadastrado. Após cadastrar-se, volte à página de Downloads. Repare que, para a última versão disponível (no momento que escrevo este artigo é a 4.8.4) existem 5 tipos de arquivos para baixar:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;Source Package&lt;/b&gt;&amp;nbsp; - Contém o código fonte&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Starter Kit&amp;nbsp;Package&amp;nbsp; -&amp;nbsp; &lt;/b&gt;Aqui estão os arquivos para que possamos criar sites usando o Visual Studio &lt;/li&gt;
&lt;li&gt;&lt;b&gt;Install Package&amp;nbsp; -&amp;nbsp;&lt;/b&gt; Arquivos para instalar em um servidor de produção&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Upgrade&amp;nbsp;Package&amp;nbsp; -&amp;nbsp;&lt;/b&gt; Arquivos necessários para atualizar de uma versão anterior &lt;/li&gt;
&lt;li&gt;&lt;b&gt;Documentation Package&lt;/b&gt; - Documentação para desenvolvedores&lt;/li&gt;
&lt;/ul&gt;Nós usaremos a "Starter Kit Package", para que possamos desenvolver a partir do Visual Studio (mesmo nas versões Express). Então, baixe a versão Starter Kit. Após baixar, instale (basta executar o arquivo).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abra o Visual Studio (no meu caso é o VS Express), e crie um novo Website (File -&amp;gt; New Web Site). Em Language, selecione Visual Basic. Repare que em "My Templates" deve existir o item "DotNetNuke Web Application Framework":&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh5.ggpht.com/wagnerps/SJe8OL2JngI/AAAAAAAABBw/T6GujiUCtuo/NewWebSite.JPG" imageanchor="1" linkindex="48" style="background-color: transparent; border: 0pt none; margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" height="273" src="http://4.bp.blogspot.com/_nwpzkfSGzPE/SrD5xApxRyI/AAAAAAAABpY/WI7gNuhhaUE/s320/NewWebSite.JPG" width="420" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Selecione, e dê o nome de DnNuke (ou qualquer outro que queira) ao projeto, e clique em Ok.&lt;br /&gt;
O novo site foi criado, e uma página (Welcome.html) é exibida no VS, com informações sobre o DotNetNuke.&lt;br /&gt;
&lt;br /&gt;
Você não precisará mexer em nada no código. Essa forma de instalação foi escolhida para que possa trabalhar com mais facilidae, caso queira alterar diretamente algum conteúdo (como uma template por exemplo).&lt;br /&gt;
&lt;br /&gt;
Repare no Solution Explorer as várias pastas e arquivos criados pelo sistema. Mas a instalação ainda não terminou. Agora vem a criação do banco de dados e a configuração inicial.&lt;br /&gt;
Execute o projeto, (Ctrl + F5). A página inicial da instalação/configuração será aberta no navegador:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh4.ggpht.com/wagnerps/SJe_-XY_o6I/AAAAAAAABCI/KaJTzlzmD08/instalacao-inicio.JPG?imgmax=800" imageanchor="1" linkindex="49" style="background-color: transparent; border: 0pt none; margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img height="327" src="http://lh4.ggpht.com/wagnerps/SJe_-XY_o6I/AAAAAAAABCI/KaJTzlzmD08/instalacao-inicio.JPG?imgmax=800" style="border: 0pt none;" width="420" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span style="color: red;"&gt;&lt;b&gt;Atenção&lt;/b&gt;:&lt;/span&gt; Caso a página não apareça, mas sim uma página de erro, você precisará dar permissão de escrita ao usuário do IIS na pasta em que a instalação está sendo executada.&lt;br /&gt;
Se estiver usando Windows 2000 (IIS 5), a permissão deve ser dada para o usuário NomedaMaquina\ASPNET. Se estiver usando o Windows 2003 (IIS 6), a permissão é para o usuário NT AUTHORITY\NETWORK SERVICE.&lt;br /&gt;
Após dar a permissão (não esqueça de marcar para que as mudanças afetem também as subpastas/arquivos da pasta), volte ao navegador e dê um refresh na página (F5). Agora você deve ver a página inicial, mostrada anteriormente. &lt;br /&gt;
&lt;br /&gt;
Na página, temos:&lt;br /&gt;
&lt;b&gt;Select Instalation Method&lt;/b&gt; - Aqui, definimos como queremos fazer a instalação:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;Custom&lt;/b&gt; - Permite que você selecione componentes opcionais para a instalação&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Typical &lt;/b&gt;- É a instalação padrão do DotNetNuke, onde algumas opções são selecionadas automaticamente&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Auto &lt;/b&gt;- O Instalador tenta fazer uma instalação praticamente sem sua intervenção. &lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;Deixe marcada a oção Typical, é ela que usaremos.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Choose Language&lt;/b&gt; - Define o idioma do wizard. Deixamos o padrão, English.&lt;br /&gt;
&lt;br /&gt;
Agora, clique em Next. Aparecerá a página de teste de permissões:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/wagnerps/SJfCGkR5OTI/AAAAAAAABCc/QrkYP1-Id_g/instalacao-testeEscrita.JPG?imgmax=800" imageanchor="1" linkindex="50" style="background-color: transparent; border: 0pt none; margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img height="327" src="http://lh3.ggpht.com/wagnerps/SJfCGkR5OTI/AAAAAAAABCc/QrkYP1-Id_g/instalacao-testeEscrita.JPG?imgmax=800" style="border: 0pt none;" width="420" /&gt;&lt;/a&gt;&lt;/div&gt;Clique em "Test Permissions". Se estiver tudo ok, aparecerá a mensagem "&lt;span id="wizInstall_lblPermissionsError"&gt;&lt;b&gt;&lt;span style="color: green;"&gt;Your site passed  the permissions check&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;". Clique em Next.&lt;br /&gt;
&lt;br /&gt;
Agora, aparecerá a página de configuração do banco de dados:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://bp2.blogger.com/_nwpzkfSGzPE/SJfDhRkcbvI/AAAAAAAABCw/nMdQlqQ6-WA/s1600-h/instalacao-bd.JPG" imageanchor="1" linkindex="51" style="background-color: transparent; border: 0pt none; margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img src="http://bp2.blogger.com/_nwpzkfSGzPE/SJfDhRkcbvI/AAAAAAAABCw/RO1frIUhvjY/s400-R/instalacao-bd.JPG" style="border: 0pt none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
O DotNetNuke usa o SQL Server 2005. Na página, as opções são:&lt;br /&gt;
&lt;b&gt;Select Database&lt;/b&gt; - Aqui, você deve selecionar se irá usar um arquivo do SQL Server (que ficará na pasta App_Data ou se irá se conectar diretamente ao servidor. No caso, escolhi a primeira opção.&lt;br /&gt;
Coloque o endereço do servidor (no caso, como é o SQL Express, o wizard automaticamente coloca o ".\SQLExpress", e seleciona o nome do arquivo automaticamente (Database.mdf), e também deixa marcado "&lt;span id="wizInstall_lblIntegrated"&gt;Integrated Security" e "&lt;/span&gt;&lt;span id="wizInstall_lblOwner"&gt;Run as db Owner". Se você desmarcar o Integrated Security, aparecerão os campos para digitar o usuário e a senha do banco.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span id="wizInstall_lblOwner"&gt;O campo &lt;b&gt;Object Qualifier&lt;/b&gt; serve para o wizard criar as tabelas/funções do banco com aquele prefixo (por ex, "dn_"), para evitar algum erro caso existam outras tabelas com o mesmo nome das tabelas padrão que serão instaladas. Em nosso caso, deixe em branco.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span id="wizInstall_lblOwner"&gt;&lt;/span&gt;&lt;span id="wizInstall_lblOwner"&gt;Clique em Test Database Connection. Caso a mensagem "&lt;/span&gt;&lt;span id="wizInstall_lblDataBaseError"&gt;&lt;b&gt;&lt;span style="color: green;"&gt;Connection  Success&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;" tenha aparecido, clique em next. Senão, reveja as configurações.&lt;br /&gt;
&lt;span id="wizInstall_lblOwner"&gt; &lt;br /&gt;
&lt;/span&gt;&lt;span id="wizInstall_lblOwner"&gt;Na próxima página, o banco de dados será instalado. Aguarde um pouco. Após a instalação do banco, uma página parecida com essa será exibida:&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://bp0.blogger.com/_nwpzkfSGzPE/SJfFqKdvcRI/AAAAAAAABC4/WHKkEYJVW4M/s1600-h/instalacao-bd-scripts.JPG" imageanchor="1" linkindex="52" style="background-color: transparent; border: 0pt none; margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img src="http://bp0.blogger.com/_nwpzkfSGzPE/SJfFqKdvcRI/AAAAAAAABC4/P_B-LB6yAR0/s400-R/instalacao-bd-scripts.JPG" style="border: 0pt none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span id="wizInstall_lblOwner"&gt;&lt;br /&gt;
&lt;br /&gt;
Clique novamente em next. Aparecerá a página de configuração do "super-usuário" do host. Esse usuário tem poder total. Ele pode criar e remover outros usuários, configurar o host e gerenciar portais (um host pode ter vários portais):&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://bp2.blogger.com/_nwpzkfSGzPE/SJfGyvBrIzI/AAAAAAAABDA/R9tv1ZcQMB0/s1600-h/instalacao-contas-superuser.JPG" imageanchor="1" linkindex="53" style="background-color: transparent; border: 0pt none; margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img src="http://bp2.blogger.com/_nwpzkfSGzPE/SJfGyvBrIzI/AAAAAAAABDA/cPDBzUTNseY/s400-R/instalacao-contas-superuser.JPG" style="border: 0pt none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span id="wizInstall_lblOwner"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span id="wizInstall_lblOwner"&gt;Após&amp;nbsp; definir os dados do super-usuário, clique em next.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span id="wizInstall_lblOwner"&gt;A próxima página é parecida. Nela, você definirá os dados do administrador do portal que é instalado por padrão.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span id="wizInstall_lblOwner"&gt;A diferença é que aqui você definirá o nome do portal (Portal Title) e selecionará um template (modelo) que o portal usará. No caso, em Portal Title, colocamos "Exemplo de uso do DotNetNuke" e em template deixamos o padrão (DotNetNuke). Clique novamente em Next.&lt;/span&gt;&lt;br /&gt;
&lt;span id="wizInstall_lblOwner"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span id="wizInstall_lblOwner"&gt;Pronto. Aparecerá uma página com a mensagem "&lt;/span&gt;&lt;span id="wizInstall_lblOwner"&gt;&lt;/span&gt;Congratulations, you have successfully installed DotNetNuke." e um link para ir para o site. Clique no link, e verá uma página parecida com essa:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://bp1.blogger.com/_nwpzkfSGzPE/SJfIEfNbWyI/AAAAAAAABDI/DC5qaJjPupE/s1600-h/instalacao-final.JPG" imageanchor="1" linkindex="54" style="background-color: transparent; border: 0pt none; margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img src="http://bp1.blogger.com/_nwpzkfSGzPE/SJfIEfNbWyI/AAAAAAAABDI/RNMfRwlPf8w/s400-R/instalacao-final.JPG" style="border: 0pt none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
O site já vem com um conteúdo padrão.&lt;br /&gt;
&lt;br /&gt;
Aqui termina a primeira parte deste tutorial. Nas próximas partes, iremos configurar e manusear o conteúdo de acordo com as nossas necessidades&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-2185101039173061078?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MfuaCzidTYFMnix2e931cdOLV-o/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MfuaCzidTYFMnix2e931cdOLV-o/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/MfuaCzidTYFMnix2e931cdOLV-o/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MfuaCzidTYFMnix2e931cdOLV-o/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=Qc6SVmJt"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=ljOTquRm"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?i=ljOTquRm" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/RBXXvN25agM/criando-um-site-com-dotnetnuke-parte-1.html</link><author>noreply@blogger.com (Wagner)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_nwpzkfSGzPE/SrD5xApxRyI/AAAAAAAABpY/WI7gNuhhaUE/s72-c/NewWebSite.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">8</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2008/08/criando-um-site-com-dotnetnuke-parte-1.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-8285002487880945582</guid><pubDate>Fri, 18 Jul 2008 19:33:00 +0000</pubDate><atom:updated>2008-07-18T16:43:20.563-03:00</atom:updated><title>Precisando exportar seus códigos?</title><description>Quando crio um artigo, a parte mais chata é acertar a formatação do código para exibir nas postagens. Há pouco tempo comecei a usar uma ferramenta que tem ajudado muito: É o &lt;a href="http://www.hightechtalks.com/csharp-code-export/" linkindex="14" target="_blank"&gt;CSharp Code Export&lt;/a&gt;.Você só precisa colar o código (ou abrir o arquivo .cs existente) e clicar em converter. Ele gera o html para você.&lt;br /&gt;
&lt;br /&gt;
E além do html, exporta também para outros formatos, como PDF e JPG.&lt;br /&gt;
&lt;br /&gt;
Aqui vai um screenshot:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="text-align: center; clear: both;"&gt;&lt;a href="http://www.hightechtalks.com/csharp-code-export/images/start-2.png" imageanchor="1" linkindex="15" style="border: 0pt none ; background-color: transparent; margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img height="317" src="http://www.hightechtalks.com/csharp-code-export/images/start-2.png" style="border: 0pt none ;" width="420" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Você também pode definir estilos e cores&lt;br /&gt;
&lt;br /&gt;
Além de tudo, é free!&lt;br /&gt;
&lt;br /&gt;
Uma verdadeira mão na roda! [;)]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-8285002487880945582?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ItqEvFu-vgf8PZjEY1MK1XliZMs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ItqEvFu-vgf8PZjEY1MK1XliZMs/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/ItqEvFu-vgf8PZjEY1MK1XliZMs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ItqEvFu-vgf8PZjEY1MK1XliZMs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=E7AkfZYt"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=3fTVfSjs"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?i=3fTVfSjs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/oWuZVKzU7FI/precisando-exportar-seus-cdigos.html</link><author>noreply@blogger.com (Wagner)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2008/07/precisando-exportar-seus-cdigos.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-6532129796505150227</guid><pubDate>Fri, 18 Jul 2008 14:45:00 +0000</pubDate><atom:updated>2008-07-18T12:57:55.268-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Arquivos</category><category domain="http://www.blogger.com/atom/ns#">Windows Forms</category><category domain="http://www.blogger.com/atom/ns#">Programação</category><category domain="http://www.blogger.com/atom/ns#">C#</category><category domain="http://www.blogger.com/atom/ns#">Recursividade</category><category domain="http://www.blogger.com/atom/ns#">Pastas</category><title>Removendo subpastas. Parte 2 - uma forma mais "primitiva"</title><description>&lt;style type="text/css"&gt;
    /*&lt;![CDATA[*/
 span.c4 {color: #800000}
 span.c3 {color: #000000}
 span.c6 {color: #0000FF}
 span.c1 {color: #000000;}
 span.c5 {color: #2B91AF;}
i.c5 {color: #008000}
    /*]]&gt;*/
    
&lt;/style&gt;&lt;br /&gt;
No &lt;a href="http://recursao.blogspot.com/2008/07/removendo-subpastas-parte-1-usando.html" linkindex="13" target="_blank"&gt;artigo anterior&lt;/a&gt; mostrei como é fácil criar um programa que remove as subpastas de uma pasta indicada pelo usuário. No código, usamos os recursos disponibilizados pelo .Net Framework, que facilitam muito a nossa vida.&lt;br /&gt;
&lt;br /&gt;
No presente artigo, mostro como obter o mesmo resultado, mas de uma forma um pouco mais "trabalhosa". Dispensaremos os recursos automáticos de busca por pastas e arquivos, e faremos nossas próprias comparações. Claro, ainda usaremos alguns recursos da linguagem, mas o "cerne" do problema será solucionado por nossa própria conta, usando um pouco de recursão.&lt;br /&gt;
&lt;br /&gt;
Primeiro, crie um novo projeto, baseando-se no &lt;a href="http://recursao.blogspot.com/2008/07/removendo-subpastas-parte-1-usando.html" linkindex="14" target="_blank"&gt;artigo anterior&lt;/a&gt; para a parte visual.&lt;br /&gt;
&lt;br /&gt;
Agora, vamos às diferenças. O código do evento btRemover_Click deve ficar assim:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="c1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;private&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;void&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;btRemover_Click(&lt;/span&gt;&lt;span class="c6"&gt;object&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;sender,&amp;nbsp;&lt;span class="c5"&gt;DirectoryNotFoundException&lt;/span&gt;&amp;nbsp;e)&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&lt;/span&gt;&lt;span class="c6"&gt;if&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;(txtCaminho.Text.Trim()&amp;nbsp;==&amp;nbsp;&lt;/span&gt;&lt;span class="c4"&gt;""&lt;/span&gt;&lt;span class="c3"&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;{&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&lt;span class="c5"&gt;MessageBox&lt;/span&gt;.Show(&lt;/span&gt;&lt;span class="c4"&gt;"Por&amp;nbsp;favor,&amp;nbsp;digite&amp;nbsp;ou&amp;nbsp;selecione&amp;nbsp;uma&amp;nbsp;pasta&amp;nbsp;para&amp;nbsp;procurar."&lt;/span&gt;&lt;span class="c3"&gt;);&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;txtCaminho.Focus();&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;return&lt;/span&gt;&lt;span class="c3"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;}&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&lt;/span&gt;&lt;span class="c6"&gt;else&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;if&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;(cmbCriterios.SelectedIndex&amp;nbsp;==&amp;nbsp;0)&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;{&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&lt;span class="c5"&gt;MessageBox&lt;/span&gt;.Show(&lt;/span&gt;&lt;span class="c4"&gt;"Por&amp;nbsp;favor,&amp;nbsp;selecione&amp;nbsp;um&amp;nbsp;critério&amp;nbsp;na&amp;nbsp;lista."&lt;/span&gt;&lt;span class="c3"&gt;);&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;cmbCriterios.Focus();&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;return&lt;/span&gt;&lt;span class="c3"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;}&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&lt;/span&gt;&lt;span class="c6"&gt;else&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;if&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;(txtCriterio.Text.Trim()&amp;nbsp;==&amp;nbsp;&lt;/span&gt;&lt;span class="c4"&gt;""&lt;/span&gt;&lt;span class="c3"&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;{&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&lt;span class="c5"&gt;MessageBox&lt;/span&gt;.Show(&lt;/span&gt;&lt;span class="c4"&gt;"Por&amp;nbsp;favor,&amp;nbsp;digite&amp;nbsp;um&amp;nbsp;critério."&lt;/span&gt;&lt;span class="c3"&gt;);&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;txtCriterio.Focus();&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;return&lt;/span&gt;&lt;span class="c3"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;}&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&lt;/span&gt;&lt;span class="c6"&gt;string&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;criterio&amp;nbsp;=&amp;nbsp;txtCriterio.Text;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&lt;/span&gt;&lt;span class="c6"&gt;switch&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;(cmbCriterios.SelectedIndex)&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;{&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;case&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;2:&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;criterio&amp;nbsp;+=&amp;nbsp;&lt;/span&gt;&lt;span class="c4"&gt;"*"&lt;/span&gt;&lt;span class="c3"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;break&lt;/span&gt;&lt;span class="c3"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;case&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;3:&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;criterio&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="c4"&gt;"*"&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;+&amp;nbsp;criterio;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;break&lt;/span&gt;&lt;span class="c3"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;case&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;4:&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;criterio&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="c4"&gt;"*"&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;+&amp;nbsp;criterio&amp;nbsp;+&amp;nbsp;&lt;/span&gt;&lt;span class="c4"&gt;"*"&lt;/span&gt;&lt;span class="c3"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;break&lt;/span&gt;&lt;span class="c3"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;}&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&lt;/span&gt;&lt;span class="c6"&gt;if&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;(&lt;span class="c5"&gt;MessageBox&lt;/span&gt;.Show(&lt;/span&gt;&lt;span class="c4"&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Deseja&amp;nbsp;realmente&amp;nbsp;procurar&amp;nbsp;e&amp;nbsp;remover&amp;nbsp;as&amp;nbsp;pastas&amp;nbsp;onde&amp;nbsp;os&amp;nbsp;nomes&amp;nbsp;"&lt;/span&gt;&lt;span class="c3"&gt;&lt;br /&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;&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;&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;&amp;nbsp; +&amp;nbsp;cmbCriterios.Text&amp;nbsp;+&amp;nbsp;&lt;/span&gt;&lt;span class="c4"&gt;"&amp;nbsp;\""&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;+&amp;nbsp;txtCriterio.Text&amp;nbsp;+&amp;nbsp;&lt;/span&gt;&lt;span class="c4"&gt;"\"?"&lt;/span&gt;&lt;span class="c3"&gt;,&lt;br /&gt;
&lt;/span&gt;&lt;span class="c4"&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;&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;&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;&amp;nbsp;&amp;nbsp; "Confirmar"&lt;/span&gt;&lt;span class="c3"&gt;,&lt;span class="c5"&gt;MessageBoxButtons&lt;/span&gt;.YesNo)&amp;nbsp;==&amp;nbsp;DialogResult.No&lt;/span&gt;&lt;br /&gt;
&lt;span class="c3"&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;&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;&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&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;return&lt;/span&gt;&lt;span class="c3"&gt;;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="c1"&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;&lt;/span&gt;&lt;span class="c6"&gt;this&lt;/span&gt;&lt;span class="c3"&gt;.Cursor&amp;nbsp;=&amp;nbsp;&lt;span class="c5"&gt;Cursors&lt;/span&gt;.WaitCursor;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; btRemover.Enabled&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;false&lt;/span&gt;&lt;span class="c3"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;btRemover.Text&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="c4"&gt;"Por&amp;nbsp;favor,&amp;nbsp;aguarde..."&lt;/span&gt;&lt;span class="c3"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;pgbRemovendo.Visible&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;true&lt;/span&gt;&lt;span class="c3"&gt;;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="c1"&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;&lt;/span&gt;&lt;span class="c6"&gt;int&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;total&amp;nbsp;=&amp;nbsp;procurarPastas(txtCaminho.Text,&amp;nbsp;criterio,&amp;nbsp;chkSubpastas.Checked);&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;pgbRemovendo.Visible&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;false&lt;/span&gt;&lt;span class="c3"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&lt;/span&gt;&lt;span class="c6"&gt;this&lt;/span&gt;&lt;span class="c3"&gt;.Cursor&amp;nbsp;=&amp;nbsp;&lt;span class="c5"&gt;Cursors&lt;/span&gt;.Default;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&lt;/span&gt;&lt;span class="c6"&gt;if&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;(total&amp;nbsp;==&amp;nbsp;0)&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&lt;span class="c5"&gt;MessageBox&lt;/span&gt;.Show(&lt;/span&gt;&lt;span class="c4"&gt;"Nenhuma&amp;nbsp;pasta&amp;nbsp;encontrada."&lt;/span&gt;&lt;span class="c3"&gt;);&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&lt;/span&gt;&lt;span class="c6"&gt;else&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&lt;span class="c5"&gt;MessageBox&lt;/span&gt;.Show(total.ToString()&amp;nbsp;+&amp;nbsp;&lt;/span&gt;&lt;span class="c4"&gt;"&amp;nbsp;pasta(s)&amp;nbsp;removida(s)."&lt;/span&gt;&lt;span class="c3"&gt;);&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="c1"&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;btRemover.Enabled&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;true&lt;/span&gt;&lt;span class="c3"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;btRemover.Text&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="c4"&gt;"&amp;amp;Procurar&amp;nbsp;e&amp;nbsp;remover"&lt;/span&gt;&lt;span class="c3"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
Agora, crie a função procurarPastas. Essa função recebe 3 parâmetros:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;o caminho da pasta principal, a partir de onde procuraremos as pastas a serem removidas&lt;/li&gt;
&lt;li&gt;uma máscara para sabermos os critérios selecionados para a procura&lt;/li&gt;
&lt;li&gt; opção de procurar ou não nas subpastas&lt;/li&gt;
&lt;/ol&gt;Novamente, os comentários estão no próprio código:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="c1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;int&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;procurarPastas(&lt;/span&gt;&lt;span class="c6"&gt;string&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;pastaPai,&lt;/span&gt; &lt;span class="c6"&gt;string&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;maskCriterio,&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;bool&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;recursivo)&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&lt;/span&gt;&lt;span class="c6"&gt;int&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;total&amp;nbsp;=&amp;nbsp;0;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&lt;span class="c5"&gt;DirectoryInfo&lt;/span&gt;&amp;nbsp;pasta&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;new&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;&lt;span class="c5"&gt;DirectoryInfo&lt;/span&gt;(pastaPai);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="c1"&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;&lt;/span&gt;&lt;span class="c6"&gt;bool&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;remover&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;false&lt;/span&gt;&lt;span class="c3"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="c1"&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;&lt;/span&gt;&lt;span class="c6"&gt;string&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;criterio&amp;nbsp;=&amp;nbsp;maskCriterio.Replace(&lt;/span&gt;&lt;span class="c4"&gt;"*"&lt;/span&gt;&lt;span class="c3"&gt;,&lt;/span&gt;&lt;span class="c4"&gt;""&lt;/span&gt;&lt;span class="c3"&gt;);&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="c1"&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;&lt;/span&gt;&lt;span class="c6"&gt;try&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;{&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&lt;span class="c5"&gt;DirectoryInfo&lt;/span&gt;[]&amp;nbsp;subPastas&amp;nbsp;=&amp;nbsp;pasta.GetDirectories();&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="c1"&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&gt;&lt;span class="c3"&gt;&lt;/span&gt;&lt;i class="c5"&gt;//percorremos&amp;nbsp;todas&amp;nbsp;as&amp;nbsp;subpastas&lt;/i&gt;&lt;br /&gt;
&lt;span class="c1"&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&gt;&lt;span class="c6"&gt;foreach&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;(&lt;span class="c5"&gt;DirectoryInfo&lt;/span&gt;&amp;nbsp;subPasta&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;in&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;subPastas)&amp;nbsp;&lt;/span&gt;&lt;i class="c5"&gt;&lt;/i&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i class="c5"&gt;//&amp;nbsp;procurar&amp;nbsp;pastas&amp;nbsp;que&amp;nbsp;contenham&amp;nbsp;o&amp;nbsp;critério&amp;nbsp;selecionado&lt;/i&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="c6"&gt;if&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;(maskCriterio.StartsWith(&lt;/span&gt;&lt;span class="c4"&gt;"*"&lt;/span&gt;&lt;span class="c3"&gt;)&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;maskCriterio.EndsWith(&lt;/span&gt;&lt;span class="c4"&gt;"*"&lt;/span&gt;&lt;span class="c3"&gt;))&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;if&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;(subPasta.Name.IndexOf(criterio, &lt;br /&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;&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;&amp;nbsp; &lt;span class="c5"&gt;StringComparison&lt;/span&gt;.InvariantCultureIgnoreCase)&amp;nbsp;&amp;gt;=&amp;nbsp;0&amp;nbsp;)&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&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;remover&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;true&lt;/span&gt;&lt;span class="c3"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="c3"&gt;&lt;/span&gt;&lt;i class="c5"&gt;//&amp;nbsp;procurar&amp;nbsp;pastas&amp;nbsp;que&amp;nbsp;comecem&amp;nbsp;com&amp;nbsp;o&amp;nbsp;critério&amp;nbsp;selecionado&lt;/i&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="c6"&gt;else&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;if&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;(maskCriterio.StartsWith(&lt;/span&gt;&lt;span class="c4"&gt;"*"&lt;/span&gt;&lt;span class="c3"&gt;))&lt;/span&gt;&lt;i class="c5"&gt;&lt;/i&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;if&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;(subPasta.Name.StartsWith(criterio,&lt;span class="c5"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c3"&gt;&lt;span class="c5"&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;&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;&amp;nbsp; StringComparison&lt;/span&gt;.InvariantCultureIgnoreCase))&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&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;remover=&lt;/span&gt;&lt;span class="c6"&gt;true&lt;/span&gt;&lt;span class="c3"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i class="c5"&gt;//&amp;nbsp;procurar&amp;nbsp;pastas&amp;nbsp;que&amp;nbsp;terminem&amp;nbsp;com&amp;nbsp;o&amp;nbsp;critério&amp;nbsp;selecionado&lt;/i&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="c6"&gt;else&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;if&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;(maskCriterio.EndsWith(&lt;/span&gt;&lt;span class="c4"&gt;"*"&lt;/span&gt;&lt;span class="c3"&gt;))&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;if&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;(subPasta.Name.EndsWith(criterio,&lt;br /&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;&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;&amp;nbsp; &lt;span class="c5"&gt;StringComparison&lt;/span&gt;.InvariantCultureIgnoreCase))&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&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;remover&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;true&lt;/span&gt;&lt;span class="c3"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;i class="c5"&gt;//&amp;nbsp;procurar&amp;nbsp;pastas&amp;nbsp;que&amp;nbsp;tenham&amp;nbsp;o&amp;nbsp;nome &lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //exatamente&amp;nbsp;igual&amp;nbsp;ao&amp;nbsp;critério&amp;nbsp;selecionado&lt;/i&gt;&lt;span class="c1"&gt;&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="c6"&gt;else&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;if&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;(subPasta.Name.ToLower()&amp;nbsp;==&amp;nbsp;criterio.ToLower())&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&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;remover=&lt;/span&gt;&lt;span class="c6"&gt;true&lt;/span&gt;&lt;span class="c3"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;if&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;(recursivo)&amp;nbsp;&lt;/span&gt;&lt;i class="c5"&gt;//&amp;nbsp;procura&amp;nbsp;nas&amp;nbsp;subpastas&amp;nbsp;da&amp;nbsp;subpasta&amp;nbsp;atual&lt;/i&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;total&amp;nbsp;+=&amp;nbsp;procurarPastas(subPasta.FullName,&amp;nbsp;maskCriterio,&amp;nbsp;recursivo);&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;if&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;(remover)&amp;nbsp;&lt;/span&gt;&lt;i class="c5"&gt;//removemos&amp;nbsp;a&amp;nbsp;subpasta&amp;nbsp;com&amp;nbsp;todo&amp;nbsp;o&amp;nbsp;seu&amp;nbsp;conteúdo&lt;/i&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;removePasta(subPasta);&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;total&amp;nbsp;+=&amp;nbsp;1;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;this&lt;/span&gt;&lt;span class="c3"&gt;.Refresh();&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;remover&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;false&lt;/span&gt;&lt;span class="c3"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="c1"&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;&lt;/span&gt;&lt;span class="c6"&gt;catch&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;(&lt;span class="c5"&gt;StringComparison&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;{&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;&lt;span class="c5"&gt;MessageBox&lt;/span&gt;.Show(&lt;/span&gt;&lt;span class="c4"&gt;"Pasta inválida."&lt;/span&gt;&lt;span class="c3"&gt;);&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;}&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="c1"&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;&lt;/span&gt;&lt;span class="c6"&gt;return&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;total;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Vamos então ao código da função removePasta. Ela é a responsável por fazer o "trabalho sujo" de eliminar as pastas encontradas. Repare que ela remove os arquivos e subpastas um a um:&lt;br /&gt;
&lt;span class="c1"&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class="c6"&gt;void&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;removePasta(&lt;span class="c5"&gt;DirectoryInfo&lt;/span&gt;&amp;nbsp;pasta)&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&lt;/span&gt;&lt;span class="c6"&gt;foreach&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;(FileInfo&amp;nbsp;arquivo&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;in&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;pasta.GetFiles())&amp;nbsp;&lt;/span&gt;&lt;i class="c5"&gt;//apaga&amp;nbsp;os&amp;nbsp;arquivos&amp;nbsp;da&amp;nbsp;pasta&lt;/i&gt;&lt;br /&gt;
&lt;span class="c1"&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;{&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;arquivo.IsReadOnly&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;false&lt;/span&gt;&lt;span class="c3"&gt;;&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;arquivo.Delete();&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="c1"&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; &lt;/span&gt;&lt;span class="c3"&gt;&lt;/span&gt;&lt;i class="c5"&gt;//apaga&amp;nbsp;subpastas&amp;nbsp;da&amp;nbsp;pasta&amp;nbsp;atual&lt;/i&gt;&lt;br /&gt;
&lt;span class="c1"&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&gt;&lt;span class="c6"&gt;foreach&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;(&lt;span class="c5"&gt;DirectoryInfo&lt;/span&gt;&amp;nbsp;subPasta&amp;nbsp;&lt;/span&gt;&lt;span class="c6"&gt;in&lt;/span&gt;&lt;span class="c3"&gt;&amp;nbsp;pasta.GetDirectories())&amp;nbsp;&lt;/span&gt;&lt;i class="c5"&gt;&lt;/i&gt;&lt;br /&gt;
&lt;span class="c1"&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;{&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&amp;nbsp;removePasta(subPasta);&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;}&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&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;&lt;/span&gt;&lt;i class="c5"&gt;//&amp;nbsp;e&amp;nbsp;finalmente,&amp;nbsp;apaga&amp;nbsp;a&amp;nbsp;pasta&lt;/i&gt;&lt;br /&gt;
&lt;span class="c1"&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;pasta.Delete();&lt;/span&gt;&lt;br /&gt;
&lt;span class="c1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Como pode ver, é possível usar a mesma lógica em outras linguagens.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-6532129796505150227?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tJF4woiDw4S_SfUSH2EQU8xBwjM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tJF4woiDw4S_SfUSH2EQU8xBwjM/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/tJF4woiDw4S_SfUSH2EQU8xBwjM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tJF4woiDw4S_SfUSH2EQU8xBwjM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=HAePKgS3"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=x51cFy90"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?i=x51cFy90" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/t0yfaL_m9qs/removendo-subpastas-parte-2-uma-forma.html</link><author>noreply@blogger.com (Wagner)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2008/07/removendo-subpastas-parte-2-uma-forma.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6622542599553745831.post-6894691590796068757</guid><pubDate>Sun, 13 Jul 2008 19:45:00 +0000</pubDate><atom:updated>2008-07-13T18:37:44.904-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Arquivos</category><category domain="http://www.blogger.com/atom/ns#">Windows Forms</category><category domain="http://www.blogger.com/atom/ns#">Programação</category><category domain="http://www.blogger.com/atom/ns#">C#</category><category domain="http://www.blogger.com/atom/ns#">Recursividade</category><category domain="http://www.blogger.com/atom/ns#">Pastas</category><title>Removendo subpastas. Parte 1 - usando recursos existentes.</title><description>Mostrarei, neste artigo e em um próximo, duas formas de percorrer e remover subpastas de uma pasta selecionada pelo usuário. Esse tipo de programa é muito útil quando queremos fazer uma limpeza em determinados lugares do disco.&lt;br /&gt;
&lt;br /&gt;
Neste primeiro artigo, uso os recursos que o .Net Framework nos oferece, fazendo com que gastemos menos tempo com o problema. &lt;br /&gt;
&lt;br /&gt;
Primeiramente, crie um novo projeto do tipo Windows Forms.&lt;br /&gt;
&lt;br /&gt;
Acrescente:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;2 Botões:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;no primeiro, defina as propriedades Name como "btSelecionarPasta" e Text&amp;nbsp; como "..."&lt;/li&gt;
&lt;li&gt;no segundo, deixe o nome como "btRemover" e Text como "&amp;amp;Procurar e remover" &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;2 TextBoxes:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;a primeira com o nome "txtCaminho"&lt;/li&gt;
&lt;li&gt;a segunda, "txtCriterio"&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;1 ComboBox&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;nomeie como "cmbCriterios"&lt;/li&gt;
&lt;li&gt;em Items, coloque, separados por uma linha, e sem aspas:&amp;nbsp;   "--Selecione--", "São iguais a", "Começam com", "Terminam com", "Contém"&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;1 CheckBox, nomeada como "chkSubpastas" e Checked =&amp;nbsp;true&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;1 ProgressBar, de nome "pgbRemovendo" e Style Marquee&lt;/li&gt;
&lt;li&gt;1 FolderBrowserDialog, com o nome "dlgSelecionarPasta"&lt;/li&gt;
&lt;/ul&gt;
A "cara" do programa deve ficar parecida com a próxima figura:&lt;br /&gt;
&lt;div class="separator" style="text-align: center; clear: both;"&gt;&lt;a target="_blank" href="http://bp3.blogger.com/_nwpzkfSGzPE/SHpflXGCLjI/AAAAAAAABAY/MmKULferocI/s1600-h/sshot.JPG" imageanchor="1" linkindex="11" style="border: 0pt none ; background-color: transparent; margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://bp3.blogger.com/_nwpzkfSGzPE/SHpflXGCLjI/AAAAAAAABAY/veQdjZzr2sI/s400-R/sshot.JPG" style="border: 0pt none ;" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Agora, vamos ao código:&lt;br /&gt;
&lt;br /&gt;
Acrescente a referência ao namespace System.IO:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; System.IO;&lt;/blockquote&gt;
&amp;nbsp;No evento Load do Form:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;cmbCriterios.SelectedIndex = 0;&lt;/blockquote&gt;
Agora, no evento Click do botão "btSelecionarPasta", acrescente: &lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;dlgSelecionarPasta.ShowDialog();&lt;br /&gt;
txtCaminho.Text = dlgSelecionarPasta.SelectedPath;&lt;/blockquote&gt;
E, no evento Click do botão "btRemover", o código principal (colocarei todo o código do evento, mas comentarei - no próprio código - apenas os trechos mais importantes):&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;private void&lt;/span&gt; btRemover_Click(&lt;span style="color: rgb(0, 0, 255);"&gt;object&lt;/span&gt; sender, &lt;span style="color: rgb(42, 171, 171);"&gt;EventArgs&lt;/span&gt; e)&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (txtCaminho.Text.Trim() == &lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(42, 171, 171);"&gt;MessageBox&lt;/span&gt;.Show(&lt;span style="color: rgb(128, 0, 0);"&gt;"Por favor, digite ou selecione uma pasta para procurar."&lt;/span&gt;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;txtCaminho.Focus();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (cmbCriterios.SelectedIndex == 0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(42, 171, 171);"&gt;MessageBox&lt;/span&gt;.Show(&lt;span style="color: rgb(128, 0, 0);"&gt;"Por favor, selecione um critério na lista."&lt;/span&gt;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;cmbCriterios.Focus();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(0, 0, 255);"&gt;else &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (txtCriterio.Text.Trim() == &lt;span style="color: rgb(128, 0, 0);"&gt;""&lt;/span&gt;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(42, 171, 171);"&gt;MessageBox&lt;/span&gt;.Show(&lt;span style="color: rgb(128, 0, 0);"&gt;"Por favor, digite um critério."&lt;/span&gt;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;txtCriterio.Focus();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(0, 112, 0);"&gt;/* Abaixo, verificamos se devemos apagar as pastas/arquivos que &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sejam exatamente iguais,&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; terminam, começam ou contenham&amp;nbsp; o critério selecionado. &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Repare que podemos usar caracteres curinga. &amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class="tr_bq"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; criterio = txtCriterio.Text;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;switch&lt;/span&gt; (cmbCriterios.SelectedIndex)&lt;br /&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;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;case&lt;/span&gt; 2:&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;criterio += &lt;span style="color: rgb(128, 0, 0);"&gt;"*"&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;case&lt;/span&gt; 3:&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;criterio = &lt;span style="color: rgb(128, 0, 0);"&gt;"*"&lt;/span&gt; + criterio;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;case&lt;/span&gt; 4:&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;criterio = &lt;span style="color: rgb(128, 0, 0);"&gt;"*"&lt;/span&gt; + criterio + &lt;span style="color: rgb(128, 0, 0);"&gt;"*"&lt;/span&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (&lt;span style="color: rgb(42, 171, 171);"&gt;MessageBox&lt;/span&gt;.Show(&lt;span style="color: rgb(128, 0, 0);"&gt;"Deseja realmente procurar e remover as pastas onde os nomes "&lt;/span&gt; + cmbCriterios.Text + &lt;span style="color: rgb(128, 0, 0);"&gt;" \""&lt;/span&gt; + txtCriterio.Text + &lt;span style="color: rgb(128, 0, 0);"&gt;"\"?"&lt;/span&gt;,&lt;span style="color: rgb(128, 0, 0);"&gt;"Confirmar"&lt;/span&gt;, &lt;span style="color: rgb(42, 171, 171);"&gt;MessageBoxButtons&lt;/span&gt;.YesNo) == &lt;span style="color: rgb(42, 171, 171);"&gt;DialogResult&lt;/span&gt;.No)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(42, 171, 171);"&gt;DirectoryInfo&lt;/span&gt; dir = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; &lt;span style="color: rgb(42, 171, 171);"&gt;DirectoryInfo&lt;/span&gt;(txtCaminho.Text );&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(42, 171, 171);"&gt;&lt;span style="color: rgb(42, 171, 171);"&gt;SearchOption&lt;/span&gt;&lt;/span&gt; srcSubfolders = &lt;span style="color: rgb(42, 171, 171);"&gt;&lt;span style="color: rgb(42, 171, 171);"&gt;SearchOption&lt;/span&gt;&lt;/span&gt;.TopDirectoryOnly;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(0, 112, 0);"&gt;// Se a checkbox está marcada, removeremos também as subpastas&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (chkSubpastas.Checked)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;srcSubfolders = &lt;span style="color: rgb(42, 171, 171);"&gt;&lt;span style="color: rgb(42, 171, 171);"&gt;SearchOption&lt;/span&gt;&lt;/span&gt;.AllDirectories;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;try&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(42, 171, 171);"&gt;DirectoryInfo&lt;/span&gt;[] subDirs = dir.GetDirectories(criterio, srcSubfolders);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt; total = subDirs.Count();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (total == 0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(42, 171, 171);"&gt;MessageBox&lt;/span&gt;.Show(&lt;span style="color: rgb(128, 0, 0);"&gt;"Nenhuma pasta encontrada."&lt;/span&gt;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.Cursor = &lt;span style="color: rgb(42, 171, 171);"&gt;Cursors&lt;/span&gt;.WaitCursor;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;btRemover.Enabled = &lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;btRemover.Text = &lt;span style="color: rgb(128, 0, 0);"&gt;"Por favor, aguarde..."&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;pgbRemovendo.Visible = &lt;span style="color: rgb(0, 0, 255);"&gt;true&lt;/span&gt;;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;foreach&lt;/span&gt; (&lt;span style="color: rgb(42, 171, 171);"&gt;DirectoryInfo&lt;/span&gt; subDir &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt; subDirs)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;try&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&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; subDir.Delete(&lt;span style="color: rgb(0, 0, 255);"&gt;true&lt;/span&gt;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;catch&lt;/span&gt; (&lt;span style="color: rgb(42, 171, 171);"&gt;UnauthorizedAccessException&lt;/span&gt;) &lt;span style="color: rgb(0, 112, 0);"&gt;//caso existam arquivos marcados como readonly, mudamos a permissão para que possamos apagá-los.&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&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;&lt;span style="color: rgb(0, 0, 255);"&gt;foreach&lt;/span&gt;(&lt;span style="color: rgb(42, 171, 171);"&gt;FileInfo&lt;/span&gt; file &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt; subDir.GetFiles(&lt;span style="color: rgb(128, 0, 0);"&gt;"*"&lt;/span&gt;,&lt;span style="color: rgb(42, 171, 171);"&gt;SearchOption&lt;/span&gt;.AllDirectories))&lt;br /&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;{&lt;br /&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;file.IsReadOnly = &lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;;&lt;br /&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;}&lt;br /&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;subDir.Delete(&lt;span style="color: rgb(0, 0, 255);"&gt;true&lt;/span&gt;); &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.Refresh();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;pgbRemovendo.Visible = &lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.Cursor = &lt;span style="color: rgb(42, 171, 171);"&gt;Cursors&lt;/span&gt;.Default;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(42, 171, 171);"&gt;MessageBox&lt;/span&gt;.Show(total.To&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;() + &lt;span style="color: rgb(128, 0, 0);"&gt;" pasta(s) removida(s)."&lt;/span&gt;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;btRemover.Enabled = &lt;span style="color: rgb(0, 0, 255);"&gt;true&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;btRemover.Text = &lt;span style="color: rgb(128, 0, 0);"&gt;"&amp;amp;Procurar e remover"&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;catch&lt;/span&gt; (&lt;span style="color: rgb(42, 171, 171);"&gt;DirectoryNotFoundException&lt;/span&gt;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(42, 171, 171);"&gt;MessageBox&lt;/span&gt;.Show(&lt;span style="color: rgb(128, 0, 0);"&gt;"Pasta inválida."&lt;/span&gt;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;/blockquote&gt;
No próximo artigo sobre este tema, espero postar algo, digamos, mais "primitivo". [:)]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6622542599553745831-6894691590796068757?l=recursividade.wesoft.com.br' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/aNArja44MtX9hb6Rza9vzlGbQNQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aNArja44MtX9hb6Rza9vzlGbQNQ/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/aNArja44MtX9hb6Rza9vzlGbQNQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aNArja44MtX9hb6Rza9vzlGbQNQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=TwrJhhJU"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/Recursividade?a=1M38iz8S"&gt;&lt;img src="http://feeds.feedburner.com/~f/Recursividade?i=1M38iz8S" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Recursividade/~3/Y8F0TzkedcY/removendo-subpastas-parte-1-usando.html</link><author>noreply@blogger.com (Wagner)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp3.blogger.com/_nwpzkfSGzPE/SHpflXGCLjI/AAAAAAAABAY/veQdjZzr2sI/s72-Rc/sshot.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://recursividade.wesoft.com.br/2008/07/removendo-subpastas-parte-1-usando.html</feedburner:origLink></item></channel></rss>
