<?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: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/" version="2.0">

<channel>
	<title>skhaz's blog</title>
	
	<link>http://www.skhaz.com/blog</link>
	<description>code::blog</description>
	<pubDate>Thu, 09 Apr 2009 14:28:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/skhaz" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Maquina do Tempo com o Vim</title>
		<link>http://www.skhaz.com/blog/maquina-do-tempo-com-o-vim/</link>
		<comments>http://www.skhaz.com/blog/maquina-do-tempo-com-o-vim/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 13:22:00 +0000</pubDate>
		<dc:creator>skhaz</dc:creator>
		
		<category><![CDATA[Vim]]></category>

		<category><![CDATA[gvim]]></category>

		<category><![CDATA[redo]]></category>

		<category><![CDATA[time machine]]></category>

		<category><![CDATA[undo]]></category>

		<guid isPermaLink="false">http://www.skhaz.com/blog/?p=58</guid>
		<description><![CDATA[Muitas vezes usar o undo e redo resolve a maior parte dos problemas, porém quando aquele trecho que você modificou ou apagou a 10 minutos atrás, quantos undos serão necessários para que se encontre tal modificação? pensando nisso o Vim possui uma maquina do tempo onde é possível &#8220;caminhar&#8221; pelo tempo no código.
Retroceder 10 minutos [...]]]></description>
			<content:encoded><![CDATA[<p>Muitas vezes usar o <em>undo</em> e <em>redo </em>resolve a maior parte dos problemas, porém quando aquele trecho que você modificou ou apagou a 10 minutos atrás, quantos undos serão necessários para que se encontre tal modificação? pensando nisso o <a href="www.vim.org">Vim</a> possui uma maquina do tempo onde é possível &#8220;caminhar&#8221; pelo tempo no código.</p>
<p>Retroceder 10 minutos atrás<br />
<em>:earlier 10m</em></p>
<p>Avançar 30 segundos<br />
<em>:later 30s</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.skhaz.com/blog/maquina-do-tempo-com-o-vim/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hoje, Sexta-feira 13 o Unix time chegará ao valor 1234567890</title>
		<link>http://www.skhaz.com/blog/hoje-sexta-feira-13-o-unix-time-chegara-ao-valor-1234567890/</link>
		<comments>http://www.skhaz.com/blog/hoje-sexta-feira-13-o-unix-time-chegara-ao-valor-1234567890/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 18:29:01 +0000</pubDate>
		<dc:creator>skhaz</dc:creator>
		
		<category><![CDATA[Offtopic]]></category>

		<category><![CDATA[sexta-feira 13]]></category>

		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://www.skhaz.com/blog/?p=48</guid>
		<description><![CDATA[Como muitos já devem saber hoje o Unix Time chegará ao valor de 1234567890 por volta das 23:00 (não confirmei a hora exata) e eu quero acompanhar de perto e ver meus dados sumindo, maquinas travando, etc&#8230; então fiz esse &#8220;programa&#8221; em C++/Qt em ~2 minutos que não chega a ter 5 linhas uteis  [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Como muitos já devem saber hoje o <a href="http://pt.wikipedia.org/wiki/Era_Unix">Unix Time</a> chegará ao valor de 1234567890 por volta das 23:00 (não confirmei a hora exata) e eu quero acompanhar de perto e ver meus dados sumindo, maquinas travando, etc&#8230; então fiz esse &#8220;programa&#8221; em C++/Qt em ~2 minutos que não chega a ter 5 linhas uteis <img src='http://www.skhaz.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p style="text-align: left;">
<p style="text-align: center;"><a href="http://www.skhaz.com/blog/wp-content/uploads/2009/02/unixsextafeira13.jpg"><img class="size-medium wp-image-47 aligncenter" title="unixsextafeira13" src="http://www.skhaz.com/blog/wp-content/uploads/2009/02/unixsextafeira13-300x240.jpg" alt="unixsextafeira13" width="300" height="240" /></a></p>
<p style="text-align: center;">(clique para ampliar)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.skhaz.com/blog/hoje-sexta-feira-13-o-unix-time-chegara-ao-valor-1234567890/feed/</wfw:commentRss>
		</item>
		<item>
		<title>[Meme] Aleatoriedades</title>
		<link>http://www.skhaz.com/blog/meme-aleatoriedades/</link>
		<comments>http://www.skhaz.com/blog/meme-aleatoriedades/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 12:53:53 +0000</pubDate>
		<dc:creator>skhaz</dc:creator>
		
		<category><![CDATA[Offtopic]]></category>

		<category><![CDATA[meme]]></category>

		<guid isPermaLink="false">http://www.skhaz.com/blog/?p=35</guid>
		<description><![CDATA[O Vinícius do Ponto V me convidou para esse meme,
Vamos as regras:

Linkar a pessoa que te indicou.
Escrever as regras do meme em seu blog.
Contar 6 coisas aleatórias sobre você.
Indique mais 6 pessoas e coloque os links no final do post.
Deixe a pessoa saber que você o indicou, deixando um comentário para ela.
Deixe os indicados saberem [...]]]></description>
			<content:encoded><![CDATA[<p>O <a title="Vinícius do Ponto V" href="http://vinigodoy.wordpress.com/2009/01/15/off-topic-meme-aleatoriedades/">Vinícius do Ponto V</a> me convidou para esse meme,</p>
<p>Vamos as regras:</p>
<ol>
<li>Linkar a pessoa que te indicou.</li>
<li>Escrever as regras do meme em seu blog.</li>
<li>Contar 6 coisas aleatórias sobre você.</li>
<li>Indique mais 6 pessoas e coloque os links no final do post.</li>
<li>Deixe a pessoa saber que você o indicou, deixando um comentário para ela.</li>
<li>Deixe os indicados saberem quando você publicar seu post.</li>
</ol>
<p>Minhas coisas aleatórias</p>
<ol>
<li>Tenho vontade de ter uma bateria, embora não tenho vontade de participar de uma banda, só por tocar mesmo.</li>
<li>Musica, minha segunda paixão, ouço de tudo de blues a metal, é mais fácil me ver sem calças do que sem fones.</li>
<li>Cerveja, adoro (já outras bebidas como destilados não gosto, nem mesmo vinho).</li>
<li>Gosto muito de ler e estudar e não só assuntos como programação, eletrônica, mais também sobre religiões (embora seja agnóstico), e apesar disso nunca fui bom aluno na escola, na verdade sempre estive entre os piores alunos, e me considero um autodidata nato.</li>
<li>Pessoas diferentes tem idéias diferentes ao meu respeito totalmente opostas, alguns me acham idiota e brincalhão e outros serio e inteligente, não por ter varias personalidades e sim porque sempre tento conhecer as pessoas antes de dizer algo.</li>
<li>Estudar Latex, Vim e Expressões regulares são meus hobbies</li>
</ol>
<p>Convido <a title="Amanda" href="http://opinguimdegeladeira.blogspot.com/">Amanda</a>, <a title="DieSoft" href="http://diesoftgames.blogspot.com/">Diego</a>, <a title="Bruno Croci" href="http://crocidb.wordpress.com/">Bruno Croci</a> os outros que eu não indiquei é porque já foram indicados.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.skhaz.com/blog/meme-aleatoriedades/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Qt agora é LGPL</title>
		<link>http://www.skhaz.com/blog/qt-agora-e-lgpl/</link>
		<comments>http://www.skhaz.com/blog/qt-agora-e-lgpl/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 12:33:17 +0000</pubDate>
		<dc:creator>skhaz</dc:creator>
		
		<category><![CDATA[Qt]]></category>

		<category><![CDATA[gpl]]></category>

		<category><![CDATA[lgpl]]></category>

		<category><![CDATA[license]]></category>

		<guid isPermaLink="false">http://www.skhaz.com/blog/?p=31</guid>
		<description><![CDATA[A Qt agora está disponível também sobre a licença LGPL
Mais informções:

http://www.qtsoftware.com/about/news/lgpl-license-option-added-to-qt
http://labs.trolltech.com/blogs/2009/01/14/nokia-to-license-qt-under-lgpl/
http://www.qtsoftware.com/about/licensing/frequently-asked-questions

Para quem não conhece a LGPL, ela permite ao programador linkar bibliotecas dinamicamente (DLL) sem exigir que o código fonte seja distribuido junto ao binario, tornando possivel usa-la em projetos comercias e não opensource, que ao contrario da GPL mesmo usando linkagem dinamica viola os [...]]]></description>
			<content:encoded><![CDATA[<p>A <a title="Qt" href="http://www.qtsoftware.com/" target="_blank">Qt</a> agora está disponível também sobre a licença <a title="lgpl" href="http://www.gnu.org/licenses/lgpl.html" target="_blank">LGPL</a></p>
<p>Mais informções:</p>
<ul>
<li><a href="http://www.qtsoftware.com/about/news/lgpl-license-option-added-to-qt">http://www.qtsoftware.com/about/news/lgpl-license-option-added-to-qt</a></li>
<li><a href="http://labs.trolltech.com/blogs/2009/01/14/nokia-to-license-qt-under-lgpl/">http://labs.trolltech.com/blogs/2009/01/14/nokia-to-license-qt-under-lgpl/</a></li>
<li><a href="http://www.qtsoftware.com/about/licensing/frequently-asked-questions">http://www.qtsoftware.com/about/licensing/frequently-asked-questions</a></li>
</ul>
<p>Para quem não conhece a LGPL, ela permite ao programador linkar bibliotecas dinamicamente (DLL) sem exigir que o código fonte seja distribuido junto ao binario, tornando possivel usa-la em projetos comercias e não opensource, que ao contrario da GPL mesmo usando linkagem dinamica viola os termos da licença se nao distribuido os fontes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.skhaz.com/blog/qt-agora-e-lgpl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Por onde andas skhaz?</title>
		<link>http://www.skhaz.com/blog/por-onde-andas-skhaz/</link>
		<comments>http://www.skhaz.com/blog/por-onde-andas-skhaz/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 14:45:19 +0000</pubDate>
		<dc:creator>skhaz</dc:creator>
		
		<category><![CDATA[C++]]></category>

		<category><![CDATA[Qt]]></category>

		<category><![CDATA[qt c++ sql postgres]]></category>

		<guid isPermaLink="false">http://www.skhaz.com/blog/?p=20</guid>
		<description><![CDATA[Depois de um bom tempo sem postar, devido há inumeras coisas, como mudança de emprego, escolher um toolkit para criação de &#8216;GUI&#8217;s e aprende-lo, o fim de um namoro de 3 anos, e muita correria&#8230; enfim o bom filho a casa retorna.
A boa noticia é que aprendi muitas coisas novas (sem maldade xD) como as [...]]]></description>
			<content:encoded><![CDATA[<p>Depois de um bom tempo sem postar, devido há inumeras coisas, como mudança de emprego, escolher um toolkit para criação de &#8216;GUI&#8217;s e aprende-lo, o fim de um namoro de 3 anos, e muita correria&#8230; enfim o bom filho a casa retorna.</p>
<p>A boa noticia é que aprendi muitas coisas novas (sem maldade xD) como as bibliotecas <a href="http://trolltech.com/">Qt</a>, <a href="phonon.kde.org/">phonon</a>, <a href="http://webkit.org/">Webkit</a>, e aprendi mais sobre as que eu já sabia (<a href="http://www.boost.org/">boost</a> e stl), expressões regulares e até uma linguagem nova chamada <a href="http://www.ruby-lang.org/pt/">Ruby</a></p>
<p>Eu sempre achei a idea de usar combobox, checkbox, etc como filtro uma idea complicada, ter que ficar marcando e depois clicar em filtrar, entao pensei em algo assim, basta voce digitar qualquer atributo do material que já vinha tudo que for relevante, por exemplo &#8220;AL TR&#8221;, já retorna todos os alumunios que são trifilados. No video da para se ter uma idea do que eu escrevi (claro que não é nenhum google, é bem simples)</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="295" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/IUH4IQg1C8s&amp;hl=pt-br&amp;fs=1" /><embed type="application/x-shockwave-flash" width="480" height="295" src="http://www.youtube.com/v/IUH4IQg1C8s&amp;hl=pt-br&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>E aqui o codigo responsável pela busca</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>18
19
20
21
22
23
24
25
26
27
28
29
</pre></td><td class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">void</span> ItemView<span style="color: #008080;">::</span><span style="color: #007788;">filterChanged</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> QString<span style="color: #000040;">&amp;</span> text<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	QString filter, query<span style="color: #008080;">;</span>
	QStringList list <span style="color: #000080;">=</span> text.<span style="color: #007788;">split</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot; &quot;</span>, QString<span style="color: #008080;">::</span><span style="color: #007788;">SkipEmptyParts</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> list.<span style="color: #007788;">size</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #000040;">++</span>i<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
		filter.<span style="color: #007788;">append</span><span style="color: #008000;">&#40;</span>QString<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot; %1 nome ILIKE '\%%2\%'&quot;</span><span style="color: #008000;">&#41;</span>.<span style="color: #007788;">arg</span><span style="color: #008000;">&#40;</span>
			list.<span style="color: #007788;">size</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">1</span> <span style="color: #000040;">&amp;&amp;</span> i <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">?</span> <span style="color: #FF0000;">&quot; AND &quot;</span> <span style="color: #008080;">:</span> <span style="color: #FF0000;">&quot; &quot;</span><span style="color: #008000;">&#41;</span>.<span style="color: #007788;">arg</span><span style="color: #008000;">&#40;</span>list.<span style="color: #007788;">at</span><span style="color: #008000;">&#40;</span>i<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
&nbsp;
	model<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>setFilter<span style="color: #008000;">&#40;</span>filter<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>Onde model é um ponteiro do tipo <a href="http://doc.trolltech.com/4.4/qsqltablemodel.html">QSqlTableModel</a>, e o metodo setFilter nada mais é do que a inserção da clausa <a href="http://www.w3schools.com/Sql/sql_where.asp">WHERE</a></p>
<p>Se voce quer aprender mais como a Qt implementa o padrão de projeto <a href="http://en.wikipedia.org/wiki/Model-view-controller">Model-View-Controller</a> leia <a href="http://doc.trolltech.com/4.4/model-view-programming.html">aqui</a></p>
<p>É isso ae, espero que gostem, qualquer duvida, critica e/ou sujestões já sabem</p>
]]></content:encoded>
			<wfw:commentRss>http://www.skhaz.com/blog/por-onde-andas-skhaz/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
