<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6117543782148434437</id><updated>2024-08-31T01:45:04.166+01:00</updated><category term="ferramentas"/><category term="software"/><category term="JavaScript"/><category term="Web"/><category term="Programação"/><category term="asp.net"/><category term="design"/><category term="3D"/><category term="AJAX"/><category term="SQL Server"/><category term="asp.net; webconfig"/><category term="prototype"/><category term="truques"/><category term="C#"/><category term="Java"/><category term="audio"/><category term="cache"/><category term="charts"/><title type='text'>rui isidro e os sistemas de informação</title><subtitle type='html'>A criação deste blog surgiu um destes dias (melhor seria dizer &quot;há muito, muito tempo atrás...&quot;) quando fiquei com a ideia de que é possível mudar o mundo e que o poder de o fazer está em cada um de nós. Na realidade não mudei nada e confesso que o blog tem estado um pouco esquecido, mas com uma introdução destas ... não me atrevi ainda a desligá-lo.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>42</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-8663608972606550618</id><published>2012-12-17T16:14:00.002+00:00</published><updated>2012-12-17T16:14:37.374+00:00</updated><title type='text'>Melhor e mais dinâmica forma de testar xpaths.</title><content type='html'>Faz hoje 2 anos que fiz o meu último post aqui no blogspot. Para comemorar a efeméride deixo um pequeno truque que uso bastante quando ando à procura de xpaths em HTML. No chrome no painel de debug (F12) é muito simples fazer testes com xpath usando o comando $x(&quot;a minha xpath&quot;). 

Um exemplo: $x(&quot;//img&quot;) lista todas as imagens na página!

Mais sobre XPath: http://www.w3schools.com/xpath/default.asp


Abraço!



&lt;hr /&gt;
Para ser notificado de cada vez que eu publicar um artigo, subscreva a minha &lt;a href=&quot;http://feeds.feedburner.com/RuiIsidroEOsSistemasDeInformao&quot;&gt;RSS&lt;/a&gt; (&lt;span style=&quot;size: 8px;&quot;&gt;&lt;a href=&quot;http://rui-isidro.blogspot.com/2009/10/o-que-e-o-rss-feed.html&quot;&gt;o que são feeds RSS?&lt;/a&gt;&lt;/span&gt;).&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/8663608972606550618/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/8663608972606550618' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/8663608972606550618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/8663608972606550618'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2012/12/melhor-e-mais-dinamica-forma-de-testar.html' title='Melhor e mais dinâmica forma de testar xpaths.'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-1549645323688888491</id><published>2010-12-17T16:26:00.001+00:00</published><updated>2010-12-17T16:26:51.110+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ferramentas"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><category scheme="http://www.blogger.com/atom/ns#" term="truques"/><title type='text'>Copiar path completa de ficheiro no explorador do windows</title><content type='html'>No windows Vista e 7 existe uma função extremamente útil no menu de contexto (botão direito do rato) quando se clica num ficheiro ou pasta: a opção &quot;copiar como caminho&quot; (copy as path).&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Se tal como eu usar ficheiros numa partilha de rede e tiver de passar a localização com&amp;nbsp;frequência&amp;nbsp;&amp;nbsp;por mail, esta funcionalidade é excelente!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_6ZZq8qAiWT1YESAseHbJFPk1lcaOJrqTIvxpLTmnXErz_ICaxH83rqmvLDrZnbWNMn7dklqcRmEWTA55b-ZAWklwbOL9TTt5M_ryqOCQkXPH8AMvHqXnBGAdBj7LreTlqgAVAJAllB-O/s1600/copyaspath.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_6ZZq8qAiWT1YESAseHbJFPk1lcaOJrqTIvxpLTmnXErz_ICaxH83rqmvLDrZnbWNMn7dklqcRmEWTA55b-ZAWklwbOL9TTt5M_ryqOCQkXPH8AMvHqXnBGAdBj7LreTlqgAVAJAllB-O/s320/copyaspath.jpg&quot; width=&quot;311&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;hr /&gt;Para ser notificado de cada vez que eu publicar um artigo, subscreva a minha &lt;a href=&quot;http://feeds.feedburner.com/RuiIsidroEOsSistemasDeInformao&quot;&gt;RSS&lt;/a&gt; (&lt;span style=&quot;size: 8px;&quot;&gt;&lt;a href=&quot;http://rui-isidro.blogspot.com/2009/10/o-que-e-o-rss-feed.html&quot;&gt;o que são feeds RSS?&lt;/a&gt;&lt;/span&gt;).&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/1549645323688888491/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/1549645323688888491' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/1549645323688888491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/1549645323688888491'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2010/12/copiar-path-completa-de-ficheiro-no.html' title='Copiar path completa de ficheiro no explorador do windows'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_6ZZq8qAiWT1YESAseHbJFPk1lcaOJrqTIvxpLTmnXErz_ICaxH83rqmvLDrZnbWNMn7dklqcRmEWTA55b-ZAWklwbOL9TTt5M_ryqOCQkXPH8AMvHqXnBGAdBj7LreTlqgAVAJAllB-O/s72-c/copyaspath.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-4621265543996681485</id><published>2010-08-26T12:41:00.002+01:00</published><updated>2011-03-28T18:16:01.999+01:00</updated><title type='text'>Branchr</title><content type='html'>Miúdo de 16 anos consegue o primeiro milhão de dólares em 2 anos inspirando-se no seu&amp;nbsp;herói: Steve Jobs!&lt;br /&gt;
&lt;div&gt;Depois de criar um pacote de software bem sucedido para MAC lançou-se no mundo da publicidade pay-per-click e criou a Brancher, uma empresa que pretende desafiar os pesos pesados como Google e Yahoo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://gizmodo.com/5612145/how-a-16+yo-kid-made-his-first-million-dollars-following-his-hero-steve-jobs&quot;&gt;http://gizmodo.com/5612145/how-a-16+yo-kid-made-his-first-million-dollars-following-his-hero-steve-jobs&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;hr /&gt;Para ser notificado de cada vez que eu publicar um artigo, subscreva a minha &lt;a href=&quot;http://feeds.feedburner.com/RuiIsidroEOsSistemasDeInformao&quot;&gt;RSS&lt;/a&gt; (&lt;a href=&quot;http://rui-isidro.blogspot.com/2009/10/o-que-e-o-rss-feed.html&quot;&gt;o que são feeds RSS?&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/4621265543996681485/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/4621265543996681485' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/4621265543996681485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/4621265543996681485'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2010/08/brancher.html' title='Branchr'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-8562481205376803118</id><published>2010-05-19T12:35:00.001+01:00</published><updated>2010-05-19T12:38:44.794+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="asp.net; webconfig"/><category scheme="http://www.blogger.com/atom/ns#" term="ferramentas"/><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><category scheme="http://www.blogger.com/atom/ns#" term="Programação"/><category scheme="http://www.blogger.com/atom/ns#" term="prototype"/><category scheme="http://www.blogger.com/atom/ns#" term="Web"/><title type='text'>Mais uma extensão para o Firebug</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTfsMfow1V_p5WKB2WkZgWOTz_qL7DKxhk8vVRSNWpQqXrEre47JAMslRYNXnqiAhlWHR2PKOIQrzC3nJ-ANePJna87_dgd-bCJ99J7QLMjPWc6PY28IO3liix9YCC0kmHv9PmbX3HK6Me/s1600/2010-05-19_123803.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTfsMfow1V_p5WKB2WkZgWOTz_qL7DKxhk8vVRSNWpQqXrEre47JAMslRYNXnqiAhlWHR2PKOIQrzC3nJ-ANePJna87_dgd-bCJ99J7QLMjPWc6PY28IO3liix9YCC0kmHv9PmbX3HK6Me/s320/2010-05-19_123803.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Não acredito que nunca tenha feito um post aqui sobre o Firebug! Já o referi &lt;a href=&quot;http://rui-isidro.blogspot.com/2009/06/debugging-javascript-com-prettyprint.html&quot;&gt;aqui&lt;/a&gt; e &lt;a href=&quot;http://rui-isidro.blogspot.com/2009/07/parem-as-maquinas-ponham-o-capacete.html&quot;&gt;aqui&lt;/a&gt;, mas escrevi um artigo sobre ele! Imperdoável... :|&lt;br /&gt;
&lt;br /&gt;
O Firebug é uma ferramenta absolutamente fundamental na mala de ferramentas de qualquer programador/designer web.&amp;nbsp;Antes de continuar a ler este singelo artigo, abra um novo separador e vá a&amp;nbsp;http://getfirebug.com/.&lt;br /&gt;
&lt;br /&gt;
O Firebug permite fazer &lt;i&gt;debug &lt;/i&gt;e inspeccionar todos os detalhes de &lt;i&gt;background &lt;/i&gt;de uma página web HTML e Javascript. Além disso, como se não bastassem as ferramentas excelentes que o compõem, ainda podemos acrescentar-lhe funcionalidades com extensões. Se faz desenvolvimento de páginas web e não usa o firebug, das três duas ou é um Deus ou então demita-se! ;)&lt;br /&gt;
&lt;br /&gt;
Se nunca usou, perca o próximo dia a explorar todos os recantos da página indicada (http://getfirebug.com/), estude-o a fundo, não se vai arrepender.&lt;br /&gt;
&lt;br /&gt;
Missão cumprida, já dei o devido e merecido tempo de antena ao Firebug, agora vou-me dedicar ao que me trouxe aqui depois deste interregno de algumas&amp;nbsp;décadas.... uma nova extensão para o Firebug: O FireFinder.&lt;br /&gt;
&lt;br /&gt;
Quando o vi a primeira vez pensei que não era daquelas coisas realmente necessárias, mas com algum tempo de utilização dei-lhe o devido valor. Realmente com o inspector do Firebug já é possível apontar a um elemento da página e perceber todos os seus detalhes, mas não é possível determinar com ele, por exemplo quais os elementos na página com um determinada class nem tão pouco podemos destacar elementos da página via XPath. É útil o &lt;i&gt;point-and-click &lt;/i&gt;sim senhora, mas por vezes não chega e então neste último projecto onde tenho trabalhado com muito &lt;i&gt;page-scrapping &lt;/i&gt;nem se fala na ajuda que me tem dado o FireFinder, &lt;i&gt;so, head over to:&amp;nbsp;https://addons.mozilla.org/pt-PT/firefox/addon/11905/#reviews&lt;/i&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial; font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;hr /&gt;Para ser notificado de cada vez que eu publicar um artigo, subscreva a minha &lt;a href=&quot;http://feeds.feedburner.com/RuiIsidroEOsSistemasDeInformao&quot;&gt;RSS&lt;/a&gt; (&lt;a href=&quot;http://rui-isidro.blogspot.com/2009/10/o-que-e-o-rss-feed.html&quot;&gt;o que são feeds RSS?&lt;/a&gt;).&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/8562481205376803118/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/8562481205376803118' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/8562481205376803118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/8562481205376803118'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2010/05/mais-uma-extensao-para-o-firebug.html' title='Mais uma extensão para o Firebug'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTfsMfow1V_p5WKB2WkZgWOTz_qL7DKxhk8vVRSNWpQqXrEre47JAMslRYNXnqiAhlWHR2PKOIQrzC3nJ-ANePJna87_dgd-bCJ99J7QLMjPWc6PY28IO3liix9YCC0kmHv9PmbX3HK6Me/s72-c/2010-05-19_123803.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-998951716241019915</id><published>2010-05-12T20:42:00.000+01:00</published><updated>2010-05-12T20:42:09.089+01:00</updated><title type='text'>Compass framework de edição de CSSs</title><content type='html'>As CSSs são por norma fáceis de interpretar, no entanto à medida que os projectos crescem o grau de complexidade das CSSs cresce igualmente. Por outro lado, há um conjunto de pequenas faltas que fazem relamente falta... nomeadamente o conceito de variável, por exemplo.&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Com o Compass escrevem-se as folhas de estilo em Sass (Syntactically Awesome Stylesheets) em vez de o fazer em CSS. O Sass é basicamente uma forma de escrever CSSs sem as chavetas e os ponto-e-vírgula. A nova versão do Sass, a Sass 3, no entanto vai acrescentar a possibilidade de termos variáveis e de se poder embeber elementos uns nos outros.&lt;br /&gt;
&lt;br /&gt;
Não parece nada de muito excitante, mas todo o designer por aí vai adorar poder fazer isto:&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$background_color: gray;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;#header {&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;background: $background_color;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Mais informação:&amp;nbsp;&lt;a href=&quot;http://compass-style.org/&quot;&gt;http://compass-style.org/&lt;/a&gt;&lt;br /&gt;
&lt;hr /&gt;Para ser notificado de cada vez que eu publicar um artigo, subscreva a minha &lt;a href=&quot;http://feeds.feedburner.com/RuiIsidroEOsSistemasDeInformao&quot;&gt;RSS&lt;/a&gt; (&lt;a href=&quot;http://rui-isidro.blogspot.com/2009/10/o-que-e-o-rss-feed.html&quot;&gt;o que são feeds RSS?&lt;/a&gt;).&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/998951716241019915/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/998951716241019915' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/998951716241019915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/998951716241019915'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2010/05/compass-framework-de-edicao-de-csss.html' title='Compass framework de edição de CSSs'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-7445731627017938002</id><published>2010-03-20T15:13:00.001+00:00</published><updated>2010-03-20T15:15:42.328+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="audio"/><category scheme="http://www.blogger.com/atom/ns#" term="ferramentas"/><category scheme="http://www.blogger.com/atom/ns#" term="truques"/><title type='text'>Limpar velhos LPs com cola de madeira</title><content type='html'>Ok, pensei vezes sem conta se deveria publicar este post ou não. Assaltaram-me 2 ideias: &quot;Estou mesmo a ficar velho!&quot; e &quot;Este tema é um pouco off the record aqui no blog...&quot;, mas foi aí que ouvi as fabulosas rubricas do Portugalex - &quot;O futuro agora mesmo!&quot;. Se tinha dúvidas quanto à adequação deste post meio démodé, depois de ouvir as novidades tecnológicas do programa, elas dissiparam-se. Vamos ao que interessa, lembra-se daqueles velhos LPs empoeirados no&amp;nbsp;sótão, coloque-os como novos e delicie-se com o velho som cheio e aveludado tão característico com... um tubo de cola!&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;object height=&quot;385&quot; width=&quot;640&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/Bm4bQVmV3Ok&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/Bm4bQVmV3Ok&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowScriptAccess=&quot;always&quot; width=&quot;425&quot; height=&quot;385&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;hr /&gt;&lt;br /&gt;
Para ser notificado de cada vez que eu publicar um artigo, subscreva a minha &lt;a href=&quot;http://feeds.feedburner.com/RuiIsidroEOsSistemasDeInformao&quot;&gt;RSS&lt;/a&gt; (&lt;a href=&quot;http://rui-isidro.blogspot.com/2009/10/o-que-e-o-rss-feed.html&quot;&gt;o que são feeds RSS?&lt;/a&gt;).&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/7445731627017938002/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/7445731627017938002' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/7445731627017938002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/7445731627017938002'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2010/03/limpar-velhos-lps-com-cola-de-madeira.html' title='Limpar velhos LPs com cola de madeira'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-9013122883699120456</id><published>2010-03-04T14:41:00.002+00:00</published><updated>2010-03-04T14:42:27.545+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="asp.net"/><category scheme="http://www.blogger.com/atom/ns#" term="ferramentas"/><category scheme="http://www.blogger.com/atom/ns#" term="Programação"/><category scheme="http://www.blogger.com/atom/ns#" term="Web"/><title type='text'>Definir o browser por omissão no Visual Studio</title><content type='html'>Por omissão o Visual Studio abre o Internet Explorer quando trabalhamos numa aplicação web e mandamos executar a aplicação para testar o nosso trabalho. Se eventualmente quisermos usar outro browser é necessário definir o browser a usar pelo Studio para efeitos de testes. Uma forma simples de o fazer é clicar num dos ficheiros aspx da nossa aplicação no Solution Explorer e escolher a opção &quot;Browse with...&quot; é apresentada uma nova janela onde podemos agora adicionar um novo browser. Depois de escolher ou adicionar o novo browser não esquecer de clicar no botão &quot;Set as default&quot;. Daí em diante quando mandamos executar a aplicação o browser definido será usado.&lt;br /&gt;
&lt;hr /&gt;&lt;br /&gt;
Para ser notificado de cada vez que eu publicar um artigo, subscreva a minha &lt;a href=&quot;http://feeds.feedburner.com/RuiIsidroEOsSistemasDeInformao&quot;&gt;RSS&lt;/a&gt; (&lt;a href=&quot;http://rui-isidro.blogspot.com/2009/10/o-que-e-o-rss-feed.html&quot;&gt;o que são feeds RSS?&lt;/a&gt;).&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/9013122883699120456/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/9013122883699120456' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/9013122883699120456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/9013122883699120456'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2010/03/definir-o-browser-por-omissao-no-visual.html' title='Definir o browser por omissão no Visual Studio'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-3454941856909041096</id><published>2010-03-03T23:25:00.001+00:00</published><updated>2010-03-03T23:26:33.121+00:00</updated><title type='text'>Dropbox</title><content type='html'>Quantas vezes precisamos de transportar um ficheiro de grandes dimensões e não temos à mão a nossa pendrive USB? Ou quantas vezes precisamos de trocar um ficheiro um pouco maior e não conseguimos enviar por email? Certamente já lhe aconteceu alguma vez uma destas situações. A mim acontece-me com&amp;nbsp;frequência trocar de sistema operativo (tenho windows 7 e o Mint) e precisar de um ficheiro que tenho no outro sistema operativo. É certo que é possível aceder a partições distintas do disco, mas nada chega ao quão prático é o dropbox.&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Esta é mais uma daquelas pequenas aplicações que são autênticas&amp;nbsp;jóias. Daquelas que nos deixam a pensar porque é que eu não me lembrei disto antes? Trata-se de uma pequena aplicação que se integra com o windows explorer e funciona exactamente como uma pasta mas onde os ficheiros lá colocados são armazenados na nuvem (internet). Depois podemos aceder em qualquer PC onde esteja o dropbox instalado ou directamente no browser. Podemos escolher se os ficheiros são armazenados de forma segura com acesso reservado e com comunicações encriptadas ou se preferimos partilhar o ficheiro publicamente. Tudo isto feito de uma forma&amp;nbsp;assombrosamente&amp;nbsp;elegante e simples!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;É claramente um caso a não perder:&amp;nbsp;&lt;a href=&quot;https://www.dropbox.com/referrals/NTE4Njk0MzY5&quot;&gt;https://www.dropbox.com/&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;hr /&gt;&lt;br /&gt;
Para ser notificado de cada vez que eu publicar um artigo, subscreva a minha &lt;a href=&quot;http://feeds.feedburner.com/RuiIsidroEOsSistemasDeInformao&quot;&gt;RSS&lt;/a&gt; (&lt;a href=&quot;http://rui-isidro.blogspot.com/2009/10/o-que-e-o-rss-feed.html&quot;&gt;o que são feeds RSS?&lt;/a&gt;).&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/3454941856909041096/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/3454941856909041096' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/3454941856909041096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/3454941856909041096'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2010/03/dropbox.html' title='Dropbox'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-9159781325368623518</id><published>2010-02-03T18:44:00.000+00:00</published><updated>2010-02-03T18:44:33.496+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="3D"/><category scheme="http://www.blogger.com/atom/ns#" term="design"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><title type='text'>51 tutoriais de Blender</title><content type='html'>Já tive a oportunidade de falar neste espaço sobre o &lt;a href=&quot;http://rui-isidro.blogspot.com/2010/01/esta-chegar-nova-versao-do-blender.html&quot;&gt;Blender&lt;/a&gt;. Para quem está interessado em dar os primeiros passos e se encontra ainda perdido na &lt;i&gt;&quot;tridimensionalidade&quot;&lt;/i&gt; da internet (!), ficam alguns tutoriais do melhor que tenho visto:&amp;nbsp;&lt;a href=&quot;http://cg.tutsplus.com/articles/web-roundups/51-bangin-blender-tutorials/&quot;&gt;http://cg.tutsplus.com/articles/web-roundups/51-bangin-blender-tutorials/&lt;/a&gt;&lt;br /&gt;
&lt;hr /&gt;&lt;br /&gt;
Para ser notificado de cada vez que eu publicar um artigo, subscreva a minha &lt;a href=&quot;http://feeds.feedburner.com/RuiIsidroEOsSistemasDeInformao&quot;&gt;RSS&lt;/a&gt; (&lt;a href=&quot;http://rui-isidro.blogspot.com/2009/10/o-que-e-o-rss-feed.html&quot;&gt;o que são feeds RSS?&lt;/a&gt;).&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/9159781325368623518/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/9159781325368623518' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/9159781325368623518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/9159781325368623518'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2010/02/51-tutoriais-de-blender.html' title='51 tutoriais de Blender'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-5205009571568223453</id><published>2010-01-30T23:10:00.001+00:00</published><updated>2010-01-30T23:11:49.752+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="3D"/><category scheme="http://www.blogger.com/atom/ns#" term="design"/><category scheme="http://www.blogger.com/atom/ns#" term="ferramentas"/><title type='text'>Está a chegar a nova versão do Blender</title><content type='html'>Esta é talvez uma das mais aguardadas versões de sempre do Blender, uma ferramenta open source de desenho 3D. Depois de provar que é uma ferramenta capaz de ombrear com os pesos pesados do segmento e levando até vantagem pelo facto de ser open source e existirem inúmeros objectos disponíveis online para usar nos ambientes 3D desenvolvidos.&lt;br /&gt;
&lt;br /&gt;
O Blender 3D é provavelmente a ferramenta open source mais sofisticada e polivalente jamais desenvolvida. Com ele podemos criar imagens estáticas 3D, mas também é possível editar vídeos, construir jogos, montar ambientes virtuais com navegação, etc. Alguns dos filmes já clássicos desenvolvidos com esta ferramenta têm um aspecto absolutamente profissional e é impossível apontar-lhes defeitos! (ver: &lt;a href=&quot;http://www.blender.org/features-gallery/blender-open-projects/&quot;&gt;http://www.blender.org/features-gallery/blender-open-projects/&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
Neste momento já está disponível a versão 2.5 alpha 0 e posso dizer-vos que desta vez a equipa de desenvolvimento surpreendeu tudo e todos com uma nova interface que trás-nos imediatamente à memória ferramentas da Adobe. Isto só pode significar que mais utilizadores vão ser conquistados, já que a interface gráfica actual é talvez um dos maiores responsáveis pela desistência de muitos utilizadores, intimidados com o aspecto - no mínimo estranho - da ferramenta.&lt;br /&gt;
&lt;br /&gt;
A verdade é que uma vez vencida a resistência de habituação à interface gráfica da ferramenta os utilizadores são bastante profícuos. É verdadeiramente um caso especial no desenho de interfaces gráficas para aplicações claramente especializadas. O Blender sempre foi diferente de todas as outras aplicações, mas está a amadurecer e esta versão 2.5 que será uma preparação para a esperada versão 2.6 contém novos motores de rendering muito mais eficientes, um novo conjunto de pontos de ligação da API para utilização de renderers externos, um novo motor de física capaz de lidar muito melhor com partículas de fumo, líquidos e ainda a capacidade de se poder agora animar qualquer elemento de uma cena!&lt;br /&gt;
A ver: &lt;a href=&quot;http://www.blender.org/&quot;&gt;http://www.blender.org/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;&lt;br /&gt;
&lt;br /&gt;
Para ser notificado de cada vez que eu publicar um artigo, subscreva a minha &lt;a href=&quot;http://feeds.feedburner.com/RuiIsidroEOsSistemasDeInformao&quot;&gt;RSS&lt;/a&gt; (&lt;span style=&quot;size: 8px;&quot;&gt;&lt;a href=&quot;http://rui-isidro.blogspot.com/2009/10/o-que-e-o-rss-feed.html&quot;&gt;o que são feeds RSS?&lt;/a&gt;&lt;/span&gt;).&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/5205009571568223453/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/5205009571568223453' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/5205009571568223453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/5205009571568223453'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2010/01/esta-chegar-nova-versao-do-blender.html' title='Está a chegar a nova versão do Blender'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-1307785408672962131</id><published>2010-01-25T01:14:00.000+00:00</published><updated>2010-01-25T01:14:10.796+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ferramentas"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><title type='text'>Firefox 3.6 - disponível oficialmente</title><content type='html'>Depois de adiado vezes sem conta, eis que nos chega a versão 3.6 do Firefox. Esta nova versão trás consigo grandes melhorias em termos de performance, temas &lt;i&gt;&quot;one-click&quot;, add-ons &lt;/i&gt;e&lt;i&gt; plug-ins &lt;/i&gt;mais seguros e muitas mais novidades incluindo inclusivamente melhorias no motor de rendering de fontes!&lt;i&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
A customização do firefox com os temas Personas one click é um mimo. Apontem o firefox para a &lt;a href=&quot;http://www.getpersonas.com/&quot;&gt;galeria personas&lt;/a&gt;&amp;nbsp;e basta fazer hover sobre os diversos temas para ter um feedback instantâneo do aspecto do browser. Se tivermos plug-ins desactualizados ou potencialmente perigosos no que diz respeito a vírus, ao arrancar o firefox agora é simpático o suficiente para nos notificar sobre as evetuais actualizações e direcciona o utilizador para o site oficial de download. Os vídeos Ogg ou de outros formatos open source podem ser agora visualizados em full screen.&lt;br /&gt;
&lt;br /&gt;
Por fim há várias melhorias no que diz respeito à velocidade, quer do javascript, quer do arranque da aplicação e rendering geral das páginas.&lt;br /&gt;
&lt;br /&gt;
Site oficial:&amp;nbsp;&lt;a href=&quot;http://firefox.com/&quot;&gt;http://firefox.com/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;&lt;br /&gt;
Para ser notificado de cada vez que eu publicar um artigo, subscreva a minha &lt;a href=&quot;http://feeds.feedburner.com/RuiIsidroEOsSistemasDeInformao&quot;&gt;RSS&lt;/a&gt; (&lt;a href=&quot;http://rui-isidro.blogspot.com/2009/10/o-que-e-o-rss-feed.html&quot;&gt;o que são feeds RSS?&lt;/a&gt;).&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/1307785408672962131/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/1307785408672962131' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/1307785408672962131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/1307785408672962131'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2010/01/firefox-36-disponivel-oficialmente.html' title='Firefox 3.6 - disponível oficialmente'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-6506981396851531828</id><published>2010-01-14T20:19:00.000+00:00</published><updated>2010-01-14T20:19:42.936+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ferramentas"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><title type='text'>Novidades no Thunderbird e Lightning</title><content type='html'>No meu &lt;a href=&quot;http://rui-isidro.blogspot.com/2009/12/thunderbird-30-primeiras-impressoes.html&quot;&gt;post anterior&lt;/a&gt; apenas falava-vos da falta de uma ferramenta de calendário no novo Thunderbird e no quanto isso inviabilizava a utilização deste excelente cliente de correio electrónico. Foi realmente uma desilusão muito embora no que diz respeito a todas as outras funcionalidades seja sem sombra de dúvidas um evolução excelente!&lt;div&gt;Entretanto as coisas já&amp;nbsp;evoluíram&amp;nbsp;e neste momento já é possível usar o Thunderbird com o Lightning. Instalei as versões Nightly builds (as versões de trabalho mais recentes das aplicações) e já é possível a integração das 2 ferramentas. Uma das coisas mais úteis para mim é a possibilidade de ligar o Lightning ao calendário do Google. Assim, além de ter acesso webmail a todas as caixas de correio que possuo ainda consigo aceder online à minha agenda sempre que não tenho o meu portátil comigo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;A acompanhar em&amp;nbsp;&lt;a href=&quot;http://www.mozilla.org/projects/calendar/releases/lightning1.0b1.html&quot;&gt;http://www.mozilla.org/projects/calendar/releases/lightning1.0b1.html&lt;/a&gt;&lt;br /&gt;
&lt;hr /&gt;&lt;br /&gt;
Para ser notificado de cada vez que eu publicar um artigo, subscreva a minha &lt;a href=&quot;http://feeds.feedburner.com/RuiIsidroEOsSistemasDeInformao&quot;&gt;RSS&lt;/a&gt; (&lt;a href=&quot;http://rui-isidro.blogspot.com/2009/10/o-que-e-o-rss-feed.html&quot;&gt;o que são feeds RSS?&lt;/a&gt;).&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/6506981396851531828/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/6506981396851531828' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/6506981396851531828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/6506981396851531828'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2010/01/novidades-no-thunderbird-e-lightning.html' title='Novidades no Thunderbird e Lightning'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-5903334865491049935</id><published>2009-12-09T20:20:00.000+00:00</published><updated>2009-12-09T20:20:05.307+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ferramentas"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><title type='text'>Thunderbird 3.0, primeiras impressões.</title><content type='html'>É com alguma amargura que escrevo estas palavras, na verdade nem vou escrever muito porque tenho a nítida sensação que muito brevemente &quot;as coisas vão mudar de figura&quot;!&lt;br /&gt;
&lt;br /&gt;
Já tive a oportunidade de referir o Thunderbird e algumas experiências muito positivas que tive ele &lt;a href=&quot;http://rui-isidro.blogspot.com/2009/10/mensagem-de-replay-no-topo-thunderbird.html&quot;&gt;aqui&lt;/a&gt; e &lt;a href=&quot;http://rui-isidro.blogspot.com/2009/09/thunderbird-e-google-calendar-os-meus.html&quot;&gt;aqui&lt;/a&gt;. Confesso que depois de começar a usar o Thunderbird, então na versão 2, nunca mais usei outro cliente de email. Claro que nessa versão fazia-me falta uma ferramenta de calendário, mas consegui resolver bem o assunto instalando o &lt;a href=&quot;http://www.mozilla.org/projects/calendar/lightning/&quot;&gt;Lightning&lt;/a&gt;. Esta semana instalei a recém publicada versão 3.0 do Thunderbird e se as primeiras impressões foram excelentes, pouco tempo depois da instalação estava já com vontade de regredir para a versão 2 novamente. Tenho vindo a acompanhar o &quot;disse que disse&quot; do desenvolvimento do Thunderbird e dizia-se que iria ter suporte nativo a agenda, o que não é verdade. Além disso o Lightning de momento não é compatível com o Thunderbird 3.0, por isso praticamente inviabiliza o meu interesse na ferramenta. Não faz sentido uma ferramenta deste tipo não ter uma agenda! A única coisa que me mantém para já em suspenso é o facto de eu estar a usar o Google Calendar e ter a minha agenda toda online. É um risco é certo, mas na versão anterior do Thunderbird eu conseguia sincronizar facilmente a minha agenda no Lightning com o Google Calendar e tinha o melhor dos 2 mundos, se estivesse fora podia (e posso) recorrer ao calendar, se estivesse a usar o meu portátil sentia-me mais confortável a usar o meu cliente de mail favorito!&lt;br /&gt;
&lt;br /&gt;
Posto isto resta-nos aguardar que a equipa do lightning se chegue à frente com uma actualização da ferramenta para apaziguar as almas de todos os utilizadores do Thunderbird.&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;&lt;br /&gt;
Para ser notificado de cada vez que eu publicar um artigo, subscreva a minha &lt;a href=&quot;http://feeds.feedburner.com/RuiIsidroEOsSistemasDeInformao&quot;&gt;RSS&lt;/a&gt; (&lt;a href=&quot;http://rui-isidro.blogspot.com/2009/10/o-que-e-o-rss-feed.html&quot;&gt;o que são feeds RSS?&lt;/a&gt;).&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/5903334865491049935/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/5903334865491049935' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/5903334865491049935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/5903334865491049935'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2009/12/thunderbird-30-primeiras-impressoes.html' title='Thunderbird 3.0, primeiras impressões.'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-1787042090559986436</id><published>2009-11-18T22:58:00.001+00:00</published><updated>2009-11-19T11:17:53.120+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="software"/><title type='text'>Playback contínuo no VLC.</title><content type='html'>O VLC é o leitor multimédia que uso mais regularmente.&amp;nbsp;Eu gosto de usar o VLC, acho-o leve, suficientemente discreto e além de permitir visualizar todos os vídeos com todos os codecs que me consigo lembrar, ainda tem um conjunto de funcionalidades ímpar (streaming, efeitos realtime, etc...). Hoje deparei-me com uma pequena dificuldade, queria colocar um vídeo a correr contínuamente e não estava a conseguir. A solução é simples mas não tão obvia como seria de esperar. É necessário activar a opção de loop contínuo que está na definição das preferencias na playlist.&lt;br /&gt;
&lt;br /&gt;
Estas opções apenas aparecem no menu &quot;Tools/Preferences&quot;. Na janela que surge escolher no canto inferior esquerdo a opção &quot;All&quot; de &quot;Show Settings&quot;. Depois ainda na coluna da esquerda seleccionar a opção Playlist e em seguida escolher à direita a opção que mais nos convém.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieLpMk3GgEzThfDCkynKQaFxH_cJYYccVYS0nK2zZM63-AyU8ra_14LHvWa1NEtLKrgD-QAzHmT60P0eozj8qrUQAFXrDXMMPAhjUqVBb46SvyuJhn-Ggc8gvQ7_UmGGBKwr0epsS5uhrL/s1600/2009-11-18_224725.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieLpMk3GgEzThfDCkynKQaFxH_cJYYccVYS0nK2zZM63-AyU8ra_14LHvWa1NEtLKrgD-QAzHmT60P0eozj8qrUQAFXrDXMMPAhjUqVBb46SvyuJhn-Ggc8gvQ7_UmGGBKwr0epsS5uhrL/s320/2009-11-18_224725.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.videolan.org/vlc/&quot;&gt;http://www.videolan.org/vlc/&lt;/a&gt;&lt;br /&gt;
&lt;span id=&quot;goog_1258584079636&quot;&gt;&lt;/span&gt;&lt;span id=&quot;goog_1258584079637&quot;&gt;&lt;/span&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/1787042090559986436/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/1787042090559986436' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/1787042090559986436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/1787042090559986436'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2009/11/playback-continuo-no-vlc.html' title='Playback contínuo no VLC.'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieLpMk3GgEzThfDCkynKQaFxH_cJYYccVYS0nK2zZM63-AyU8ra_14LHvWa1NEtLKrgD-QAzHmT60P0eozj8qrUQAFXrDXMMPAhjUqVBb46SvyuJhn-Ggc8gvQ7_UmGGBKwr0epsS5uhrL/s72-c/2009-11-18_224725.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-3186033627055554245</id><published>2009-11-18T22:40:00.001+00:00</published><updated>2009-11-18T22:41:14.381+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ferramentas"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><title type='text'>Google Image Swirl</title><content type='html'>A Google tem mais uma aplicação fantástica online: o Google Image Swirl. Trata-se de uma forma mais interactiva de pesquisar imagens e de navegar posteriormente pelas imagens encontradas de uma forma muito natural e intuitiva. Uma vez encontrada uma imagem do tema que procurarmos, basta ir clicando nas diversas imagens e ir &quot;entrando&quot; nas imagens relacionadas até encontrar &quot;aquela&quot; imagem!&lt;br /&gt;
&lt;br /&gt;
Muito bom!&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://image-swirl.googlelabs.com/&quot;&gt;http://image-swirl.googlelabs.com/&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/3186033627055554245/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/3186033627055554245' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/3186033627055554245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/3186033627055554245'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2009/11/google-image-swirl.html' title='Google Image Swirl'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-8162542142244377691</id><published>2009-11-12T11:36:00.003+00:00</published><updated>2009-11-14T00:02:35.078+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programação"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server"/><title type='text'>Como determinar numa base de dados quais as tabelas que contém um determinado campo?</title><content type='html'>Há dias deparei-me com a necessidade de determinar quais as tabelas que continham um determinado campo. Tratava-se de uma chave&amp;nbsp;estrangeira&amp;nbsp;que eu já tinha visto que estava a ser designada em várias tabelas da mesma forma: FuncionarioID. A solução é muito simples, basta consultar as tabelas sys.tables e sys.columns:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: #ffffdd;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: monospace; font-size: 12px; line-height: 19px;&quot;&gt;&lt;span style=&quot;color: blue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;USE&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: black; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;MyDB&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;GO&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;SELECT&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: black; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;t.name&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: blue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;AS&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: black; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;table_name&lt;/span&gt;&lt;span style=&quot;color: grey; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;,&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;color: black; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;SCHEMA_NAME&lt;/span&gt;&lt;span style=&quot;color: grey; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: black; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;schema_id&lt;/span&gt;&lt;span style=&quot;color: grey; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: blue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;AS&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: black; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;schema_name&lt;/span&gt;&lt;span style=&quot;color: grey; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;,&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;color: black; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;c.name&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: blue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;AS&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: black; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;column_name&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;FROM&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: black; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;sys.tables&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: blue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;AS&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: black; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;t&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;INNER&amp;nbsp;JOIN&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: black; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;sys.columns&amp;nbsp;c&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: blue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;ON&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: black; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;t.&lt;/span&gt;&lt;span style=&quot;color: magenta; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;OBJECT_ID&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: blue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: black; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;c.&lt;/span&gt;&lt;span style=&quot;color: magenta; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;OBJECT_ID&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;WHERE&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: black; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;c.name&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: grey; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;LIKE&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: red; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&#39;%FuncionarioID%&#39;&lt;br style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;ORDER&amp;nbsp;BY&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: black; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;schema_name&lt;/span&gt;&lt;span style=&quot;color: grey; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: black; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;table_name&lt;/span&gt;&lt;span style=&quot;color: grey; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #333333; font-family: monospace; font-size: 12px; line-height: 19px;&quot;&gt;&lt;span style=&quot;color: grey; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;Mais informação sobre este assunto em:&amp;nbsp;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms345522.aspx&quot;&gt;http://msdn.microsoft.com/en-us/library/ms345522.aspx&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/8162542142244377691/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/8162542142244377691' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/8162542142244377691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/8162542142244377691'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2009/11/como-determinar-numa-base-de-dados.html' title='Como determinar numa base de dados quais as tabelas que contém um determinado campo?'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-1507783748770123532</id><published>2009-11-04T14:35:00.001+00:00</published><updated>2009-11-17T01:41:43.537+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Criação de interfaces gráficas em Java usando Cardlayout</title><content type='html'>&lt;i&gt;Vou abrir aqui um precedente e colocar um pequeno vídeo, não editado, com uma ajuda para uns amigos meus. Se o tempo o permitir, fica a promessa de criar uns vídeos mais produzidos e mais temas abordados.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Por vezes surge a necessidade de organizar a interface gráfica de uma aplicação em painéis separados que são apresentados ao utilizador em função de opções que ele faz, por exemplo, num menu.&lt;br /&gt;
&lt;br /&gt;
Utilizando o Netbeans (ferramenta que uso para criação de aplicações em Java), ao criar&amp;nbsp;uma nova aplicação Java desktop, são criados vários ficheiros sendo que, um deles, é a aplicação principal (normalmente uma classe com a designação XPTOView.java). No painel &lt;i&gt;inspector&lt;/i&gt;, vemos que este formulário é composto por vários objectos:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;FrameView – a janela propriamente dita&lt;/li&gt;
&lt;li&gt;mainPanel – um JPanel onde são colocados os diversos controlos&lt;/li&gt;
&lt;li&gt;menuBar – um JMenuBar: o menu que é apresentado no topo do ecrã&lt;/li&gt;
&lt;li&gt;statusPanel – um painel que faz a divisão do painel principal e apresenta uma barra barra de estado no rodapé&lt;/li&gt;
&lt;/ul&gt;A ideia então é usar o mainPanel para ir apresentando os diversos ecrãs ao utilizador. Para tal devemos indicar ao mainPanel que queremos usar o layout cardlayout e acrescentar ao mainPanel o conjunto do panels que são necessários para mostrar as diversas interfaces da aplicação. Imaginem um baralho de cartas onde cada carta é uma interface gráfica com o utilizador, é precisamente disso que se trata.&lt;br /&gt;
&lt;br /&gt;
O Netbeans suporta este conceito de forma muito simples. &lt;br /&gt;
&lt;br /&gt;
1.Crie uma nova aplicação Java Desktop (Basic application).&lt;br /&gt;
2.No painel &lt;i&gt;Inspector&lt;/i&gt;, clicar com o botão direito do rato no mainPanel e definir o layout como CardLayout.&lt;br /&gt;
3.Ainda no &lt;i&gt;Inspector &lt;/i&gt;e sobre o mainPanel clicar com o&amp;nbsp;botão direito do rato e fazer &quot;Add from Panel&quot; / &quot;Swing containers&quot; e adicionar quantos painéis os desejados.&lt;br /&gt;
4.Cada painel associado vai ter um &quot;cardname&quot; (veja o painel &lt;i&gt;Properties &lt;/i&gt;a secção &lt;i&gt;Layout &lt;/i&gt;de cada “subpainel”).&lt;br /&gt;
5.Ao menu adicione alguns “menu items” por exemplo no menu File.&lt;br /&gt;
6.Desenhar os paineis...&lt;br /&gt;
7.A cada item do menu que adicionou em 5 ligue os respectivos eventos.&lt;br /&gt;
8.Em cada evento o que vamos fazer é indicar qual o painel a mostrar no mainPanel. Para tal temos de criar uma instância do objecto Cardlyout e indicar-lhe qual o card a mostrar:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&lt;span style=&quot;color: #ffd966;&quot;&gt;1.//Obtém a instância do cardlayout associado ao mainPanel&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&lt;span style=&quot;color: #ffd966;&quot;&gt;CardLayout cl = (CardLayout)(mainPanel.getLayout()); &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&lt;span style=&quot;color: #ffd966;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&lt;span style=&quot;color: #ffd966;&quot;&gt;//Activa o painel cujo card name é card2.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;&lt;span style=&quot;color: #ffd966;&quot;&gt;cl.show(mainPanel, &quot;card2&quot;); &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;object height=&quot;344&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/d-zSU6vNwYw&amp;hl=pt_BR&amp;fs=1&amp;&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/d-zSU6vNwYw&amp;hl=pt_BR&amp;fs=1&amp;&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/1507783748770123532/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/1507783748770123532' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/1507783748770123532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/1507783748770123532'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2009/11/criacao-de-interfaces-graficas-em-java.html' title='Criação de interfaces gráficas em Java usando Cardlayout'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-8215940718372119894</id><published>2009-10-31T23:58:00.000+00:00</published><updated>2009-10-31T23:58:15.036+00:00</updated><title type='text'>O que é o RSS Feed?</title><content type='html'>RSS é uma sigla para &quot;Really Simple Syndication&quot;, que consiste numa maneira fácil de saber se um determinado site ou base de dados tem novas entradas sem ter que aceder ao site em questão constantemente. Ao subscrever RSS feeds, e utilizando um leitor de RSS, poderá consultar conteúdos de várias fontes na web e visualizar estes conteúdos numa única página, de forma integrada. Sempre que o site ou serviço for actualizado, será notificado no seu leitor de feeds dessa actualização.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Como posso utilizar o RSS Feed?&lt;/b&gt;&lt;br /&gt;
Registe-se num RSS Reader via web ou obtenha mediante download um programa RSS Reader. Uma parte dos programas de email também já têm leitores de RSS.&lt;br /&gt;
&lt;br /&gt;
Na web poderá seleccionar um dos seguintes:&lt;br /&gt;
&lt;br /&gt;
MyYahoo - http://my.yahoo.com/s/nytimes.html&lt;br /&gt;
&lt;br /&gt;
Google Reader - http://www.google.com/reader/view/#overview-page&lt;br /&gt;
&lt;br /&gt;
Bloglines - http://www.bloglines.com/&lt;br /&gt;
&lt;br /&gt;
SharpReader – http://www.sharpreader.net/&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFpSglviWF-LiMVtDulH4QJ3O9QEyoTPqCpKJ2A9HatSE1VUdVb8dSwsXj-5rjqje0tv1xzr_tRZrzIa8mTRl7TSvlZozKc38SETroHeaOCfLG140tRO3jFkJvXYzU8ot3AuQib8uCxSdH/s1600-h/imag4.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFpSglviWF-LiMVtDulH4QJ3O9QEyoTPqCpKJ2A9HatSE1VUdVb8dSwsXj-5rjqje0tv1xzr_tRZrzIa8mTRl7TSvlZozKc38SETroHeaOCfLG140tRO3jFkJvXYzU8ot3AuQib8uCxSdH/s320/imag4.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;Depois de ter um RSS Reader instalado basta subscrever o canal que tenha os dados que deseja receber. As funcionalidades RSS feed são identificadas por icons standard, por isso muito fáceis de identificar. Clique no icon e copie o URL correspondente para o RSS Reader. A própria barra de endereço do seu browser pode indicar a presença de um Feed no site que está a consultar.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Adaptado de: &lt;/i&gt;&amp;nbsp;&lt;a href=&quot;http://www.doc.ua.pt/PageImage.aspx?id=8146&quot;&gt;http://www.doc.ua.pt/PageImage.aspx?id=8146&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/8215940718372119894/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/8215940718372119894' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/8215940718372119894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/8215940718372119894'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2009/10/o-que-e-o-rss-feed.html' title='O que é o RSS Feed?'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFpSglviWF-LiMVtDulH4QJ3O9QEyoTPqCpKJ2A9HatSE1VUdVb8dSwsXj-5rjqje0tv1xzr_tRZrzIa8mTRl7TSvlZozKc38SETroHeaOCfLG140tRO3jFkJvXYzU8ot3AuQib8uCxSdH/s72-c/imag4.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-3224604684344665033</id><published>2009-10-27T17:28:00.004+00:00</published><updated>2009-10-28T23:07:10.063+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ferramentas"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><title type='text'>Keepass</title><content type='html'>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg81c3ypxxURsNgSbZJVtgg8lXG-x2Fvg3cyO8qYet1qYb050Vbfvt707ecPrHEzfm9SbJF4QXoIhYew1m9Vbw7wJYoksClh6KS0IVceO3XOO3gyLSNPXWFqf2683FGuvJVcd-e5YE2TqHv/s1600-h/main.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5397334941271356002&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg81c3ypxxURsNgSbZJVtgg8lXG-x2Fvg3cyO8qYet1qYb050Vbfvt707ecPrHEzfm9SbJF4QXoIhYew1m9Vbw7wJYoksClh6KS0IVceO3XOO3gyLSNPXWFqf2683FGuvJVcd-e5YE2TqHv/s400/main.jpg&quot; style=&quot;cursor: hand; cursor: pointer; display: block; height: 206px; margin: 0px auto 10px; text-align: center; width: 300px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
Aqui vai mais uma ferramenta que eu uso regularmente, o Keepass.&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Esta pequena aplicação, que uso na versão &lt;i&gt;portable&lt;/i&gt;, permite armazenar com segurança todas as passwords que orgulhosamente vamos coleccionando ao longo da vida. Acontece que, tirando honrosas excepções, a maior parte das passwords eu acabo por esquecer. Acreditem que já tentei várias estratégias, desde usar sempre a mesma password para determinados serviços, por exemplo, a usar mnemónicas, mas acabo por me afeiçoar às ditas cujas e às tantas começo a desconfiar se não será melhor ideia criar uma nova password e ... pronto! Nos poucos dias que ocupam uma semana lá eu crio umas 4 ou 5 novas passwords!&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Esta ferramenta é interessante porque armazena os dados com encriptação (o que é uma garantia de segurança acrescida). Embora apresente uma interface gráfica um bocadinho... austera, a verdade é que conta com alguns mecanismo de usabilidade muito interessantes. Só um exemplo: depois de inserir um registo, Ctrl+B copia o user name desse registo e Ctrl+C copia  a password, um miminho!&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;A consultar: &lt;a href=&quot;http://keepass.info/&quot;&gt;http://keepass.info/&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/3224604684344665033/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/3224604684344665033' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/3224604684344665033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/3224604684344665033'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2009/10/keepass.html' title='Keepass'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg81c3ypxxURsNgSbZJVtgg8lXG-x2Fvg3cyO8qYet1qYb050Vbfvt707ecPrHEzfm9SbJF4QXoIhYew1m9Vbw7wJYoksClh6KS0IVceO3XOO3gyLSNPXWFqf2683FGuvJVcd-e5YE2TqHv/s72-c/main.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-5234418549697709034</id><published>2009-10-26T20:14:00.004+00:00</published><updated>2009-11-01T00:01:02.553+00:00</updated><title type='text'>III edição em Aveiro do Workshop InDesign</title><content type='html'>&lt;a href=&quot;http://3.bp.blogspot.com/_xBQf8fu07UE/SuYD1Ax-RyI/AAAAAAAAAF4/vBA9fWC0T90/s1600-h/cartazworshopswebIIIEdicao.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5397005412727670562&quot; src=&quot;http://3.bp.blogspot.com/_xBQf8fu07UE/SuYD1Ax-RyI/AAAAAAAAAF4/vBA9fWC0T90/s400/cartazworshopswebIIIEdicao.jpg&quot; style=&quot;cursor: pointer; display: block; height: 400px; margin: 0px auto 10px; text-align: center; width: 306px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
Vai-se realizar já no próximo fim-de-semana de &lt;s&gt;31 de Outubro e 1 de Novembro &lt;/s&gt;7 e 8 de Novembro o III Workshop de InDesign, pela formadora Dalila Ferreira. Esta é uma edição especial &quot;documentos científicos&quot;.&lt;br /&gt;
&lt;br /&gt;
Estes workshops funcionam nas instalações do Clube dos Galitos em Aveiro. Para mais informações contactar dalila.dsf@gmail.com.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/5234418549697709034/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/5234418549697709034' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/5234418549697709034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/5234418549697709034'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2009/10/iii-edicao-de-workshop-indesign.html' title='III edição em Aveiro do Workshop InDesign'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_xBQf8fu07UE/SuYD1Ax-RyI/AAAAAAAAAF4/vBA9fWC0T90/s72-c/cartazworshopswebIIIEdicao.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-3108010778592219940</id><published>2009-10-24T15:39:00.004+01:00</published><updated>2009-11-25T11:03:19.293+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="software"/><title type='text'>Ninite.com</title><content type='html'>Acabo de descobrir mais uma pérola no ciberespaço. Costumo usar uma série de pequenas (ou grandes) aplicações especializadas na mais diversas áreas, desde o simples editor de texto notepad++ a ferramentas de produtividade, criatividade, design, edição de som, vídeo, etc. Enfim um vasto leque de aplicações que vão alimentando este meu desvario diário com o computadores.&lt;br /&gt;
&lt;br /&gt;
Acontece que quando se muda o sistema operativo ou se instala uma máquina nova, lá vem a trabalheira de instalar todas as ferramentas e plug-ins e outros quejandos. Ora é aí que entra a minha descoberta! O site ninite.com tem uma grande lista de aplicações open source que podemos escolher juntando-as todas num package único de instalação, tornando assim a nossa vida muito mais simples.&lt;br /&gt;
&lt;br /&gt;
Um forte abraço à malta do nitite porque tiveram uma iniciativa verdadeiramente genial e útil.&lt;br /&gt;
&lt;br /&gt;
A visitar: &lt;a href=&quot;http://ninite.com/&quot;&gt;http://ninite.com/&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/3108010778592219940/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/3108010778592219940' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/3108010778592219940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/3108010778592219940'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2009/10/ninitecom.html' title='Ninite.com'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-7786325944432874415</id><published>2009-10-09T11:20:00.005+01:00</published><updated>2009-10-09T11:30:56.135+01:00</updated><title type='text'>Workshop Adobe InDesign</title><content type='html'>Vai decorrer nos próximos dias 24 e 25 de Outubro uma nova edição de um workshop de InDesign. Estes workshops, de carácter muito prático, decorrem na sede do Clube dos Galitos. Para mais informações contactar dalila.dsf@gmail.com ou o site www.galitos.pt.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://2.bp.blogspot.com/_xBQf8fu07UE/Ss8QVh_aKxI/AAAAAAAAAEc/ZYf1JoRlBd0/s1600-h/cartazworshopsweb.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 306px; height: 400px;&quot; src=&quot;http://2.bp.blogspot.com/_xBQf8fu07UE/Ss8QVh_aKxI/AAAAAAAAAEc/ZYf1JoRlBd0/s400/cartazworshopsweb.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5390545241073396498&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/7786325944432874415/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/7786325944432874415' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/7786325944432874415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/7786325944432874415'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2009/10/workshop-adobe-indesign.html' title='Workshop Adobe InDesign'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_xBQf8fu07UE/Ss8QVh_aKxI/AAAAAAAAAEc/ZYf1JoRlBd0/s72-c/cartazworshopsweb.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-8577314662524526623</id><published>2009-10-06T15:45:00.006+01:00</published><updated>2012-11-07T15:04:41.246+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ferramentas"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><title type='text'>Mensagem de reply no topo (Thunderbird)</title><content type='html'>Por uma razão que desconheço, o Thunderbird (cliente de correio da Mozilla) coloca as respostas a mensagens de correio electrónico no final das mensagens recebidas. É prática corrente responder às mensagens de correio no topo das respostas e não no fim.&lt;br /&gt;&lt;br /&gt;Andei de voltas das opções de configuração do Thunderbird e não consegui dar com o gato à primeira, por isso resolvi escrever as minhas últimas descobertas no &quot;mundo encantado do Thunderbird&quot;.&lt;br /&gt;&lt;br /&gt;Aqui vai o método para alterar o comportamento por omissão do Thunderbird nestes casos:&lt;br /&gt;&lt;br /&gt;Primeiro abrir o menu Tools &gt; Options:&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMk2fI99mefPcE5yZJqk2LcfTbZZ7n3tO4HJvr-ZohnDpCppR2m7eMF6HR8ytCL8Ph5QuvSuFEOEtt0B5x5soC13u59CtnKAH1hyphenhyphenI8dr39pANbnlLDek6HVMjdAMnhRD2h95Bt_8NoaJQn/s1600-h/Thunderbird-Options.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 363px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMk2fI99mefPcE5yZJqk2LcfTbZZ7n3tO4HJvr-ZohnDpCppR2m7eMF6HR8ytCL8Ph5QuvSuFEOEtt0B5x5soC13u59CtnKAH1hyphenhyphenI8dr39pANbnlLDek6HVMjdAMnhRD2h95Bt_8NoaJQn/s400/Thunderbird-Options.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5389499149906636258&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Clicar em Config Editor e na caixa de filtragem escrever:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgGO49kWj5PRr2H80TGqy97Q8cBgO3XMVFFLebBkAk_GcutE3mHL4DMUgsqa5zmdnH16FDQdiIzdFFyhGYExW-W6CUrFKEQT9wzoz1Y3ouyxnkdnBojTYeeoX-pltapWxr4HQxLbXoSAmI/s1600-h/Thunderbird-Config.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgGO49kWj5PRr2H80TGqy97Q8cBgO3XMVFFLebBkAk_GcutE3mHL4DMUgsqa5zmdnH16FDQdiIzdFFyhGYExW-W6CUrFKEQT9wzoz1Y3ouyxnkdnBojTYeeoX-pltapWxr4HQxLbXoSAmI/s400/Thunderbird-Config.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5389499496338693762&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Fazer duplo clique na linha “mail.identity.default.reply_on_top” e alterar o valor para 1:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigRyVQRMEjDhRVHnYtB3HUH_AB98WpZ2rGasJT35hqMpP6cpq3dd3WuPFkZKGkxrTwsb8D1-dawK3-qUfHzaiv8GxViGFBTAlj-HbR-zgNBWUq9UB3hBf9Lb_88Eq7tXXaAQFJX283uTRm/s1600-h/Thunderbird-Value.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 365px; height: 169px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigRyVQRMEjDhRVHnYtB3HUH_AB98WpZ2rGasJT35hqMpP6cpq3dd3WuPFkZKGkxrTwsb8D1-dawK3-qUfHzaiv8GxViGFBTAlj-HbR-zgNBWUq9UB3hBf9Lb_88Eq7tXXaAQFJX283uTRm/s400/Thunderbird-Value.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5389500458438690834&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Para terminar clicar em Ok e fazer restart ao Thunderbird.&lt;/p&gt;&lt;p&gt;Agora quando se responde a uma mensagem o cursor já é colocado no início da mensagem.&lt;/p&gt;Post original: &lt;a href=&quot;http://init.sh/?p=66&quot;&gt;http://init.sh/?p=66&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/8577314662524526623/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/8577314662524526623' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/8577314662524526623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/8577314662524526623'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2009/10/mensagem-de-replay-no-topo-thunderbird.html' title='Mensagem de reply no topo (Thunderbird)'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMk2fI99mefPcE5yZJqk2LcfTbZZ7n3tO4HJvr-ZohnDpCppR2m7eMF6HR8ytCL8Ph5QuvSuFEOEtt0B5x5soC13u59CtnKAH1hyphenhyphenI8dr39pANbnlLDek6HVMjdAMnhRD2h95Bt_8NoaJQn/s72-c/Thunderbird-Options.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-7270329752029283418</id><published>2009-09-30T23:01:00.004+01:00</published><updated>2009-09-30T23:18:07.293+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ferramentas"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><title type='text'>Zoom de ecrã em apresentações (revisitado)</title><content type='html'>&lt;p&gt;Num &lt;a href=&quot;http://rui-isidro.blogspot.com/2009/04/zoom-de-ecra-em-apresentacoes.html&quot;&gt;post anterior&lt;/a&gt; eu apresentei-vos uma ferramenta que uso com frequência nas minhas apresentações, o ZoomIt. Também já &lt;a href=&quot;http://rui-isidro.blogspot.com/2009/09/thunderbird-e-google-calendar-os-meus.html&quot;&gt;vos falei&lt;/a&gt; das minhas aventuras e desventuras com o meu computador nas férias passadas. Quem me conhece sabe que embora eu seja um grande entusiastas destas &quot;coisas dos computadores&quot; a verdade é que demoro algum tempo a aderir aos últimos gritos na área. Enquanto estiver satisfeito com o que tenho dificilmente enveredo por novas andanças.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;A última vez que isto me aconteceu, passaram 3 anos e perdi o contacto maravilhoso com o Windows Vista. Quer isto dizer que... sim ;) é verdade estou a usar o Windows 7. Até me sinto mais jovem e tudo! Mas vamos ao que interessa.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;O Windows 7 vem de raiz com uma pequena ferramenta que permite fazer zoom do ecrã que é fantástica para fazer apresentações (em especial quando se trata de mostrar código em salas relativamente grandes). Bem sei que os SO concorrentes já o fazem à décadas, mas quando se de copiar, ... há que copiar bem! Bom e já agora ficam os atalhos para a sua utilizar. Para abrir a aplicação &lt;span style=&quot;font-style: italic;&quot;&gt;&quot;tecla windows&quot;&lt;/span&gt; e &lt;span style=&quot;font-style: italic;&quot;&gt;&quot;tecla +&quot;&lt;/span&gt;, para ampliar &lt;span style=&quot;font-style: italic;&quot;&gt;&quot;tecla windows&quot;&lt;/span&gt; e &lt;span style=&quot;font-style: italic;&quot;&gt;&quot;tecla +&quot;&lt;/span&gt; e para diminuir: &lt;span style=&quot;font-style: italic;&quot;&gt;&quot;tecla windows&quot;&lt;/span&gt; + &lt;span style=&quot;font-style: italic;&quot;&gt;&quot;tecla +&quot;&lt;/span&gt;.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;Abraços.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/7270329752029283418/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/7270329752029283418' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/7270329752029283418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/7270329752029283418'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2009/09/zoom-de-ecra-em-apresentacoes.html' title='Zoom de ecrã em apresentações (revisitado)'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6117543782148434437.post-1541917208208507697</id><published>2009-09-26T16:53:00.010+01:00</published><updated>2009-09-30T23:14:59.162+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Programação"/><title type='text'>Passagem de valores entre Forms em aplicações Windows em C#</title><content type='html'>Colocaram-me a questão de como passar valores entre janelas numa aplicação Windows em C#. Como trabalho substancialmente para a web não soube responder imediatamente, mas uma pesquisa no Google fez-me chegar rapidamente a &lt;span style=&quot;font-style: italic;&quot;&gt;uma&lt;/span&gt; solução. Este é um daquele tipo de coisas que pode ter muitas soluções, é caso para se aplicar o velho ditado &quot;Cada cabeça, sua sentença&quot;!&lt;br /&gt;&lt;br /&gt;A solução que apresento é tão válida como  outra qualquer, desde que responda à questão/problema inicial: &quot;Como passar valores entre forms?&quot;.&lt;br /&gt;&lt;br /&gt;Sendo que todos os forms são objectos e observando que o construtor é fundamental para o arranque do form (já que é ele quem invoca o método InitializeComponent() definido na parte Designer.cs dos forms, podemos usar precisamente o construtor para passar valores de um form para o outro.&lt;br /&gt;&lt;br /&gt;Vamos &quot;esmiuçar&quot; (&lt;a href=&quot;http://pt.wikipedia.org/wiki/Gato_Fedorento_Esmi%C3%BA%C3%A7a_os_Sufr%C3%A1gios&quot;&gt;Gatos, gatos&lt;/a&gt;... o que vocês andam a fazer à sociedade portuguesa!) isto com mais cuidado. Vou criar uma Windows Application em C# com 2 forms com as designações por omissão dadas pelo Visual Studio (Form1 e Form2). Cada um destes Forms correspondem a uma classe que o VS subdivide em 2 partes, uma parte gerida pelo próprio ide (o ficheiro Form1.Designer.cs) e a outra parte que habitualmente usamos para tratar os eventos do form.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOkPMoONMtNJzVdVfsTI5jtiJogYtm9GH70pETaAdjGj2VnB8bDRuyuPDVtOTUtGCwKIyAP5pXGOVumUVLkOc8eiXgwg-QWMbpZo43IbwhijguABDMPQkEd9kTaTU6ezg7FSw85Y6gol0m/s1600-h/SolutionExplorer01.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 199px; height: 146px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOkPMoONMtNJzVdVfsTI5jtiJogYtm9GH70pETaAdjGj2VnB8bDRuyuPDVtOTUtGCwKIyAP5pXGOVumUVLkOc8eiXgwg-QWMbpZo43IbwhijguABDMPQkEd9kTaTU6ezg7FSw85Y6gol0m/s400/SolutionExplorer01.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5385807947618937874&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;O Form1 vai conter uma caixa de texto e um botão que ao ser premido passará o valor escrito na caixa de texto para o Form2. Portanto o Form1 irá conter 2 controlos o textBox1 e o button1, o Form2 conterá apenas um label, o label1.&lt;br /&gt;&lt;br /&gt;No Form2 vamos fazer o overload do construtor (uma característica importante da POO, que pode ser traduzido pela propriedade de podermos ter numa mesma classe diversos métodos com o mesmo nome, mas desde que cada uma das versões tenha uma lista de parâmetros diferente), por forma a passar como parâmetro o form1.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 153);font-size:78%;&quot; &gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.ComponentModel;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.Drawing;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Windows.Forms;&lt;br /&gt;&lt;br /&gt;namespace WindowsApplication1&lt;br /&gt;{&lt;br /&gt;public partial class Form2 : Form&lt;br /&gt;{&lt;br /&gt;public Form2()&lt;br /&gt;{&lt;br /&gt;    InitializeComponent();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public Form2(Form1 frm): this()&lt;br /&gt;{&lt;br /&gt;    label1.Text = frm.txt1.Text;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;/span&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Desta forma, ao instanciarmos um objecto de Form2 podemos opcionalmente indicar que queremos passar para esse objecto um objecto da class Form1.&lt;br /&gt;&lt;br /&gt;Agora podemos através do objecto frm na classe Form2 percorrer os controlos de Form1 ou então podemos tornar o objecto textBox1 do form1 como público! &lt;del&gt;Podemos fazer isso facilmente trocando o acesso no ficheiro Form1.Designer.cs de privado para público&lt;/del&gt; Acrescentando uma propriedade pública ao Form1 correspondente ao controlo textBox1 (este método é mais seguro, já que não se alteram partes do código gerados pelo Visual Studio):&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT_53B9jOwPt1ricUNl0tiAKMSkoNME1rwQ3A0_WNrmZuTRpXCB9AMuWdl4ZEbVsQJrJ2NZTpbf5iejVkWq2UOM1SkcokjpawDDzTtYzvorvzQYdXwXbMQseTs2Epbohtitx3GFxzUJ0CE/s1600-h/Form1.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 323px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT_53B9jOwPt1ricUNl0tiAKMSkoNME1rwQ3A0_WNrmZuTRpXCB9AMuWdl4ZEbVsQJrJ2NZTpbf5iejVkWq2UOM1SkcokjpawDDzTtYzvorvzQYdXwXbMQseTs2Epbohtitx3GFxzUJ0CE/s400/Form1.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5386256129390627938&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Agora no Form2 aceder à textBox1 do form1 é mais simples que descascar uma banana!&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-size:78%;&quot; &gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public Form2(Form1 frm): this()&lt;br /&gt;{&lt;br /&gt; label1.Text = frm.txt1.Text;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Agora já só falta associar ao evento click no form1 a abertura do form2:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 153);font-size:78%;&quot; &gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;using System;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;using System.Collections.Generic;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;using System.ComponentModel;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;using System.Data;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;using System.Drawing;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;using System.Text;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;using System.Windows.Forms;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;namespace WindowsApplication1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;    public partial class Form1 : Form&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;        public Form1()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;            InitializeComponent();&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;        private void button1_Click(object sender, EventArgs e)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;            Form2 f2 = new Form2(this);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;            f2.Show();&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;        }   &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;O espectacular resultado final é este:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX1nL9L2atqYDLoJw03I-SCopOiTKMg0Kk5HGBtoNL02jOF7pmLqE-mEm7-P5WzoVl6Z57hcgweAje1OKGVgoi0buyWY5OeQLN_yeIwbLfvKTQlCNoPxzl_H-YkNg26KDXhnNEqLN5AiIK/s1600-h/Final.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 337px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX1nL9L2atqYDLoJw03I-SCopOiTKMg0Kk5HGBtoNL02jOF7pmLqE-mEm7-P5WzoVl6Z57hcgweAje1OKGVgoi0buyWY5OeQLN_yeIwbLfvKTQlCNoPxzl_H-YkNg26KDXhnNEqLN5AiIK/s400/Final.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5385814786956070194&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Um abraço e boas programações!&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-6516696614633572&quot;;
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = &quot;728x90_as&quot;;
google_ad_type = &quot;text_image&quot;;
google_ad_channel = &quot;&quot;;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
  src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rui-isidro.blogspot.com/feeds/1541917208208507697/comments/default' title='Enviar feedback'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6117543782148434437/1541917208208507697' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/1541917208208507697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6117543782148434437/posts/default/1541917208208507697'/><link rel='alternate' type='text/html' href='http://rui-isidro.blogspot.com/2009/09/passagem-de-valores-entre-forms-em.html' title='Passagem de valores entre Forms em aplicações Windows em C#'/><author><name>Isidro</name><uri>http://www.blogger.com/profile/08942542344505372672</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOkPMoONMtNJzVdVfsTI5jtiJogYtm9GH70pETaAdjGj2VnB8bDRuyuPDVtOTUtGCwKIyAP5pXGOVumUVLkOc8eiXgwg-QWMbpZo43IbwhijguABDMPQkEd9kTaTU6ezg7FSw85Y6gol0m/s72-c/SolutionExplorer01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry></feed>