<?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: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-627268098360004031</id><updated>2011-10-06T07:01:43.034-07:00</updated><title type='text'>Yet Another Stupid Blog</title><subtitle type='html'>Apenas Mais um Blog "estupido" e inutil, com how-to's e tralha!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://yasbmousehouse.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://yasbmousehouse.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Yet Another Stupid Blog</name><uri>http://www.blogger.com/profile/15281400804837781865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-627268098360004031.post-6340199627899774551</id><published>2011-10-06T06:59:00.000-07:00</published><updated>2011-10-06T07:01:43.050-07:00</updated><title type='text'></title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.portugal-a-programar.org/revista-programar/images/ed31.png"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 247px; height: 346px;" src="http://www.portugal-a-programar.org/revista-programar/images/ed31.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Neste mês de Outubro, ainda com o calor à porta, a equipa da Revista  PROGRAMAR não se importa de suar para lhe trazer uma nova edição.&lt;br /&gt;&lt;br /&gt;Nesta  edição continuaremos também a premiar os autores dos três melhores  artigos, dado o sucesso na edição anterior. E os leitores devem dar a  sua opinião para que possamos premiar correctamente. Para isso vote em &lt;a href="http://tiny.cc/ProgramarED31_V" class="bbc_link" target="_blank"&gt;http://tiny.cc/ProgramarED31_V&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Assim nesta edição trazemos até si, como artigo de capa, um artigo sobre &lt;strong&gt;NHibernate&lt;/strong&gt;  com técnicas para software melhor e mais rápido, com a colaboração da  comunidade NetPonto. Nesta 31ª edição pode ainda encontrar os seguintes  artigos:&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;&lt;strong&gt;Geração de Números Aleatórios - Parte 1&lt;/strong&gt;&lt;/li&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;O primeiro de 4 artigos do mesmo autor da excelente série «Programação em Lua», desta vez sobre geração de números aleatórios.&lt;/li&gt;&lt;/ul&gt;  &lt;br /&gt;    &lt;li&gt;&lt;strong&gt;Programar para Windows Azure&lt;/strong&gt;&lt;/li&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;Conheça alguns detalhes bem como alguns cuidados que deveremos ter em conta quando desenvolvemos para esta plataforma.&lt;/li&gt;&lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Programação Orientada a Objectos em Java 6&lt;/strong&gt;&lt;/li&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;Saiba algumas das melhores práticas e métodos de programação neste paradigma em Java 6.&lt;/li&gt;&lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;DataBinding em Silverlight 4&lt;/strong&gt;&lt;/li&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;Conheça o conceito de Databinding na plataforma Silverlight.&lt;/li&gt;&lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;VISUAL (NOT) BASIC - Primeiros Passos com GDI+&lt;/strong&gt;&lt;/li&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;Saiba mais sobre a API responsável por tudo o que nos «chega aos olhos» no mundo Windows.&lt;/li&gt;&lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;CORE DUMP - Martelo &amp;lt;=&amp;gt; Inépcia&lt;/strong&gt;&lt;/li&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;Neste artigo de opinião, conheça segundo o autor, a origem das falhas nas bases de muitos profissionais de TI.&lt;/li&gt;&lt;/ul&gt;  &lt;/ul&gt; &lt;br /&gt;E ainda em colaboração com a comunidade &lt;strong&gt;SharePointPT&lt;/strong&gt;: &lt;br /&gt;  &lt;ul class="bbc_list"&gt;&lt;li&gt;&lt;strong&gt;Padrão alternativo de Sharepoint&lt;/strong&gt;&lt;/li&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;Neste  artigo da comunidade SharePointPT, saiba como desconstruir as  abordagens mais tradicionais, através de uma solução pouco comum através  de uma arquitectura que optimiza os módulos de maior interesse para o  cenário apresentado.&lt;/li&gt;&lt;/ul&gt;  &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/627268098360004031-6340199627899774551?l=yasbmousehouse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yasbmousehouse.blogspot.com/feeds/6340199627899774551/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://yasbmousehouse.blogspot.com/2011/10/neste-mes-de-outubro-ainda-com-o-calor.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/6340199627899774551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/6340199627899774551'/><link rel='alternate' type='text/html' href='http://yasbmousehouse.blogspot.com/2011/10/neste-mes-de-outubro-ainda-com-o-calor.html' title=''/><author><name>Yet Another Stupid Blog</name><uri>http://www.blogger.com/profile/15281400804837781865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-627268098360004031.post-637530272701889733</id><published>2011-08-05T16:45:00.001-07:00</published><updated>2011-08-05T16:50:05.870-07:00</updated><title type='text'>Edição 30 da Revista Programar</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://revista-programar.info/?action=editions&amp;amp;type=viewmagazine&amp;amp;n=30"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 259px; height: 366px;" src="http://www.portugal-a-programar.org/revista-programar/images/ed30.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Verão, Praia e a Revista Programar! ;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Neste mês de Agosto, por muitos aproveitado para férias, a equipa da Revista PROGRAMAR não descansa e traz-lhe uma nova edição.&lt;br /&gt;&lt;br /&gt;Com  esta edição começaremos também a premiar os autores dos três melhores  artigos. E os leitores devem dar a sua opinião para que possamos premiar  correctamente. Para isso vote em &lt;a href="http://tiny.cc/ProgramarED30_V" class="bbc_link" target="_blank"&gt;http://tiny.cc/ProgramarED30_V&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Por isso nesta edição trazemos até si, como artigo de capa, um artigo sobre &lt;strong&gt;Introdução ao Ruby on Rails&lt;/strong&gt;  para ficar a conhecer as bases da tecnologia "Ruby on Rails" para  desenvolvimento de páginas web. Nesta 30ª edição pode ainda encontrar os  seguintes artigos:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;&lt;strong&gt;Lua - Linguagem de Programação (Parte 10)&lt;/strong&gt;&lt;/li&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;A  continuação de um excelente artigo sobre LUA, uma linguagem de  programação pouco conhecida. Nesta décima parte, saiba como embeber a  linguagem LUA em programas escritos em C e C++, bem como pode utilizar  co-rotinas.&lt;/li&gt;&lt;/ul&gt;   &lt;li&gt;&lt;strong&gt;Criar um sistema RSS no Sharepoint através de uma lista de páginas&lt;/strong&gt;&lt;/li&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;Conheça  uma forma simples e eficaz de através de RSS 2.0 fazer um “response”  directamente numa página ASPX com um controlo de utilizador&lt;/li&gt;&lt;/ul&gt;   &lt;li&gt;&lt;strong&gt;Introdução ao Objective-C e à plataforma iOS&lt;/strong&gt;&lt;/li&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;Um  artigo de introdução à linguagem da Apple Objective-C e à plataforma  iOS utilizada nos dispositivos iPod Touch, iPhone e iPad.&lt;/li&gt;&lt;/ul&gt;   &lt;li&gt;&lt;strong&gt;Atributos em C#&lt;/strong&gt;&lt;/li&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;Saiba como colocar metadados em aplicações C# através de atributos.&lt;/li&gt;&lt;/ul&gt;   &lt;li&gt;&lt;strong&gt;VISUAL (NOT) BASIC - Tipos Genéricos&lt;/strong&gt;&lt;/li&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;Conheça estas estruturas que possuem bastantes vantagens sobre os Arrays.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;E em colaboração com a comunidade &lt;strong&gt;AzurePT, SQLPort, NetPonto e SharePointPT&lt;/strong&gt; respectivamente:&lt;br /&gt;&lt;br /&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;&lt;strong&gt;Windows Azure Traffic Manager&lt;/strong&gt;&lt;/li&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;Conheça esta funcionalidade que possibilita a resolução de vários problemas relacionados com Cloud Computing.&lt;/li&gt;&lt;/ul&gt;   &lt;li&gt;&lt;strong&gt;Ferramentas gratuitas de trabalho com SQL Server&lt;/strong&gt;&lt;/li&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;Conheça algumas ferramentas gratuitas que podem facilitar e acelerar o trabalho com o SQL Server.&lt;/li&gt;&lt;/ul&gt;   &lt;li&gt;&lt;strong&gt;NHibernate - do Import Package à primeira iteração&lt;/strong&gt;&lt;/li&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;Como  configurar e utilizar o NHibernate com FluentNHibernate para fazer a  ponte entre as nossas classes em .NET e as nossas tabelas de bases de  dados.&lt;/li&gt;&lt;/ul&gt;   &lt;li&gt;&lt;strong&gt;Sandboxed Solutions em SharePoint Online 2010&lt;/strong&gt;&lt;/li&gt;&lt;ul class="bbc_list"&gt;&lt;li&gt;Veja como criar Sandbox Solution utilizando os diversos Templates disponibilizados para o Visual Studio 2010.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/627268098360004031-637530272701889733?l=yasbmousehouse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yasbmousehouse.blogspot.com/feeds/637530272701889733/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://yasbmousehouse.blogspot.com/2011/08/edicao-30-da-revista-programar.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/637530272701889733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/637530272701889733'/><link rel='alternate' type='text/html' href='http://yasbmousehouse.blogspot.com/2011/08/edicao-30-da-revista-programar.html' title='Edição 30 da Revista Programar'/><author><name>Yet Another Stupid Blog</name><uri>http://www.blogger.com/profile/15281400804837781865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-627268098360004031.post-4076568627129418825</id><published>2011-07-08T08:49:00.000-07:00</published><updated>2011-07-08T08:52:52.946-07:00</updated><title type='text'>Snippet de Codigo VB.NET pra criar directorios</title><content type='html'>Aqui fica um exemplo de codigo de como criar directorios numerados sequencialmente em vb.net.&lt;br /&gt;&lt;br /&gt;Fiz isto porque precisei de criar 140 directorios numerados de uma só vez, e não estava com pachorra de criar um a um.&lt;br /&gt;&lt;br /&gt;Imports System.IO&lt;br /&gt;Public Class Form1&lt;br /&gt;&lt;br /&gt;    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click&lt;br /&gt;        Dim contador As Integer&lt;br /&gt;        Dim max As Integer&lt;br /&gt;        Dim dir As String&lt;br /&gt;        Dim dir2 As String&lt;br /&gt;        dir = "c:\meudirectorio\"&lt;br /&gt;        max = TextBox1.Text&lt;br /&gt;        Try&lt;br /&gt;            For contador = 1 To max&lt;br /&gt;                dir2 = dir &amp;amp; contador&lt;br /&gt;                Directory.CreateDirectory(dir2)&lt;br /&gt;            Next contador&lt;br /&gt;        Catch&lt;br /&gt;        End Try&lt;br /&gt;        MsgBox("Pronto")&lt;br /&gt;    End Sub&lt;br /&gt;End Class&lt;br /&gt;&lt;br /&gt;Na textbox1 é definido o numero do ultimo directório a ser criado.&lt;br /&gt;&lt;br /&gt;Até uma proxima&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/627268098360004031-4076568627129418825?l=yasbmousehouse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yasbmousehouse.blogspot.com/feeds/4076568627129418825/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://yasbmousehouse.blogspot.com/2011/07/snippet-de-codigo-vbnet-pra-criar.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/4076568627129418825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/4076568627129418825'/><link rel='alternate' type='text/html' href='http://yasbmousehouse.blogspot.com/2011/07/snippet-de-codigo-vbnet-pra-criar.html' title='Snippet de Codigo VB.NET pra criar directorios'/><author><name>Yet Another Stupid Blog</name><uri>http://www.blogger.com/profile/15281400804837781865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-627268098360004031.post-2860993946645871083</id><published>2011-06-05T12:08:00.000-07:00</published><updated>2011-06-05T12:15:05.554-07:00</updated><title type='text'>Portugal a Progamar</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;a href="http://www.portugal-a-programar.org/forum/index.php"&gt;Portugal a Programar&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Em dia de calma, escrevo estas breves linhas! :)&lt;br /&gt;&lt;br /&gt;Quem não se recorda dos tempos do Spectrum, dos primeiros PC's dos "tempos em que se programava por prazer, porque era útil, porque era "porreiro", porque se "amava" o que se fazia"?&lt;br /&gt;&lt;br /&gt;Eu faz já alguns anos que me registei numa comunidade de Programadores Portugeses, onde muito li, algo partilhei, muito foi partilhado, na qual me orgulho de participar! Entre outras coisas porque se escreve e lê Português!&lt;br /&gt;&lt;br /&gt;Quem acompanha ou lê este blog, e os meus caros formandos e colegas, que o lêem estão habituados a que publique sobre a revista Programar, tão agradada de todos nós. Quem não está habituado aqui fica o link, para a comunidade.&lt;br /&gt;&lt;br /&gt;Visite, participe, questione! ;)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://www.portugal-a-programar.org/forum/index.php"&gt;Portugal a Programar&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Vá vai ver que não custa nada! ;)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/627268098360004031-2860993946645871083?l=yasbmousehouse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yasbmousehouse.blogspot.com/feeds/2860993946645871083/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://yasbmousehouse.blogspot.com/2011/06/portugal-progamar.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/2860993946645871083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/2860993946645871083'/><link rel='alternate' type='text/html' href='http://yasbmousehouse.blogspot.com/2011/06/portugal-progamar.html' title='Portugal a Progamar'/><author><name>Yet Another Stupid Blog</name><uri>http://www.blogger.com/profile/15281400804837781865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-627268098360004031.post-5699276371507545327</id><published>2011-04-17T13:20:00.000-07:00</published><updated>2011-04-17T13:24:25.882-07:00</updated><title type='text'>Edição 28 da Revista programar</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.revista-programar.info/?action=editions&amp;amp;type=viewmagazine&amp;amp;n=28"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 247px; height: 349px;" src="http://www.portugal-a-programar.org/revista-programar/images/ed28.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Mais uma excelente edição da revista programar :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;Lua - Linguagem de Programação ( Parte 8 )&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;jQuery 1.5 e AJAX&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;Datagrid em Windows Presentation Foundation&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;Planos de Execução em ORACLE&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;Smarty PHP Template Engine&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;CORE DUMP - O X No Quadrado Certo&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;VISUAL (NOT) BASIC - Entity Framework 4.0: Model-First e Code-First&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/627268098360004031-5699276371507545327?l=yasbmousehouse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yasbmousehouse.blogspot.com/feeds/5699276371507545327/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://yasbmousehouse.blogspot.com/2011/04/edicao-28-da-revista-programar.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/5699276371507545327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/5699276371507545327'/><link rel='alternate' type='text/html' href='http://yasbmousehouse.blogspot.com/2011/04/edicao-28-da-revista-programar.html' title='Edição 28 da Revista programar'/><author><name>Yet Another Stupid Blog</name><uri>http://www.blogger.com/profile/15281400804837781865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-627268098360004031.post-544943903572588752</id><published>2011-02-13T13:26:00.000-08:00</published><updated>2011-02-13T13:29:24.332-08:00</updated><title type='text'>Revista Programar Edição 27º</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.portugal-a-programar.org/revista-programar/images/ed27_m.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 100px; height: 141px;" src="http://www.portugal-a-programar.org/revista-programar/images/ed27_m.png" border="0" alt="" /&gt;&lt;/a&gt; Mais uma Edição da Programar.  Vale a pena ler!&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 17px; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px;"&gt;&lt;a href="http://www.portugal-a-programar.org/revista-programar/edicoes/download.php?e=27&amp;amp;t=forum"&gt;Revista Programar Edição 27º&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/627268098360004031-544943903572588752?l=yasbmousehouse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yasbmousehouse.blogspot.com/feeds/544943903572588752/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://yasbmousehouse.blogspot.com/2011/02/revista-programar-edicao-27.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/544943903572588752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/544943903572588752'/><link rel='alternate' type='text/html' href='http://yasbmousehouse.blogspot.com/2011/02/revista-programar-edicao-27.html' title='Revista Programar Edição 27º'/><author><name>Yet Another Stupid Blog</name><uri>http://www.blogger.com/profile/15281400804837781865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-627268098360004031.post-7107694020412454608</id><published>2010-12-13T11:52:00.000-08:00</published><updated>2010-12-13T11:55:49.485-08:00</updated><title type='text'>Comunidade</title><content type='html'>Boa tarde,&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Depois de tanto tempo sem cá publicar nada, agora publico o link, para uma revista em formato electrónico que leio regularmente e me tem cativado a atenção pela excelente qualidade dos conteúdos.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.revista-programar.info/"&gt;http://www.revista-programar.info/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/627268098360004031-7107694020412454608?l=yasbmousehouse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yasbmousehouse.blogspot.com/feeds/7107694020412454608/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://yasbmousehouse.blogspot.com/2010/12/comunidade.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/7107694020412454608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/7107694020412454608'/><link rel='alternate' type='text/html' href='http://yasbmousehouse.blogspot.com/2010/12/comunidade.html' title='Comunidade'/><author><name>Yet Another Stupid Blog</name><uri>http://www.blogger.com/profile/15281400804837781865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-627268098360004031.post-4028511464227739970</id><published>2010-11-16T11:56:00.000-08:00</published><updated>2010-11-16T12:00:33.783-08:00</updated><title type='text'></title><content type='html'>Hoje ao fim de tanto tempo lembrei-me de publicar algo na net, que já fiz à bastante tempo, mas que agora partilho.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Um script para registry do Windows que desabilita os dispositivos de armazenamento em massa USB, mais conhecidos como pen-drives.&lt;div&gt;&lt;pre class="brush: ; ruler: true"&gt;&lt;br /&gt;Windows Registry Editor Version 5.00&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR]&lt;br /&gt;"Type"=dword:00000001&lt;br /&gt;"Start"=dword:00000004&lt;br /&gt;"ErrorControl"=dword:00000001&lt;br /&gt;"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\&lt;br /&gt;52,00,49,00,56,00,45,00,52,00,53,00,5c,00,55,00,53,00,42,00,53,00,54,00,4f,\&lt;br /&gt;00,52,00,2e,00,53,00,59,00,53,00,00,00&lt;br /&gt;"DisplayName"="Controlador de armazenamento de massa USB"&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Security]&lt;br /&gt;"Security"=hex:01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,\&lt;br /&gt;00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\&lt;br /&gt;00,00,02,00,60,00,04,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\&lt;br /&gt;05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\&lt;br /&gt;20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,\&lt;br /&gt;00,18,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,\&lt;br /&gt;00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Enum]&lt;br /&gt;"Count"=dword:00000000&lt;br /&gt;"NextInstance"=dword:00000000&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;E agora o script para reabilitar os dispositivos:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class="brush: ; ruler: true"&gt;Windows Registry Editor Version 5.00&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR]&lt;br /&gt;"Type"=dword:00000001&lt;br /&gt;"Start"=dword:00000003&lt;br /&gt;"ErrorControl"=dword:00000001&lt;br /&gt;"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\&lt;br /&gt; 52,00,49,00,56,00,45,00,52,00,53,00,5c,00,55,00,53,00,42,00,53,00,54,00,4f,\&lt;br /&gt; 00,52,00,2e,00,53,00,59,00,53,00,00,00&lt;br /&gt;"DisplayName"="Controlador de armazenamento de massa USB"&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Security]&lt;br /&gt;"Security"=hex:01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,\&lt;br /&gt; 00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\&lt;br /&gt; 00,00,02,00,60,00,04,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\&lt;br /&gt; 05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\&lt;br /&gt; 20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,\&lt;br /&gt; 00,18,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,\&lt;br /&gt; 00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00&lt;br /&gt;&lt;br /&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Enum]&lt;br /&gt;"Count"=dword:00000000&lt;br /&gt;"NextInstance"=dword:00000000&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/627268098360004031-4028511464227739970?l=yasbmousehouse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yasbmousehouse.blogspot.com/feeds/4028511464227739970/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://yasbmousehouse.blogspot.com/2010/11/hoje-ao-fim-de-tanto-tempo-lembrei-me.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/4028511464227739970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/4028511464227739970'/><link rel='alternate' type='text/html' href='http://yasbmousehouse.blogspot.com/2010/11/hoje-ao-fim-de-tanto-tempo-lembrei-me.html' title=''/><author><name>Yet Another Stupid Blog</name><uri>http://www.blogger.com/profile/15281400804837781865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-627268098360004031.post-3112479373960856469</id><published>2009-12-10T09:59:00.000-08:00</published><updated>2009-12-10T10:00:36.349-08:00</updated><title type='text'>Remodelações</title><content type='html'>Hoje a conselho de um amigo e depois de algum esforço, o blog foi remodelado de forma a incluir o sintaxhighlighter. Deu um bocadito de trabalho para se modificar tanta coisa, mas parece ter valido a pena o efeito&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/627268098360004031-3112479373960856469?l=yasbmousehouse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yasbmousehouse.blogspot.com/feeds/3112479373960856469/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://yasbmousehouse.blogspot.com/2009/12/remodelacoes.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/3112479373960856469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/3112479373960856469'/><link rel='alternate' type='text/html' href='http://yasbmousehouse.blogspot.com/2009/12/remodelacoes.html' title='Remodelações'/><author><name>Yet Another Stupid Blog</name><uri>http://www.blogger.com/profile/15281400804837781865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-627268098360004031.post-7457783044108586629</id><published>2009-10-24T13:08:00.000-07:00</published><updated>2009-12-10T09:59:15.692-08:00</updated><title type='text'>iTextSharp em Visual Basic Dot net</title><content type='html'>&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;&lt;/w:view&gt;&lt;w:trackmoves&gt;&lt;w:trackformatting&gt;&lt;w:punctuationkerning&gt;&lt;w:validateagainstschemas&gt;&lt;w:donotpromoteqf&gt;&lt;w:compatibility&gt;&lt;w:breakwrappedtables&gt;&lt;w:snaptogridincell&gt;&lt;w:wraptextwithpunct&gt;&lt;w:useasianbreakrules&gt;&lt;w:dontgrowautofit&gt;&lt;w:splitpgbreakandparamark&gt;&lt;w:dontvertaligncellwithsp&gt;&lt;w:dontbreakconstrainedforcedtables&gt;&lt;br /&gt;&lt;w:dontvertalignintxbx&gt;&lt;w:word11kerningpairs&gt;&lt;w:cachedcolbalance&gt;&lt;/w:cachedcolbalance&gt;&lt;m:mathpr&gt;&lt;m:mathfont val="Cambria Math"&gt;&lt;m:brkbin val="before"&gt;&lt;m:brkbinsub val="--"&gt;&lt;m:smallfrac val="off"&gt;&lt;m:dispdef&gt;&lt;m:lmargin val="0"&gt;&lt;m:rmargin val="0"&gt;&lt;m:defjc val="centerGroup"&gt;&lt;m:wrapindent val="1440"&gt;&lt;m:intlim val="subSup"&gt;&lt;m:narylim val="undOvr"&gt;&lt;/m:narylim&gt;&lt;/m:intlim&gt;&lt;/m:wrapindent&gt;&lt;!--[endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face  {font-family:"Cambria Math";  panose-1:2 4 5 3 5 4 6 3 2 4;  mso-font-charset:1;  mso-generic-font-family:roman;  mso-font-format:other;  mso-font-pitch:variable;  mso-font-signature:0 0 0 0 0 0;} @font-face  {font-family:Calibri;  panose-1:2 15 5 2 2 2 4 3 2 4;  mso-font-charset:0;  mso-generic-font-family:swiss;  mso-font-pitch:variable;  mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal  {mso-style-unhide:no;  mso-style-qformat:yes;  mso-style-parent:"";  margin-top:0cm;  margin-right:0cm;  margin-bottom:10.0pt;  margin-left:0cm;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:Calibri;  mso-fareast-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;  mso-fareast-language:EN-US;} .MsoChpDefault  {mso-style-type:export-only;  mso-default-props:yes;  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:Calibri;  mso-fareast-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;  mso-fareast-language:EN-US;} .MsoPapDefault  {mso-style-type:export-only;  margin-bottom:10.0pt;  line-height:115%;} @page Section1  {size:612.0pt 792.0pt;  margin:70.85pt 3.0cm 70.85pt 3.0cm;  mso-header-margin:36.0pt;  mso-footer-margin:36.0pt;  mso-paper-source:0;} div.Section1  {page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Tabela normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0cm 5.4pt 0cm 5.4pt;  mso-para-margin-top:0cm;  mso-para-margin-right:0cm;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0cm;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;Recentemente utilizei um componente gratuito em Visual Basic Dot Net que me pareceu digno de ser dado a conhecer. Trata-se do iTextSharp. Esta simples biblioteca permite muito mais do que o nome sugere. Além de permitir gerar ficheiros Portable Document Format a partir de programas feitos em Visual Basic Dot Net.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Existem bons exemplos feitos em C#, e alguns em VB, mas são muito poucos. Gerar PDF’s a partir de VB sem recurso a ferramentas proprietárias não é complicado, desde que se conheçam os componentes correctos e se lhes dê uso.&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;O código que abaixo apresento gera um documento pdf e foi colocado num botão, para simplificar as coisas. Existem formas de fazer Reports, assinar digitalmente documentos, cifrar documentos, entre outras coisas com o iTextSharp. Eu apenas me concentrei em fazer um exemplo o mais simples possível. O limite é virtualmente a imaginação do programador.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;&lt;/w:view&gt;&lt;w:trackmoves&gt;&lt;w:trackformatting&gt;&lt;w:punctuationkerning&gt;&lt;w:validateagainstschemas&gt;&lt;w:donotpromoteqf&gt;&lt;w:lidthemecomplexscript&gt;&lt;/w:lidthemecomplexscript&gt; &lt;w:compatibility&gt;&lt;w:breakwrappedtables&gt;&lt;w:snaptogridincell&gt;&lt;w:wraptextwithpunct&gt;&lt;w:useasianbreakrules&gt;&lt;w:dontgrowautofit&gt;&lt;w:splitpgbreakandparamark&gt;&lt;w:dontvertaligncellwithsp&gt;&lt;w:dontbreakconstrainedforcedtables&gt;&lt;w:dontvertalignintxbx&gt;&lt;w:word11kerningpairs&gt;&lt;w:cachedcolbalance&gt;&lt;/w:cachedcolbalance&gt;&lt;m:mathpr&gt;&lt;m:mathfont val="Cambria Math"&gt;&lt;m:brkbin val="before"&gt;&lt;m:brkbinsub val="--"&gt;&lt;m:smallfrac val="off"&gt;&lt;m:dispdef&gt;&lt;m:lmargin val="0"&gt;&lt;m:rmargin val="0"&gt;&lt;m:defjc val="centerGroup"&gt;&lt;m:wrapindent val="1440"&gt;&lt;m:intlim val="subSup"&gt;&lt;m:narylim val="undOvr"&gt;&lt;/m:narylim&gt;&lt;/m:intlim&gt;&lt;/m:wrapindent&gt;&lt;!--[endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face  {font-family:"Cambria Math";  panose-1:2 4 5 3 5 4 6 3 2 4;  mso-font-charset:1;  mso-generic-font-family:roman;  mso-font-format:other;  mso-font-pitch:variable;  mso-font-signature:0 0 0 0 0 0;} @font-face  {font-family:Calibri;  panose-1:2 15 5 2 2 2 4 3 2 4;  mso-font-charset:0;  mso-generic-font-family:swiss;  mso-font-pitch:variable;  mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal  {mso-style-unhide:no;  mso-style-qformat:yes;  mso-style-parent:"";  margin-top:0cm;  margin-right:0cm;  margin-bottom:10.0pt;  margin-left:0cm;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:Calibri;  mso-fareast-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;  mso-fareast-language:EN-US;} .MsoChpDefault  {mso-style-type:export-only;  mso-default-props:yes;  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:Calibri;  mso-fareast-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;  mso-fareast-language:EN-US;} .MsoPapDefault  {mso-style-type:export-only;  margin-bottom:10.0pt;  line-height:115%;} @page Section1  {size:612.0pt 792.0pt;  margin:70.85pt 3.0cm 70.85pt 3.0cm;  mso-header-margin:36.0pt;  mso-footer-margin:36.0pt;  mso-paper-source:0;} div.Section1  {page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Tabela normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0cm 5.4pt 0cm 5.4pt;  mso-para-margin-top:0cm;  mso-para-margin-right:0cm;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0cm;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;/m:defjc&gt;&lt;/m:rmargin&gt;&lt;/m:lmargin&gt;&lt;/m:dispdef&gt;&lt;/m:smallfrac&gt;&lt;/m:brkbinsub&gt;&lt;/m:brkbin&gt;&lt;/m:mathfont&gt;&lt;/m:mathpr&gt;&lt;/w:word11kerningpairs&gt;&lt;/w:dontvertalignintxbx&gt;&lt;/w:dontbreakconstrainedforcedtables&gt;&lt;/w:dontvertaligncellwithsp&gt;&lt;/w:splitpgbreakandparamark&gt;&lt;/w:dontgrowautofit&gt;&lt;/w:useasianbreakrules&gt;&lt;/w:wraptextwithpunct&gt;&lt;/w:snaptogridincell&gt;&lt;/w:breakwrappedtables&gt;&lt;/w:compatibility&gt;&lt;/w:donotpromoteqf&gt;&lt;/w:validateagainstschemas&gt;&lt;/w:punctuationkerning&gt;&lt;/w:trackformatting&gt;&lt;/w:trackmoves&gt;&lt;/w:worddocument&gt;&lt;/xml&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Inicialmente indico ao VB que vou precisar dos seguintes componentes:&lt;/p&gt;&lt;/m:defjc&gt;&lt;/m:rmargin&gt;&lt;/m:lmargin&gt;&lt;/m:dispdef&gt;&lt;/m:smallfrac&gt;&lt;/m:brkbinsub&gt;&lt;/m:brkbin&gt;&lt;/m:mathfont&gt;&lt;/m:mathpr&gt;&lt;/w:word11kerningpairs&gt;&lt;/w:dontvertalignintxbx&gt;&lt;/w:dontbreakconstrainedforcedtables&gt;&lt;/w:dontvertaligncellwithsp&gt;&lt;/w:splitpgbreakandparamark&gt;&lt;/w:dontgrowautofit&gt;&lt;/w:useasianbreakrules&gt;&lt;/w:wraptextwithpunct&gt;&lt;/w:snaptogridincell&gt;&lt;/w:breakwrappedtables&gt;&lt;/w:compatibility&gt;&lt;/w:donotpromoteqf&gt;&lt;/w:validateagainstschemas&gt;&lt;/w:punctuationkerning&gt;&lt;/w:trackformatting&gt;&lt;/w:trackmoves&gt;&lt;/w:worddocument&gt;&lt;/xml&gt;&lt;br /&gt;&lt;pre class="brush: vb; ruler: true"&gt;Imports iTextSharp&lt;br /&gt;Imports iTextSharp.text&lt;br /&gt;Imports iTextSharp.text.pdf&lt;br /&gt;Imports iTextSharp.text.xml&lt;br /&gt;Imports System.IO&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Nem todos os programadores escrevem bem Português! Mas isso não faz deles menores.&lt;br /&gt;Agora num botão normal coloco o código que vai gerar o ficheiro .pdf em c:\ , o documento é formatado em A4, com margens, e apenas inclui alguns parágrafos e pedaços de código não formatados. Penso que para iniciar será melhor assim.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: vb; ruler: true"&gt;&lt;br /&gt;Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click&lt;br /&gt;  'Cria uma class de objectos Documento e define o formato de página (A4), a margem esquerda, direita, superior e inferior&lt;br /&gt;  Dim doc As New Document(iTextSharp.text.PageSize.A4, 10, 10, 42, 35)&lt;br /&gt;  Try&lt;br /&gt;      Dim wri As PdfWriter = PdfWriter.GetInstance(doc, New FileStream("c:\PAP.pdf", FileMode.Create))&lt;br /&gt;      'Abre o documento para Escrita&lt;br /&gt;      doc.Open()&lt;br /&gt;      'Escreve algum conteudo no documento&lt;br /&gt;      Dim paragraph As New Paragraph("Esta é a Primeira linha do primeiro paragrafo deste exemplo.")&lt;br /&gt;      Dim pharse As New Phrase("Esta é a segunda linha usando uma fraze.")&lt;br /&gt;      Dim chunk As New Chunk(" Esta é a terceira linha usando um Chunk (pedaço desformatado).")&lt;br /&gt;      Dim blankline As New Paragraph(" ")&lt;br /&gt;&lt;br /&gt;      ' Agora adiciona o texto criado acima utilizadno diferentes objectos de class para o documento pdf&lt;br /&gt;      doc.Add(paragraph)&lt;br /&gt;      doc.Add(pharse)&lt;br /&gt;      doc.Add(chunk)&lt;br /&gt;      doc.Add(blankline)&lt;br /&gt;&lt;br /&gt;  Catch dex As DocumentException&lt;br /&gt;      'Trata das excepções de Documento&lt;br /&gt;  Catch ioex As IOException&lt;br /&gt;      'Trada das excepções de input/output&lt;br /&gt;  Catch ex As Exception&lt;br /&gt;      'trata das restantes excepções&lt;br /&gt;  Finally&lt;br /&gt;      'fecha o documento&lt;br /&gt;      doc.Close()&lt;br /&gt;  End Try&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;End Class&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;Acima deixo um exemplo basico de algo que eu pesquisei e não encontrei, dedicado a quem precisar e agora encontre. Porque partilhar Código e Know-How é mais do que uma simples "politica", é disponibilizar aos outros o que gostariamos que nos disponibilizassem a nós!&lt;br /&gt;&lt;br /&gt;Se por algum acaso achares este How-To inutil, diz! Manda um mail! Diz o quão inutil ele é! Pois para um "Blog Estipido (Yet Another Stupid Blog)" é mesmo disto que ele precisa!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/627268098360004031-7457783044108586629?l=yasbmousehouse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yasbmousehouse.blogspot.com/feeds/7457783044108586629/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://yasbmousehouse.blogspot.com/2009/10/itextsharp-em-visual-basic-dot-net.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/7457783044108586629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/7457783044108586629'/><link rel='alternate' type='text/html' href='http://yasbmousehouse.blogspot.com/2009/10/itextsharp-em-visual-basic-dot-net.html' title='iTextSharp em Visual Basic Dot net'/><author><name>Yet Another Stupid Blog</name><uri>http://www.blogger.com/profile/15281400804837781865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-627268098360004031.post-4466373990034538997</id><published>2009-10-18T15:01:00.000-07:00</published><updated>2009-12-10T09:07:23.003-08:00</updated><title type='text'>3DES VB Dot NET</title><content type='html'>Hoje escrevo um pedaço de codigo (duas funções) para utilização de Triple DES em VB Dot NET, pois passei algumas horas na net em busca de um exemplo de como fazer isto e não encontrei nada! :(&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: vb; ruler: true"&gt;&lt;br /&gt;&lt;br /&gt;Public Function DecryptString(ByVal EncryptedString As String,&lt;br /&gt;ByVal EncryptionKey As String) As String&lt;br /&gt;&lt;br /&gt;      Try&lt;br /&gt;          Dim Deskey() As Byte = {}&lt;br /&gt;          Dim inputByteArray(EncryptedString.Length) As Byte&lt;br /&gt;&lt;br /&gt;          If EncryptionKey.Length = 0 Then&lt;br /&gt;              Return "Erro - Falta a Chave"&lt;br /&gt;&lt;br /&gt;          Else&lt;br /&gt;              Deskey = System.Text.Encoding.UTF8.GetBytes(EncryptionKey.Substring(0, 24))&lt;br /&gt;&lt;br /&gt;          End If&lt;br /&gt;          Dim CSPSym As New TripleDESCryptoServiceProvider&lt;br /&gt;&lt;br /&gt;          inputByteArray = Convert.FromBase64String(EncryptedString)&lt;br /&gt;&lt;br /&gt;          Dim DecryptMemoryStream As New MemoryStream&lt;br /&gt;          Dim DecryptCryptoStream As New &lt;br /&gt;CryptoStream(DecryptMemoryStream, CSPSym.CreateDecryptor(Deskey, &lt;br /&gt;myDESIV), CryptoStreamMode.Write)&lt;br /&gt;&lt;br /&gt;DecryptCryptoStream.Write(inputByteArray, 0, inputByteArray.Length)&lt;br /&gt;DecryptCryptoStream.FlushFinalBlock()&lt;br /&gt;&lt;br /&gt;Catch exCryptoError As Exception&lt;br /&gt;Return exCryptoError.Message&lt;br /&gt;End Try&lt;br /&gt;Return ""&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;Private Function EncryptString(ByVal PlainTextString As String, ByVal EncryptionKey As String) As String&lt;br /&gt;      Dim DESKey() As Byte = {}&lt;br /&gt;      Try&lt;br /&gt;          If EncryptionKey.Length = 0 Then&lt;br /&gt;              Return "Erro - Falta chave de Encriptacao"&lt;br /&gt;&lt;br /&gt;          Else&lt;br /&gt;  DESKey = System.Text.Encoding.UTF8.GetBytes(EncryptionKey.Substring(0, 24))&lt;br /&gt;          End If&lt;br /&gt;&lt;br /&gt;          Dim CSPSym As New TripleDESCryptoServiceProvider&lt;br /&gt;          Dim inputByteArray() As Byte = System.Text.Encoding.UTF8.GetBytes(PlainTextString)&lt;br /&gt;&lt;br /&gt;          Dim EncryptMemoryStream As New MemoryStream&lt;br /&gt;          Dim EncryptCryptoStream As New CryptoStream(EncryptMemoryStream, CSPSym.CreateEncryptor(DESKey, myDESIV), CryptoStreamMode.Write)&lt;br /&gt;          EncryptCryptoStream.Write(inputByteArray, 0, inputByteArray.Length)&lt;br /&gt;          EncryptCryptoStream.FlushFinalBlock()&lt;br /&gt;&lt;br /&gt;          Return Convert.ToBase64String(EncryptMemoryStream.ToArray())&lt;br /&gt;&lt;br /&gt;      Catch exCryptoError As Exception&lt;br /&gt;          Return exCryptoError.Message&lt;br /&gt;      End Try&lt;br /&gt;&lt;br /&gt;  End Function&lt;br /&gt;&lt;br /&gt;Private codificakey ( )&lt;br /&gt;&lt;br /&gt;      Dim Secretkey As String = "*896&amp;amp;*(%HUYFteu27^5452ewe"&lt;br /&gt;      Dim EncryptedPassword As String = EncryptString(Password, Secretkey)&lt;br /&gt;      Dim valorsenha As String&lt;br /&gt;&lt;br /&gt;      password = txtSenha.Text&lt;br /&gt;      password = EncryptString(password, Secretkey)&lt;br /&gt;      valorsenha = password&lt;br /&gt;      MsgBox(valorsenha)&lt;br /&gt;&lt;br /&gt;End sub&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Espero que isto seja util para alguém ;) Afinal de contas TripleDES ainda é das formas seguras de guardar dados ;)&lt;br /&gt;&lt;br /&gt;Dedicado a uma Anjo Tigre que me serviu de inspiração! 88 teclas, 9 anos, 7 dias e muita paciencia... para me servir de inspiração ainda nos dias que correm!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/627268098360004031-4466373990034538997?l=yasbmousehouse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yasbmousehouse.blogspot.com/feeds/4466373990034538997/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://yasbmousehouse.blogspot.com/2009/10/3des-vb-dot-net.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/4466373990034538997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/4466373990034538997'/><link rel='alternate' type='text/html' href='http://yasbmousehouse.blogspot.com/2009/10/3des-vb-dot-net.html' title='3DES VB Dot NET'/><author><name>Yet Another Stupid Blog</name><uri>http://www.blogger.com/profile/15281400804837781865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-627268098360004031.post-1535156721620899586</id><published>2009-10-01T07:30:00.000-07:00</published><updated>2009-10-01T07:42:29.280-07:00</updated><title type='text'>Recuperar uma BD de ACCESS MDB</title><content type='html'>Desta vez o How-to, vai ser sobre um "truque" já antigo mas ainda muito util: Como recuperar uma Base de dados em formato .MDB que tenha ficado ligeiramente corrompida:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1-&lt;/span&gt; &lt;span style="font-style: italic;"&gt;Fazer uma cópia de segurança da base de dados&lt;/span&gt; (Italico porque muita gente não o faz, salta este paço importantissimo)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2-&lt;/span&gt; Abrir o &lt;span style="font-weight: bold;"&gt;Painel de Controlo&lt;/span&gt; no &lt;span style="font-weight: bold;"&gt;Menu iniciar&lt;/span&gt; do Microsoft Windows&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3-&lt;/span&gt; Duplo click no icon &lt;span style="font-weight: bold;"&gt;Ferramentas administrativas&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4-&lt;/span&gt; Dentro das ferramentas Administrativas Duplo-Click em &lt;span style="font-weight: bold;"&gt;Origem de dados (ODBC)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5-&lt;/span&gt; Abrir o Separador &lt;span style="font-weight: bold;"&gt;DSN de Sistema&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;6-&lt;/span&gt; Clicar no Botão &lt;span style="font-weight: bold;"&gt;Configurar&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;7-&lt;/span&gt; Clicar no botão &lt;span style="font-weight: bold;"&gt;Reparar&lt;br /&gt;&lt;br /&gt;8- &lt;/span&gt;Navegar até ao ficheiro de base de dados que pertendemos reparar e seleciona-lo&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;9-&lt;/span&gt; Clicar no botão &lt;span style="font-weight: bold;"&gt;OK&lt;br /&gt;&lt;br /&gt;10- &lt;/span&gt;Deve aparecer uma &lt;span style="font-weight: bold;"&gt;caixa de mensagem&lt;/span&gt; com a informação de que a base de dados foi reparada com sucesso. Assim a base de dados estará pronta a ser utilizara&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xh7Jhb4qb8U/SsS_jKZZfDI/AAAAAAAAAAU/MW-SvMzP8LI/s1600-h/repararbdmdb2.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 300px;" src="http://4.bp.blogspot.com/_xh7Jhb4qb8U/SsS_jKZZfDI/AAAAAAAAAAU/MW-SvMzP8LI/s320/repararbdmdb2.jpg" alt="" id="BLOGGER_PHOTO_ID_5387641665049164850" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xh7Jhb4qb8U/SsS_iygJXUI/AAAAAAAAAAM/FopVcQVNBcE/s1600-h/repararbdmdb.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 204px;" src="http://3.bp.blogspot.com/_xh7Jhb4qb8U/SsS_iygJXUI/AAAAAAAAAAM/FopVcQVNBcE/s320/repararbdmdb.jpg" alt="" id="BLOGGER_PHOTO_ID_5387641658635017538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Boa utilização!&lt;br /&gt;&lt;br /&gt;(Conhecimento é puder, use-o com sabedoria)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/627268098360004031-1535156721620899586?l=yasbmousehouse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yasbmousehouse.blogspot.com/feeds/1535156721620899586/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://yasbmousehouse.blogspot.com/2009/10/recuperar-uma-bd-de-access-mdb.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/1535156721620899586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/1535156721620899586'/><link rel='alternate' type='text/html' href='http://yasbmousehouse.blogspot.com/2009/10/recuperar-uma-bd-de-access-mdb.html' title='Recuperar uma BD de ACCESS MDB'/><author><name>Yet Another Stupid Blog</name><uri>http://www.blogger.com/profile/15281400804837781865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xh7Jhb4qb8U/SsS_jKZZfDI/AAAAAAAAAAU/MW-SvMzP8LI/s72-c/repararbdmdb2.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-627268098360004031.post-9167800050738630555</id><published>2009-09-24T00:58:00.000-07:00</published><updated>2009-09-24T05:36:24.602-07:00</updated><title type='text'>Fazer o Windows Ver uma PEN/Unidade Flash como um disco local</title><content type='html'>&lt;div style="FONT-WEIGHT: bold; TEXT-ALIGN: center"&gt; &lt;/div&gt;Como fazer o Windows detectar memória flash como se fosse um disco rígido (testado&lt;br /&gt;em XP e Vista)&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Teoria:&lt;/span&gt; O Windows detecta as unidades usb como sendo unidades amovíveis, o truque&lt;br /&gt;é fazer com que o Sistema Operativo (Windows) veja determinada pen (Marca e modelo&lt;br /&gt;expecifico) como sendo um disco rígido, cada vez que a unidade seja ligada numa porta&lt;br /&gt;USB da maquina onde o driver foi instalado&lt;br /&gt;&lt;br /&gt;Pré-Requisitos:&lt;br /&gt;· Dirver &lt;a href="http://www.mediafire.com/?oqlgdvcymzz"&gt;USB_Local_Disk&lt;/a&gt;&lt;br /&gt;· &lt;a href="http://sourceforge.net/projects/notepad-plus/files/notepad%2B%2B%20releases%20binary/npp%205.5%20bin/npp.5.5.Installer.exe/download"&gt;Notepad ++&lt;/a&gt; ou outro editor ASCII&lt;br /&gt;&lt;br /&gt;Como fazer o Windows detectar a memória flash como um disco:&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;1. &lt;/span&gt;Numa maquina Windows liga a pen na porta USB&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;br /&gt;2. &lt;/span&gt;Partindo do pressuposto que usas notepad++ não precisas de o sacar, se não usas Google e saca!&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;br /&gt;3.&lt;/span&gt; Copia o ficheiro USB_Localdisk.zip para o teu ambiente de trabalho e descompacta-o&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;br /&gt;4.&lt;/span&gt; Abre com o notepad++ o ficheiro cfadisk.inf que está na pasta onde acabaste de descomprimir o zip&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;5. &lt;/span&gt;Vai até à linha 26 do ficheiro cfadisk.inf . Aqui selecionas o texto Nome_da_instancia_da_pen. E deixa o file aberto&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;br /&gt;6.&lt;/span&gt; Apartir do Windows segue os seguintes paços Iniciar-&gt; Executar e digita devmgmt.msc depois clica Ok&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;br /&gt;7. &lt;/span&gt;Em Unidades de disco, faz duplo click na tua unidade "USB Flash":&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;br /&gt;8.&lt;/span&gt; Na janela de Propriedades clica em Detalhes. Seleciona o texto em ID de Instancia de Dispositivo e faz crtl+c&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;9. &lt;/span&gt;Agora na selecção que fizeste antes, na linha 26 faz ctrl+v Grava e feixa&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;10.&lt;/span&gt; Clicka no Iniciar-&gt; Executar e digita devmgmt.msc clicak Ok voltas ao gestor de dispositivos.&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;br /&gt;11.&lt;/span&gt; Em Unidades de Disco, vai até à pen click-direito e seleciona a opção Actualizar Controlador:&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;br /&gt;12.&lt;/span&gt; Escolhe Não&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;br /&gt;13. &lt;/span&gt;Seguinte e Instalar apartir de uma lista ou localização especifica&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;br /&gt;14.&lt;/span&gt; Seguint, escolhe Não eu escolherei o controlador a instalar&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;br /&gt;15.&lt;/span&gt; Escolhe Disco e vai até onde gravaste a pasta que descomprimiste e o ficheiro que modificas-te (USB_LocalDisk) . Seleciona cfadisk.inf clica Open e OK&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;br /&gt;16.&lt;/span&gt; Vais receber os avisos idiotas do Windows sobre o Driver (Manda pastar)&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;br /&gt;17.&lt;/span&gt; Pronto a bombar (Deves ver a pen como se fosse um disco local! Copia para lá os files .mdf e .ldf e faz o atach no SQL Studio&lt;br /&gt;&lt;br /&gt;Notas: Sempre que quizeres utilizar um dispositivo de marca ou modelo diferente para&lt;br /&gt;este efeito basta seguires estes paços (uma vez para cada marca e modelo)&lt;br /&gt;&lt;br /&gt;P.S.: Se gostas-te do How-to pensa que alguém teve de tomar muito Cafézinho para o escrever!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/627268098360004031-9167800050738630555?l=yasbmousehouse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yasbmousehouse.blogspot.com/feeds/9167800050738630555/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://yasbmousehouse.blogspot.com/2009/09/fazer-o-windows-ver-uma-penunidade.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/9167800050738630555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/9167800050738630555'/><link rel='alternate' type='text/html' href='http://yasbmousehouse.blogspot.com/2009/09/fazer-o-windows-ver-uma-penunidade.html' title='Fazer o Windows Ver uma PEN/Unidade Flash como um disco local'/><author><name>Yet Another Stupid Blog</name><uri>http://www.blogger.com/profile/15281400804837781865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-627268098360004031.post-7573714757496636485</id><published>2009-09-24T00:57:00.000-07:00</published><updated>2009-09-24T00:58:53.194-07:00</updated><title type='text'>YASB</title><content type='html'>Como ideia surgida durante a passada madruga hoje, inicia-se o YASB (Yet Another Stupid Blog) Apenas Mais um Blog Estupido!&lt;br /&gt;&lt;br /&gt;Vamos ver quanto tempo irá durar, e esperar que os how-to's que vão ser disponibilizados sejam uteis!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/627268098360004031-7573714757496636485?l=yasbmousehouse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yasbmousehouse.blogspot.com/feeds/7573714757496636485/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://yasbmousehouse.blogspot.com/2009/09/yasb.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/7573714757496636485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/627268098360004031/posts/default/7573714757496636485'/><link rel='alternate' type='text/html' href='http://yasbmousehouse.blogspot.com/2009/09/yasb.html' title='YASB'/><author><name>Yet Another Stupid Blog</name><uri>http://www.blogger.com/profile/15281400804837781865</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
