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

<channel>
	<title>Malkafly</title>
	<atom:link href="http://www.malkafly.com.br/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.malkafly.com.br</link>
	<description>Born Brave</description>
	<lastBuildDate>Thu, 31 Mar 2011 12:55:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Utilizando SVN, Tortoise e o integrando ao Visual Studio.</title>
		<link>http://www.malkafly.com.br/utilizando-svn-tortoise-e-o-integrando-ao-visual-studio/</link>
		<comments>http://www.malkafly.com.br/utilizando-svn-tortoise-e-o-integrando-ao-visual-studio/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 13:15:12 +0000</pubDate>
		<dc:creator>Daniel Malk</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Ankh]]></category>
		<category><![CDATA[integração]]></category>
		<category><![CDATA[SUbversion]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[Tortoise]]></category>
		<category><![CDATA[TortoiseSVN]]></category>

		<guid isPermaLink="false">http://www.malkafly.com.br/?p=377</guid>
		<description><![CDATA[Instalando, Configurando e usando SVN e uma dicazinha de como integrar esse cabra ao Visual Studio 2005, 2008 e 2010. Não é nem de longe difícil a integração, então se você veio aqui somente por este motivo, pegue o Ankhsvn na listinha ae embaixo, e pule logo pro final deste artigo, do contrario, aproveite as [...]]]></description>
			<content:encoded><![CDATA[<p>Instalando, Configurando e usando SVN e uma dicazinha de como integrar esse cabra ao Visual Studio 2005, 2008 e 2010. Não é nem de  longe difícil a integração, então se você veio aqui somente por este motivo, pegue o Ankhsvn na listinha ae embaixo, e pule logo pro final deste artigo, do contrario, aproveite as dicas, e se tiver dúvidas só postar nos comentários que ajudarei de todas as formas possíveis! Este artigo foi traduzido e picotado de outros 4 que encontrei quando busquei detalhes sobre o assunto, espero ser bem claro abaixo =)</p>
<p>Vamos lá?!<br />
Você vai precisar de:</p>
<p><strong>Subversion:</strong> http://subversion.tigris.org<br />
É o servidor de SVN, pode baixar a última versão que não tem grilo. A instalação é tranquila, nem necessita de explicações.<br />
Caso você não queira/precisa instalar o Subversion na sua máquina, e vai consumir um SVN externo, então não precisa copiar!<br />
Uma dica de SVN externo é o repositório do Google code: http://code.google.com/hosting/</p>
<p><strong>Tortoise SVN:</strong> http://tortoisesvn.tigris.org<br />
Tortoise é com certeza o Client UI de SVN mais utilizado, e de fácil instalação. Após instalado, você conseguirá trabalhar com ele a partir de qualquer pasta no seu windows.</p>
<p><strong>Ankhsvn tool:</strong> http://ankhsvn.open.collab.net<br />
É a ferramenta de Subversion que provê integração total com o Visual Studio 2005, 2008 e 2010! Na minha opinião, em questão de integração, ele é mil vezes melhor que o Microsoft Source Safe&#8230; (claro que não bate o Team Fondation $erver, mas isso é outra história hehehe)</p>
<p>Se você quiser uma versão paga de integração com a IDE da Microsoft, tente o VisualSVN ($49 doletas&#8230;)</p>
<p>http://www.VisualSvn.com</p>
<h2>Primeiro Passo &#8211; Configurar SVN/Tortoise</h2>
<p>Após instalar tudo, e reiniciar a máquina (importante). Abra as Configurações do TortoiseSVN a partir de qualquer pasta no Windows Explorer. Basta clicar com o direito em uma pasta, selecionar TortoiseSVN > Settings.<br />
Após feito isso, na guia de General mesmo, marque a opção <code>Use "_svn" instead of ".svn" directories</code>, para trocar o nome dos repositórios de .svn para _svn para melhor funcionamento no Visual Studio</p>
<p><a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/10/svn-vs-1.jpg"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/10/svn-vs-1.jpg" alt="" title="svn-vs-1" width="560" class="aligncenter" /></a></p>
<h2>Criando um novo Repositório com o TortoiseSVN</h2>
<p>Agora vamos criar um repositório e então adicionar um projeto do Visual Studio nele, e fazer tudo conversar na mesma língua!</p>
<p>Repositórios são basicamente &#8220;banco de dados&#8221; aonde estarão os arquivos a serem versionados. Este pode ser armazenado na sua máquina local ou remota, acessando via Daemon Service ou através de HTTP utilizando Apache module (instalado a parte). Vamos trabalhar aqui com sua máquina local, e usando o Tortoise para administrar este banco de dados. Para criar um repositório, basta criar uma pasta aonde você colocará o projeto do VS. </p>
<p>Vamos usar como exemplo: C:\Projetos\Aquavisor<br />
Após criar a pasta, clique com o botão direito do mouse nela e vá em TortoiseSVN > Create Repository Here (a pasta deve estar vazia, e não ser &#8220;somente leitura&#8221;)<br />
Depois disso você precisa configurar o C:\Projetos\Aquavisor\conf\<code>svnserve.conf</code></p>
<p><strong>no SvnServe.conf:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;"><span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>general<span style="">&#93;</span></span>
	#anon-access <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> read</span>
	<span style="color: #000099;">auth-access</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> write</span>
	<span style="color: #000099;">password-db</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> passwd</span>
	<span style="color: #000099;">realm</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> Aquavisor</span></pre></div></div>

<p>Isso para liberar autentificação de usuários na pasta.<br />
Feito isso, para adicionar usuários, basta colocar seus usernames e senha como chaves pares (username = password), Exemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;"><span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>users<span style="">&#93;</span></span>
	<span style="color: #000099;">malkafly</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> senhachiquechique</span>
	<span style="color: #000099;">golum</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> precioso</span>
	<span style="color: #000099;">anakin</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> morrampovododeserto</span></pre></div></div>

<h2>Colocando Subversion como um serviço</h2>
<p>Uma vez que o repositório é criado, o próximo passo é tornar ele acessível remotamente. Junto com o Subversion virá um built-in chamado Daemon server, que permitirá esse acesso através de TCP/IP (porta 3690 por default). A ativação do serviço é feita pelo SvnServer.exe localizado na pasta BIN da instalação do Subversion, quanto você rodar esse .exe ele já irá ser instalado como um serviço, e para fazer isso de forma mais fácil, vamos criar um arquivo bach, ou digitar tudo como linha de comando mesmo.</p>
<p>Tudo na mesma linha e corrigir o caminho do subversion caso você tenha alterado durante a instalação:</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;">sc create svn binpath<span style="color: #000066; font-weight:bold;">=</span> <span style="color: #933;">&quot;\&quot;</span>c:\arquivos de programa\subversion\bin\svnserve.exe\<span style="color: #933;">&quot; --service -rd:\subversion&quot;</span> <span style="color: #000099;">displayname</span><span style="color: #000066; font-weight:bold;">=</span> <span style="color: #933;">&quot;Subversion Server&quot;</span> <span style="color: #000099;">depend</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> Tcpip start= auto</span></pre></div></div>

<p>Se quiser fazer em bach (o que é beeeem melhor), basta abrir o bloco de notas, adicionar a linha acima, e salvar com a extensão .bat.<br />
Caso precise/queira usar outra porta então use o comando <code>-listen-port=nn</code>.</p>
<p>Agora para startar o serviço do svn basta ir no Gerenciador de Serviços do windows ou via linha de comando mesmo: <code>sc start svn</code></p>
<h2>Testando o Repositório</h2>
<p>Primeiro, para ter certeza que o repositório está OK, é iniciar o TortoiseSVN de qualquer lugar e tentar conectar no seu endereço de IP ou host da máquina. Abra uma pasta qualquer, clique com o botão direito do mouse, escolha TortoiseSVN > Repo-browser e adicionar seu novo server de SVN, exemplo: <code>svn://endereçoIPOUhostname/</code>. Se abrir seu repo, sem nenhuma mensagem de erro, então: &#8220;Maaaravilha alberto!&#8221; tudo certinho e ok <img src='http://www.malkafly.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
Caso contrario certifique-se do caminho digitado, definitivamente TEM que funcionar localmente, remotamente pode dar bucha por causa do Firewall, verifica se ele está bloqueando a porta selecionada (3690 por padrão!)</p>
<h2>Adicionando seus Projetos/Arquivos ao SVN</h2>
<p>Como se sabe, o TortoiseSVN não se integra ao Visual Studio, então vou mostrar como fazer o basicão só pelo Tortoise mesmo, e depois mostro o integrado (muito porque, é extremamente mais simples já que que o ankhsvn vira um plugin do visual studio).</p>
<p>Então vamos lá, adicionando. Supondo que meu projeto, tenha a seguinte estrutura:</p>
<p>[raiz]<br />
&#8211; Malkafly.Aquavisor<br />
&#8212;- Malkafly.Aquavisor.BusinessLayer<br />
&#8212;- Malkafly.Aquavisor.DataLayer<br />
&#8212;- Malkafly.Aquavisor.Web</p>
<p>Criação de projetos é um pouco complicado com Tortoise, porque quando você pode facilmente importar conteúdo para o SVN no servidor, a opção Importar não verifica automaticamente o conteúdo local. Você também não pode dar Checkout imediatamente depois de você ter importado porque o Tortoise não irá permitir que você sobrescrever arquivos existentes que não estão sob o SVN.</p>
<p>Uma das formas de resolver isso é:</p>
<ul>
<li>Criar um novo diretório no repositório</li>
<li>Encontrar a pasta do seu projeto no Explorer</li>
<li>Usar o Tortoise para dar Checkout na nova pasta criada no repositório</li>
<li>Adicionar arquivos diretamente pelo Explorer com o Tortoise</li>
<li>E Commit Changes</li>
</ul>
<p>Passo a passo fica assim.</p>
<p>1 &#8211; Criaremos uma &#8220;Pasta um nivel acima da sua Raiz&#8221;.<br />
 &#8211; No Tortoise vá no Repo-browser;<br />
 &#8211; Na janela de &#8220;Repository Browser&#8221; selecione o host, clique com o direito do mouse e vá em <code>Create folder</code>;</p>
<p>2 &#8211; Baixando a nova pasta Raiz, e adicionando seu projeto.<br />
 &#8211; Volte ao Explorer e vá ou crie, a pasta &#8220;Aquavisor&#8221; no diretório aonde deseja baixar projeto;<br />
 &#8211; Clique direito nessa pasta, e selecione <code>SVN Checkout...</code>;<br />
 &#8211; Selecione o nível topo do repositório e aponte para sua pasta local correspondente;</p>
<p><a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/10/svn-vs-2.jpg"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/10/svn-vs-2.jpg" alt="" title="svn-vs-2" width="260" height="219" class="aligncenter size-full wp-image-385" /></a><br />
Bom, nada de fato foi baixado, porem agora você pode adicionar seu projeto individualmente&#8230;</p>
<p>3 &#8211; Adicionando o Projeto ao SVN<br />
 &#8211; Volte ao Explorer, a pasta que você acabou de dar checkout, está com um Ícone Verde.<br />
 &#8211; Arraste/Copie seu projeto para dentro desta pasta, ela vai ficar com um Ícone de interrogação.<br />
 &#8211; Agora basta clicar com o botão direito do mouse nesta pasta, ir em TortoiseSVN > Add&#8230;<br />
<a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/10/svn-vs-3.jpg"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/10/svn-vs-3.jpg" alt="" title="svn-vs-3" width="468" height="363" class="aligncenter size-full wp-image-386" /></a><br />
e confirmar, ele vai subir recursivamente todos arquivos, e pastas.<br />
Recomendável, de que como é um projeto .net que estamos falando, você vá nas pastas /bin/ e /obj/ de cada projeto, e remova do repositório. Para fazer isso, vá nestas pastas de cada projeto, clique em com direito do mouse: TortoiseSVN > <code>Delete and add to ignore list...</code> e selecionar a opção de ignorar por nome.</p>
<p>AH! Claro, se for adicionar a bin como ignorada, tenha certeza de subir as .dll auxiliares do projeto de alguma forma&#8230; Eu geralmente crio uma pasta &#8220;lib&#8221; na raiz do projeto, e subo junto, ela só não é adicionada ao projeto do visual studio, mas está no repositório.</p>
<p>4 &#8211; Commit!<br />
 &#8211; Feito isso, adicionado o projeto, arquivos e tudo mais, e também (opcionalmente) ter removido as pastas de log, obj, bin </p>
<p>etc&#8230; vamos ao commit!<br />
 &#8211; Clique na raiz da pasta que você tinha criado anteriormente, clique com o direito e <code>SVN Commit..</code><br />
<a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/10/svn-vs-4.jpg"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/10/svn-vs-4.jpg" alt="" title="svn-vs-4" width="260" height="192" class="aligncenter size-full wp-image-387" /></a><br />
Pronto! Após subir tudo, seu diretório vai ficar cheio de balõezinhos verdes nos ícones =)<br />
Isso você fará cada vez que precisar adicionar um projeto no SVN.<br />
Agora que ele está pronto, vamos usar-lo!</p>
<h2>Baixando um projeto do SVN para pasta local</h2>
<p>Isso vale principalmente para você que hospeda seu código no Google Code, Codeplex ou servidor web de terceiros, e precisa ter acesso ao fonte.<br />
Basta criar uma pasta em algum local bacana como o descrito lá em cima na criação do projeto no svn, depois dar clique direito do mouse sobre essa pasta, e basicamente ir em <code>SVN Checkout</code>.<br />
Só que desta vez (para quem acaba de criar o próprio server SVN, ou acabou de subir pela primeira vez o source), aparecerá todos os arquivos do seu projeto, então basta selecionar a raiz do projeto, e apontar para sua pasta correspondente na sua máquina local.<br />
<a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/10/svn-vs-6.jpg"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/10/svn-vs-6.jpg" alt="" title="svn-vs-6" width="466" height="287" class="aligncenter size-full wp-image-388" /></a></p>
<h2>Usando o Tortoise</h2>
<p>Diferente do Source Safe, o SVN utiliza um conceito de marge-copy-Modify, que possibilita que vários usuários possam trabalhar no mesmo arquivo, ao mesmo tempo.</p>
<p><strong>Os Ícones</strong><br />
Vermelho com exclamação: Significa que este arquivo foi alterado e ainda não foi enviado ao servidor (SVN commit&#8230;), quando este ícone esta em uma pasta, quer dizer então que dentro desta, há arquivos nessa situação.</p>
<p>Verde Checkado: Arquivo que está com a mesma versão do servidor.<br />
Amarelo alerta: Se durante um update houver algum conflito, este arquivo irá ser marcado com a exclamação amarela.<br />
Sinal de + azul: Arquivos em seu diretório local que não estão no servidor, e para que sejam adicionados ao svn precisam ser &#8220;added&#8221; ao svn, e depois SVN Commit.</p>
<p><strong>Pegando um arquivo para trabalhar</strong><br />
Regra numero 1 que aprendi com o mestre Oleiro, que vivia acertando as cagadas que eu fazia no SVN&#8230;<br />
1º Antes de pegar qualquer arquivo para edição, selecione o mesmo, clique com o direito do mouse e vá em <code>SVN </p>
<p>Update...</code>. Feito isso as chances de você trabalhar em uma cópia antiga deste arquivo são remotas.<br />
Após dar um &#8220;update&#8221;, então basta abrir o arquivo e começar seu trabalho. Automaticamente, ele atualizará o iceno para vermelho, que significa alterado em relação a versão do servidor.<br />
Caso ao baixar tenha dúvidas sobre as alterações feitas no código, você pode ir em &#8220;Check for modifications&#8221;:<br />
<a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/10/DiffMenu.png"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/10/DiffMenu.png" alt="" title="DiffMenu" width="200" height="412" class="aligncenter size-full wp-image-382" /></a><br />
&#8230;e comparar as versões direfentes do servidor e local do arquivo em questão:<br />
<a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/10/DiffTool.png"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/10/DiffTool.png" alt="" title="DiffTool" width="560"  class="aligncenter" /></a></p>
<p><strong>Subindo seus arquivos para o SVN</strong><br />
Feito o trabalho no arquivo, para mandar para o svn, é simples! Basta selecionar o arquivo (ou diretório) e ir em &#8220;SVN Commit&#8221;. Uma vez que existir divergências no código fonte, será necessário fazer uma verificação nas diferenças, e tomar decisão por subscrever a versão do servidor (ou local) ou optar por um marge, que é unir ambas versões, toda calma e cuidado nessa hora é pouco!<br />
<a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/10/CommitChangesDialog.png"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/10/CommitChangesDialog.png" alt="" title="CommitChangesDialog" width="466" height="491" class="aligncenter size-full wp-image-381" /></a></p>
<h2>Integração com Visual Studio</h2>
<p>Essa sinceramente dispensa muitas explicações.<br />
Após baixar o AnkhSVN e instalar. Abra o visual studio e veja a diferença na sua Solution Explorer:<br />
<a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/10/svn-vs-8.jpg"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/10/svn-vs-8.jpg" alt="" title="svn-vs-8" width="374" height="340" class="aligncenter size-full wp-image-390" /></a><br />
E a nova barra adicionada:<br />
<a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/10/svn-vs-7.jpg"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/10/svn-vs-7.jpg" alt="" title="svn-vs-7" width="608" height="292" class="aligncenter size-full wp-image-389" /></a></p>
<p>Dúvidas? Sugestões? Criticas?! manda bala ae nos comentários =)<br />
Abraços!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malkafly.com.br/utilizando-svn-tortoise-e-o-integrando-ao-visual-studio/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>52 Framework &#8211; O melhor framework de HTML5 e CSS3</title>
		<link>http://www.malkafly.com.br/52-framework-o-melhor-framework-de-html5-e-css3/</link>
		<comments>http://www.malkafly.com.br/52-framework-o-melhor-framework-de-html5-e-css3/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 13:35:57 +0000</pubDate>
		<dc:creator>Daniel Malk</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[52 framework]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[css3 template]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[gryd system]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[html5 template]]></category>

		<guid isPermaLink="false">http://www.malkafly.com.br/?p=359</guid>
		<description><![CDATA[Até pouco tempo, o melhor framework de CSS/HTML que eu usava era o 960.gs, mas este mesmo, está ficando meio obsoleto e fiz um upgrade em 2 sites meus para o 52 Framework que é basicamente igual, porem este cobre html5 e css3 e ainda é mais cross-browser que o 960! 52 Framework É um [...]]]></description>
			<content:encoded><![CDATA[<p>Até pouco tempo, o melhor framework de CSS/HTML que eu usava era o 960.gs, mas este mesmo, está ficando meio obsoleto e fiz um upgrade em 2 sites meus para o <strong>52 Framework</strong> que é basicamente igual, porem este cobre html5 e css3 e ainda é mais cross-browser que o 960!<br />
<a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/09/52framework-1.jpg"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/09/52framework-1.jpg" alt="" title="52framework-1" width="510" height="229" class="aligncenter size-full wp-image-360" /></a></p>
<h2>52 Framework</h2>
<p>É um framework novo, que ainda está em processo de aprimoramento, mas que no estado atual já quebra um galhão!. Você já usou um framework de CSS? Não? Amigo, é fácil, ajuda muito, e poupa muito, muito tempo de desenvolvimento. Principalmente se você não é nenhum expert em front-end, e precisa de um layout, mesmo que simples, bem organizado.<br />
Fato que o uso do HTML5 e CSS3 ainda é um pouco cedo, visto que muita coisa ainda está rolando, mas o quanto antes agente começar a quebrar a cabeça com isso, mais aptos a dominá-la na hora certa seremos.</p>
<p><H2>Como Usar</h2>
<p>Então vamos ao 52!</p>
<p><strong>Download</strong><br />
Primeiro, faça download do framework no site oficial para conseguir a última versão.<br />
<a href="http://52framework.com/downloads">http://52framework.com/downloads</a></p>
<p>Ao baixar, você terá estes arquivos:<br />
<a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/09/52framework-2.jpg"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/09/52framework-2.jpg" alt="" title="52framework-2" width="510" class="alignnone size-full wp-image-361" /></a></p>
<p>O Framework é basicamente 3 folhas de estilo, 2 html, 1 javascript e uma imagem jpg.<br />
Basta extrair para alguma pasta, e abra o arquivo <em>index.html</em> para visualizar o Demo do 52 framework.<br />
<div id="attachment_362" class="wp-caption aligncenter" style="width: 520px"><a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/09/52framework-3.jpg"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/09/52framework-3.jpg" alt="" title="52framework-3" width="510" height="333" class="size-full wp-image-362" /></a><p class="wp-caption-text">Demo do 52 Framework</p></div></p>
<p><strong>O código</strong><br />
A primeira coisa que você vai notar no html, é a nova tag de doctype.</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;">	<span style="color: #00bbdd;">&lt;!DOCTYPE html&gt;</span></pre></div></div>

<p>Outra coisa que você vai notar, é o Javascript html5.js, que é uma massa tensa de scripts para garantir que o html5 funcione bem em versões antigas de alguns navegadores. Você não precisa entender como este js funciona, não se preocupe com ele (:</p>
<p><strong>Semântica</strong><br />
Outra coisa bacana é a semântica do html.<br />
O Html5 terá como principal desafio e logo rotina, o bom uso das tags para seus respectivos conteúdos. O Front-end que trabalhará com essa tecnologia, terá muito mais preocupação em o que usar/quando, do que nos dias de hoje, uma vez que a semântica é fundamental para o desempenho e SEO de qualquer sistema baseado na WEB.</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;header&gt;</span>
  <span style="color: #009900;">&lt;nav&gt;</span> <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span>nav&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span>header&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;aside&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">form</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">form</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span>aside&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;section&gt;</span>
  <span style="color: #009900;">&lt;article&gt;</span> <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span>article&gt;</span>
  <span style="color: #009900;">&lt;article&gt;</span> 
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">code</span>&gt;</span> <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">code</span>&gt;</span>
    <span style="color: #009900;">&lt;article&gt;</span> <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span>article&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span>article&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span>section&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;footer&gt;</span> <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span>footer&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">body</span>&gt;</span></pre></div></div>

<p>Pois é, &#8220;não é só de div que vive um html5&#8243;.</p>
<p><strong>CSS Reset e Grid System</strong><br />
As 3 principais folhas de estilo do 52 Framework são baseadas em Geral, Reset e Grid.<br />
O <em>reset.css</em> é uma versão alterada da original (criada por Eric Meyer), esta versão é de <a href="http://richclarkdesign.com/">Richard Clark</a> e tem novos elementos de html. Esta serve para &#8220;zerar&#8221; todas margens, paddings, e outros atributos das tags.</p>
<p>O <em>grid.css</em> usa basicamente a estrutura de 16 Colunas de um 960 grid system comum.<br />
Cada coluna é representada por uma classe &#8220;col_X&#8221;, sendo o tamanho de 1 coluna em 40px, e margin-right de 10px em todas.</p>
<p><a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/09/52framework-4.jpg"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/09/52framework-4.jpg" alt="" title="52framework-4" width="510" height="593" class="aligncenter size-full wp-image-363" /></a></p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.col_1</span> <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">40px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.col_2</span> <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">100px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.col_3</span> <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">160px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.col_4</span> <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">220px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.col_5</span> <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">280px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.col_6</span> <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">340px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.col_7</span> <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">400px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.col_8</span> <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">460px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.col_9</span> <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">520px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.col_10</span> <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">580px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.col_11</span> <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">640px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.col_12</span> <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">700px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.col_13</span> <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">760px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.col_14</span> <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">820px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.col_15</span> <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">880px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.col_16</span> <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">940px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>O <em>general.css</em> contém diversas classes com algumas novidades para quem nunca pegou css3, vale muito apena ficar brincando alterando os valores e vendo o que acontece! Uma das features é  a seleção de cores da página para sobrescrever os valores padrões dos navegadores. Isso significa que quando você seleciona uma linha de texto (o &#8220;highlight&#8221;) esta terá a cor que você definiu:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #00AA00;">:</span><span style="color: #3333ff;">:selection </span><span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#525252</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Safari */</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">:</span><span style="color: #3333ff;">:-moz-selection </span><span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#525252</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Firefox */</span>
	<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>No <code>fieldset</code> você irá encontrar algumas popularidades do css3. As famosas bordinhas&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #00AA00;">&#123;</span> 
	-moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">4px</span><span style="color: #00AA00;">;</span>
	-webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">4px</span><span style="color: #00AA00;">;</span>
	border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">4px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>&#8230;E também sombra na header!</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">header <span style="color: #6666ff;">.logo</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span><span style="color: #933;">2.5em</span><span style="color: #00AA00;">;</span> 
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">52px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">padding-top</span><span style="color: #00AA00;">:</span><span style="color: #933;">28px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">font-weight</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">700</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">text-shadow</span><span style="color: #00AA00;">:</span><span style="color: #933;">1px</span> <span style="color: #933;">1px</span> <span style="color: #933;">2px</span> <span style="color: #cc00cc;">#000</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">;</span>
	filter<span style="color: #00AA00;">:</span> Shadow<span style="color: #00AA00;">&#40;</span>Color<span style="color: #00AA00;">=</span><span style="color: #cc00cc;">#666666</span><span style="color: #00AA00;">,</span> Direction<span style="color: #00AA00;">=</span><span style="color: #cc66cc;">135</span><span style="color: #00AA00;">,</span> Strength<span style="color: #00AA00;">=</span><span style="color: #cc66cc;">3</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<h2>Bom né?</h2>
<p>52 Framework está em constantes atualizações, até a data de hoje já existe uma versão beta nova, mas muito mais ainda virá. Existem outros frameworks de html/css que testei e gostei bastante, mas o 52 framework é mais flexivel.<br />
Se quiserem se aventurar com os outros, fica aqui os links:</p>
<p>960 Grid System &#8211; <a href="http://960.gs">http://960.gs</a> (O segundo melhor na minha opinião)<br />
baseline &#8211; <a href="http://baselinecss.com/">http://baselinecss.com/</a><br />
BlueTrip &#8211; <a href="http://bluetrip.org/">http://bluetrip.org/</a><br />
Blueprint &#8211; <a href="http://blueprintcss.org/">http://blueprintcss.org/</a> esse foi atualizado, parece estar muito melhor! (Dica do @raulsouzalima)</p>
<p>Dúvidas de como implementar? Sugestões? Criticas?! hehehe só comentar =)<br />
Abraços galera!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malkafly.com.br/52-framework-o-melhor-framework-de-html5-e-css3/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Máscaras para formulário em jQuery</title>
		<link>http://www.malkafly.com.br/mascaras-para-formulario-em-jquery/</link>
		<comments>http://www.malkafly.com.br/mascaras-para-formulario-em-jquery/#comments</comments>
		<pubDate>Sun, 26 Sep 2010 22:33:33 +0000</pubDate>
		<dc:creator>Daniel Malk</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[formulário]]></category>
		<category><![CDATA[input mask]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Mascara]]></category>

		<guid isPermaLink="false">http://www.malkafly.com.br/?p=346</guid>
		<description><![CDATA[Já testei centenas de máscaras em javascript para formulários, e esta é uma das melhores que encontrei até hoje. Públicada pelo site digitalbush, abaixo segue a tradução de como implementar com os arquivos para download. Este plugin foi testado no Internet Explorer 6/7, Firefox 1.5/2/3, Safari, Chrome e Opera. A definição da máscara é configurada [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/09/17.png"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/09/17-300x160.png" alt="" title="17" width="300" height="160" class="alignleft size-medium wp-image-353" /></a>Já testei centenas de máscaras em javascript para formulários, e esta é uma das melhores que encontrei até hoje. Públicada pelo site <a href="http://digitalbush.com/projects/masked-input-plugin/">digitalbush</a>, abaixo segue a tradução de como implementar com os arquivos para download.</p>
<p>Este plugin foi testado no Internet Explorer 6/7, Firefox 1.5/2/3, Safari, Chrome e Opera. A definição da máscara é configurada na própria chamada do plugin, com caracteres literais, por exemplo:</p>
<ul>
<li> a &#8211; Representa caracteres alphas (A-Z, a-z)</li>
<li> 9 &#8211; Representa caracteres numéricos (0-9)</li>
<li> * &#8211; Representa caracteres alphanuméricos (A-Z,a-z,0-9)</li>
</ul>
<p>Vamos ao código?!</p>
<p>Primeiro baixe aqui o javascript do plugin:<br />
[download id="4"]</p>
<p>Depois inclua a chamada do jquery e do pluging.</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;script src=&quot;jquery.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;jquery.maskedinput.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</pre></div></div>

<p>Próximo passo é chamar as funções da máscara e associar aos inputs que desejar.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">jQuery<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#data&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mask</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;99/99/9999&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#telefone&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mask</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;(999) 999-9999&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#telefone2&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mask</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;99-9999999&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#cpf&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mask</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;999.999.999.09&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Opcionalmente, se você não quiser que os espaços em branco da máscara no input, sejam representados por sublinhado ( &#8216;_&#8217; ), então você pode usar o método <em>placeholder</em> com o o caracter que desejar. Exemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">jQuery<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#data&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mask</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;99/99/9999&quot;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#123;</span>placeholder<span style="color: #339933;">:</span><span style="color: #3366CC;">&quot; &quot;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Outra opção opcional é a execução de alguma função após o término da digitação no campo. Exemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">jQuery<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#data&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mask</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;99/99/9999&quot;</span><span style="color: #339933;">,</span><span style="color: #009900;">&#123;</span>
                completed<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                      <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Você digitou a seguinde data: &quot;</span><span style="color: #339933;">+</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">val</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                 <span style="color: #009900;">&#125;</span>
   <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>E também, você mesmo pode criar sua própria definição de máscara:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">jQuery<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
   $.<span style="color: #660066;">mask</span>.<span style="color: #660066;">definitions</span><span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'~'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #3366CC;">'[+-]'</span><span style="color: #339933;">;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#customizada&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mask</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;~9.99 ~9.99 999&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>É isso ae!<br />
Dúvidas, acertos, ou qualquer coisa é só comentar!</p>
<p>Abraços (:</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malkafly.com.br/mascaras-para-formulario-em-jquery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>#SouAqua &#8211; Aquarismo no Twitter</title>
		<link>http://www.malkafly.com.br/souaqua-aquarismo-no-twitter/</link>
		<comments>http://www.malkafly.com.br/souaqua-aquarismo-no-twitter/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 19:12:53 +0000</pubDate>
		<dc:creator>Daniel Malk</dc:creator>
				<category><![CDATA[Destaque]]></category>

		<guid isPermaLink="false">http://www.malkafly.com.br/?p=339</guid>
		<description><![CDATA[O Que é o #SouAqua? É uma tag do Twitter dedicada aos apaixonados por Aquarismo no Brasil. Através dela, poderemos rastrear todos os posts relacionados a aquarismo de forma fácil, e unir em uma listagem rápida os mais diversos tipos de conteúdos postados sobre o assunto. Twitter: http://twitter.com/SouAqua Como Participar? Muito simples, basta seguir algumas [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/09/souaqua.jpg"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/09/souaqua.jpg" alt="" title="souaqua" width="630" height="300" class="aligncenter size-full wp-image-335" /></a><br />
<strong>O Que é o #SouAqua?</strong></p>
<p>É uma tag do Twitter dedicada aos apaixonados por Aquarismo no Brasil. Através dela, poderemos rastrear todos os posts relacionados a aquarismo de forma fácil, e unir em uma listagem rápida os mais diversos tipos de conteúdos postados sobre o assunto.<br />
<strong><br />
Twitter: <a href="http://twitter.com/SouAqua">http://twitter.com/SouAqua</a></strong><br />
<strong><br />
Como Participar?</strong></p>
<p>Muito simples, basta seguir algumas dicas e regrinhas básicas:</p>
<p>- Siga a lista #SouAqua e se possivel siga também os membros que preferir;<br />
- Para se apresentar à todos, basta enviar uma mensagem contando a tag #SouAquarista;<br />
- Siga também o @SouAqua no twitter! E acompanhe as campanhas que serão promovidas pelo site, e receber notícias e eventos importantes;<br />
- E o mais importante, quando for mandar um twit sobre Aquarismo, coloque a tag #SouAqua <img src='http://www.malkafly.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.malkafly.com.br/souaqua-aquarismo-no-twitter/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>EF Dorsal</title>
		<link>http://www.malkafly.com.br/ef-dorsal/</link>
		<comments>http://www.malkafly.com.br/ef-dorsal/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 19:10:24 +0000</pubDate>
		<dc:creator>Daniel Malk</dc:creator>
				<category><![CDATA[Destaque]]></category>

		<guid isPermaLink="false">http://www.malkafly.com.br/?p=172</guid>
		<description><![CDATA[Gerador de código baseado no Microsoft Entity Framework &#8211; Em desenvolvimento. Mais novidades em http://efdorsal.codeplex.com/]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/09/efdorsal.jpg"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/09/efdorsal.jpg" alt="" title="efdorsal" width="630" height="300" class="aligncenter size-full wp-image-334" /></a></p>
<p>Gerador de código baseado no Microsoft Entity Framework &#8211; Em desenvolvimento.<br />
Mais novidades em http://efdorsal.codeplex.com/ </p>
]]></content:encoded>
			<wfw:commentRss>http://www.malkafly.com.br/ef-dorsal/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Aquavisor – O maior aquário da internet</title>
		<link>http://www.malkafly.com.br/aquavisor-o-maior-aquario-da-internet/</link>
		<comments>http://www.malkafly.com.br/aquavisor-o-maior-aquario-da-internet/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 14:35:01 +0000</pubDate>
		<dc:creator>Daniel Malk</dc:creator>
				<category><![CDATA[Destaque]]></category>

		<guid isPermaLink="false">http://www.malkafly.com.br/?p=298</guid>
		<description><![CDATA[O que é Aquavisor? Aquavisor, é um sistema on-line de administração de seu aquário que estou desenvolvendo. Basta cadastrar seu tanque, com seus equipamentos, fauna e flora, que o sistema disponibilizará uma planilha completa de tarefas a serem executadas para melhor gestão de seu aquário. Com niveis de prioridade, e links para consultas e ajuda, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/09/aquavisor.jpg"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/09/aquavisor.jpg" alt="" title="aquavisor" width="630" height="300" class="aligncenter size-full wp-image-333" /></a><br />
<strong>O que é Aquavisor?</strong></p>
<p>Aquavisor, é um sistema on-line de administração de seu aquário que estou desenvolvendo. Basta cadastrar seu tanque, com seus equipamentos, fauna e flora, que o sistema disponibilizará uma planilha completa de tarefas a serem executadas para melhor gestão de seu aquário. Com niveis de prioridade, e links para consultas e ajuda, o Sistema é integrado aos principais fóruns do Brasil sobre Aquarismo.</p>
<p>[nggallery id=1]</p>
<p><strong>Principais Recursos desta versão</strong></p>
<p>Abaixo os principais recursos da versão 1.0b do Aquavisor.<br />
Destaque para o perfil público. Uma página de acesso público com fotos, estatísticas e relatórios completos sobre seu tanque, facilitando assim a troca de informações do mesmo com seus amigos, fóruns, e muito mais.</p>
<blockquote><p>* Cadastro de Aquários de diversos tipos<br />
* Administração completa de componentes químicos da água<br />
* 1 click para relatórios completos dobre seu aquario<br />
* Gerador de extimativas da qualidade da água<br />
* Gestão completa da manuteção do seu tanque<br />
* Página de público com os dados/relatórios do seu aquário<br />
* Catálogo de Peixes, Plantas, Corais, Invertebrados, Produtos e Equipamentos<br />
* É GRÁTIS</p></blockquote>
<p><strong>O que vem por ai?</strong></p>
<p>Abaixo, um pouco do que o nosso sistema disponibilizará gratuitamente a todos usuários.<br />
Primeira Etapa</p>
<blockquote><p>* Cadastros (Usuarios, Aquários, Peixes, Plantas, Corais, Invertebrados, Produtos e equipamentos)<br />
* Manutenção de Aquarios de água Doce e Salgada<br />
* Status e relatórios do aquário a cada manuteção<br />
* Perfil Público do aquário<br />
* Possibilidade de comentários nos aquários</p></blockquote>
<p><strong>Segunda Etapa</strong></p>
<blockquote><p>* Auto sugerir soluções para conflitos químicos do aquário<br />
* Integração com os principais fóruns do Brasil<br />
* Agenda de reposição de elementos químicos e manuteção mais completa<br />
* Cadastro de múltiplos aquários por perfil de usuário<br />
* Manuteção e suporte a aquários de todos os tipos (plantados, rochosos, beteiras etc..)<br />
* Diario de montagem do aquário/Blog<br />
* Integração com sistemas Mobiles</p></blockquote>
<p><code><a href="http://www.aquavisor.com.br">Visite o site do projeto para mais informações</a></code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.malkafly.com.br/aquavisor-o-maior-aquario-da-internet/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Desabilitando request validation no ASP.NET 4.0</title>
		<link>http://www.malkafly.com.br/desabilitando-request-validation-no-asp-net-4-0/</link>
		<comments>http://www.malkafly.com.br/desabilitando-request-validation-no-asp-net-4-0/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 13:27:41 +0000</pubDate>
		<dc:creator>Daniel Malk</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[asp.net 4.0]]></category>
		<category><![CDATA[httpRuntime]]></category>
		<category><![CDATA[request validation]]></category>
		<category><![CDATA[requestValidationMode]]></category>
		<category><![CDATA[system.web]]></category>
		<category><![CDATA[validateRequest]]></category>
		<category><![CDATA[web.config]]></category>

		<guid isPermaLink="false">http://www.malkafly.com.br/?p=262</guid>
		<description><![CDATA[Essa não é dificil, mas eu tive que googlear desde que no asp.net 4.0 algumas coisas mudaram no web.config. Para remover a validação de posts no novo framework, você deve adicionar os seguintes nós em system.web &#160; &#60;system.web&#62; &#60;pages validateRequest=&#34;false&#34; /&#62; &#60;httpRuntime requestValidationMode=&#34;2.0&#34; /&#62; &#60;/system.web&#62; Só isso =) decidi postar pra não esquecer, e quem [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/06/aspnet.jpg"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/06/aspnet.jpg" alt="" title="aspnet" width="175" height="175" class="alignleft size-full wp-image-305" /></a>Essa não é dificil, mas eu tive que googlear desde que no asp.net 4.0 algumas coisas mudaram no web.config.</p>
<p>Para remover a validação de posts no novo framework, você deve adicionar os seguintes nós em system.web</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">&nbsp;
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;system.web<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;pages</span> <span style="color: #000066;">validateRequest</span>=<span style="color: #ff0000;">&quot;false&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;httpRuntime</span> <span style="color: #000066;">requestValidationMode</span>=<span style="color: #ff0000;">&quot;2.0&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/system.web<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Só isso =)<br />
decidi postar pra não esquecer, e quem sabe ajudar alguem rápido <img src='http://www.malkafly.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Abraços!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malkafly.com.br/desabilitando-request-validation-no-asp-net-4-0/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Abrindo a Mail Application no iPhone SDK</title>
		<link>http://www.malkafly.com.br/abrindo-a-mail-application-no-iphone-sdk/</link>
		<comments>http://www.malkafly.com.br/abrindo-a-mail-application-no-iphone-sdk/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 10:50:20 +0000</pubDate>
		<dc:creator>Daniel Malk</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[iPhone SDK]]></category>
		<category><![CDATA[Mail Application]]></category>
		<category><![CDATA[NSURL]]></category>
		<category><![CDATA[openURL]]></category>
		<category><![CDATA[Send Mail]]></category>
		<category><![CDATA[UIApplication]]></category>
		<category><![CDATA[URLWithString]]></category>

		<guid isPermaLink="false">http://www.malkafly.com.br/?p=241</guid>
		<description><![CDATA[Dica rápida. Muito Fácil, e me ajudou, segue ae&#8230; Como abrir a Mail App do iPhone -&#40;void&#41; sendEmail &#123; NSURL* mailURL = &#91;NSURL URLWithString: @&#34;mailto:malkafly@gmail.com?cc=daniel@aquavisor.com.br&#38;subject=Assunto%20Aqui&#38;body=Corpo%20Aqui!&#34;&#93;; &#91;&#91;UIApplication sharedApplication&#93; openURL: mailURL&#93;; &#125;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/06/iphonesdk.jpg"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/06/iphonesdk.jpg" alt="" title="iphonesdk" width="175" height="175" class="alignleft size-full wp-image-311" /></a>Dica rápida.<br />
Muito Fácil, e me ajudou, segue ae&#8230;<br />
<strong>Como abrir a Mail App do iPhone</strong></p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">-</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span> sendEmail <span style="color: #009900;">&#123;</span>
      NSURL<span style="color: #339933;">*</span> mailURL <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span>NSURL URLWithString<span style="color: #339933;">:</span> @<span style="color: #ff0000;">&quot;mailto:malkafly@gmail.com?cc=daniel@aquavisor.com.br&amp;subject=Assunto%20Aqui&amp;body=Corpo%20Aqui!&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#91;</span>UIApplication sharedApplication<span style="color: #009900;">&#93;</span> openURL<span style="color: #339933;">:</span> mailURL<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p> <img src='http://www.malkafly.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.malkafly.com.br/abrindo-a-mail-application-no-iphone-sdk/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Usando imagem de fundo em UIView &#8211; iPhone SDK</title>
		<link>http://www.malkafly.com.br/usando-imagem-de-fundo-em-uiview-iphone-sdk/</link>
		<comments>http://www.malkafly.com.br/usando-imagem-de-fundo-em-uiview-iphone-sdk/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 19:19:29 +0000</pubDate>
		<dc:creator>Daniel Malk</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[iPhone SDK]]></category>
		<category><![CDATA[UIColor]]></category>
		<category><![CDATA[UIImage]]></category>
		<category><![CDATA[UIView]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://www.malkafly.com.br/?p=235</guid>
		<description><![CDATA[Dica rápida. Como usar uma imagem como background de uma UIView no iPhone SDK. Precisei disto semana passada, e felizmente foi fácil achar! Mas vo documentar aqui tambem: self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"ImagemDeFundo.png"]]; Tenho mais algumas básicas, vou lotar isso daqui na medida em que for terminando meus projetinhos no XCode! Falows =)]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/06/iphonebg.jpg"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/06/iphonebg.jpg" alt="" title="iphonebg" width="175" height="175" class="alignleft size-full wp-image-310" /></a>Dica rápida.</p>
<p>Como usar uma imagem como background de uma UIView no iPhone SDK.<br />
Precisei disto semana passada, e felizmente foi fácil achar! Mas vo documentar aqui tambem:</p>
<p><code>self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"ImagemDeFundo.png"]]; </code></p>
<p>Tenho mais algumas básicas, vou lotar isso daqui na medida em que for terminando meus projetinhos no XCode!</p>
<p>Falows =)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malkafly.com.br/usando-imagem-de-fundo-em-uiview-iphone-sdk/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Como pegar Thumbnails do Youtube em C#</title>
		<link>http://www.malkafly.com.br/como-pegar-thumbnails-do-youtube-em-c/</link>
		<comments>http://www.malkafly.com.br/como-pegar-thumbnails-do-youtube-em-c/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 18:59:46 +0000</pubDate>
		<dc:creator>Daniel Malk</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Thumb]]></category>
		<category><![CDATA[Thumbnails]]></category>
		<category><![CDATA[Youtube]]></category>

		<guid isPermaLink="false">http://www.malkafly.com.br/?p=224</guid>
		<description><![CDATA[Abaixo 2 métodos em C# que já me ajudaram muito, e que, vira e mexe alguém vem me pedir um copy &#038; cola deles&#8230; Então decidi postar, para facilitar a busca, uma vez que sempre tenho que abrir projetos antigo para pegar-los hehehe GetYoutubeThumb É Simples, ele simplesmente recebe como parâmetro o Embed do youtube [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.malkafly.com.br/blog/wp-content/uploads/2010/06/youtubethumb.jpg"><img src="http://www.malkafly.com.br/blog/wp-content/uploads/2010/06/youtubethumb.jpg" alt="" title="youtubethumb" width="175" height="175" class="alignleft size-full wp-image-312" /></a>Abaixo 2 métodos em C# que já me ajudaram muito, e que, vira e mexe alguém vem me pedir um copy &#038; cola deles&#8230; Então decidi postar, para facilitar a busca, uma vez que sempre tenho que abrir projetos antigo para pegar-los hehehe</p>
<p><strong>GetYoutubeThumb</strong><br />
É Simples, ele simplesmente recebe como parâmetro o Embed do youtube (aquele código de “incorporar” que eles disponibilizam em cada vídeo), e retorna o endereço do Thumb vindo do servidor do próprio Youtube.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"> <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> GetYoutubeThumb<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> pEmbed<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #008080; font-style: italic;">//&quot;http://www.youtube.com/v/odjXNCLoRlc&amp;hl=pt_BR&amp;fs=1&amp;&quot;&gt;</span>
    <span style="color: #6666cc; font-weight: bold;">int</span> indexValue <span style="color: #008000;">=</span> pEmbed<span style="color: #008000;">.</span><span style="color: #0000FF;">IndexOf</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;/v/&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
    <span style="color: #6666cc; font-weight: bold;">string</span> strFimValue <span style="color: #008000;">=</span> <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Empty</span><span style="color: #008000;">;</span>
    <span style="color: #6666cc; font-weight: bold;">string</span> codEmbed <span style="color: #008000;">=</span> <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Empty</span><span style="color: #008000;">;</span>
    <span style="color: #6666cc; font-weight: bold;">int</span> indexFimValue <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>indexValue <span style="color: #008000;">&gt;=</span> <span style="color: #FF0000;">0</span> <span style="color: #008000;">&amp;&amp;</span> <span style="color: #008000;">!</span><span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsNullOrEmpty</span><span style="color: #008000;">&#40;</span>pEmbed<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        strFimValue <span style="color: #008000;">=</span> pEmbed<span style="color: #008000;">.</span><span style="color: #0000FF;">Substring</span><span style="color: #008000;">&#40;</span>indexValue<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        indexFimValue <span style="color: #008000;">=</span> strFimValue<span style="color: #008000;">.</span><span style="color: #0000FF;">IndexOf</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;&amp;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>indexFimValue <span style="color: #008000;">!=</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            codEmbed <span style="color: #008000;">=</span> pEmbed<span style="color: #008000;">.</span><span style="color: #0000FF;">Substring</span><span style="color: #008000;">&#40;</span>indexValue, indexFimValue<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Format</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;http://img.youtube.com/vi/{0}/default.jpg&quot;</span>, codEmbed<span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;/v/&quot;</span>, <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Empty</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>O retorno é algo como:<br />
<img alt="" src="http://img.youtube.com/vi/FRC8lZtjIRk/default.jpg" title="Thumb-Youtube" class="alignnone" width="120" height="90" /><br />
Outra coisa interessante, é que em vez do “default.jpg” você pode usar um número referente ao quadro do vídeo, como 1.jpg, 2.jpg etc&#8230;</p>
<p>E se a string retornar <strong style="color:red";>ERRO</strong>, então o youtube mesmo retorna uma imagem padrão para isso, como:<br />
<img alt="" src="http://img.youtube.com/vi/FRC8lZt55Rk/default.jpg" title="Thumb-Youtube" class="alignnone" width="120" height="90" /></p>
<p>Ae é só colocar esta string como src de alguma imagem ou ImageUrl de algum controle de imagem do .net.</p>
<p><strong>GetYoutubeID</strong><br />
Achei esta também, que fiz a muito tempo, pode ser usada em conjunto com o método acima, já que esta remove o ID do vídeo do youtube do embed.</p>
<p>Eu tinha feito ela a muito tempo com REGEX, alguém alterou, e até aonde testei ainda está funcionando, então, vo manter o código.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> GetYoutubeID<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> pEmbed<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #008080; font-style: italic;">//&quot;http://www.youtube.com/v/odjXNCLoRlc&amp;hl=pt_BR&amp;fs=1&amp;&quot;&gt;</span>
    <span style="color: #6666cc; font-weight: bold;">int</span> indexValue <span style="color: #008000;">=</span> pEmbed<span style="color: #008000;">.</span><span style="color: #0000FF;">IndexOf</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;/v/&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>indexValue <span style="color: #008000;">&lt;=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        indexValue <span style="color: #008000;">=</span> pEmbed<span style="color: #008000;">.</span><span style="color: #0000FF;">IndexOf</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;v=&quot;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">+</span> <span style="color: #FF0000;">2</span><span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0600FF; font-weight: bold;">else</span>
    <span style="color: #008000;">&#123;</span>
        indexValue <span style="color: #008000;">=</span> <span style="color: #008000;">+</span><span style="color: #FF0000;">3</span><span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #6666cc; font-weight: bold;">string</span> strFimValue <span style="color: #008000;">=</span> <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Empty</span><span style="color: #008000;">;</span>
    <span style="color: #6666cc; font-weight: bold;">string</span> codEmbed <span style="color: #008000;">=</span> <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Empty</span><span style="color: #008000;">;</span>
    <span style="color: #6666cc; font-weight: bold;">int</span> indexFimValue <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>indexValue <span style="color: #008000;">&gt;=</span> <span style="color: #FF0000;">0</span> <span style="color: #008000;">&amp;&amp;</span> <span style="color: #008000;">!</span><span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsNullOrEmpty</span><span style="color: #008000;">&#40;</span>pEmbed<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        strFimValue <span style="color: #008000;">=</span> pEmbed<span style="color: #008000;">.</span><span style="color: #0000FF;">Substring</span><span style="color: #008000;">&#40;</span>indexValue<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        indexFimValue <span style="color: #008000;">=</span> strFimValue<span style="color: #008000;">.</span><span style="color: #0000FF;">IndexOf</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;&amp;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>indexFimValue <span style="color: #008000;">!=</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            codEmbed <span style="color: #008000;">=</span> pEmbed<span style="color: #008000;">.</span><span style="color: #0000FF;">Substring</span><span style="color: #008000;">&#40;</span>indexValue, indexFimValue<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0600FF; font-weight: bold;">return</span> codEmbed<span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>É só jogar o Embed dentro, ou a url do vídeo, que ele retorna o ID – Fácil e simples assim.</p>
<p>Abraços!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malkafly.com.br/como-pegar-thumbnails-do-youtube-em-c/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

