domingo, 5 de junho de 2011

Portugal a Progamar


Em dia de calma, escrevo estas breves linhas! :)

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"?

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!

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.

Visite, participe, questione! ;)

Portugal a Programar

Vá vai ver que não custa nada! ;)

segunda-feira, 13 de dezembro de 2010

Comunidade

Boa tarde,

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.



terça-feira, 16 de novembro de 2010

Hoje ao fim de tanto tempo lembrei-me de publicar algo na net, que já fiz à bastante tempo, mas que agora partilho.

Um script para registry do Windows que desabilita os dispositivos de armazenamento em massa USB, mais conhecidos como pen-drives.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR]
"Type"=dword:00000001
"Start"=dword:00000004
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
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,\
00,52,00,2e,00,53,00,59,00,53,00,00,00
"DisplayName"="Controlador de armazenamento de massa USB"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Security]
"Security"=hex:01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,\
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,\
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,\
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,\
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,\
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,\
00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Enum]
"Count"=dword:00000000
"NextInstance"=dword:00000000

E agora o script para reabilitar os dispositivos:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR]
"Type"=dword:00000001
"Start"=dword:00000003
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
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,\
00,52,00,2e,00,53,00,59,00,53,00,00,00
"DisplayName"="Controlador de armazenamento de massa USB"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Security]
"Security"=hex:01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,\
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,\
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,\
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,\
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,\
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,\
00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Enum]
"Count"=dword:00000000
"NextInstance"=dword:00000000



quinta-feira, 10 de dezembro de 2009

Remodelações

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

sábado, 24 de outubro de 2009

iTextSharp em Visual Basic Dot net



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.
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.
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.

Inicialmente indico ao VB que vou precisar dos seguintes componentes:



Nem todos os programadores escrevem bem Português! Mas isso não faz deles menores.
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.

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click  
  'Cria uma class de objectos Documento e define o formato de página (A4), a margem esquerda, direita, superior e inferior  
  Dim doc As New Document(iTextSharp.text.PageSize.A4, 10, 10, 42, 35)  
  Try  
    Dim wri As PdfWriter = PdfWriter.GetInstance(doc, New FileStream("c:\PAP.pdf", FileMode.Create))  
    'Abre o documento para Escrita  
    doc.Open()  
    'Escreve algum conteudo no documento  
    Dim paragraph As New Paragraph("Esta é a Primeira linha do primeiro paragrafo deste exemplo.")  
    Dim pharse As New Phrase("Esta é a segunda linha usando uma fraze.")  
    Dim chunk As New Chunk(" Esta é a terceira linha usando um Chunk (pedaço desformatado).")  
    Dim blankline As New Paragraph(" ")  
    ' Agora adiciona o texto criado acima utilizadno diferentes objectos de class para o documento pdf  
    doc.Add(paragraph)  
    doc.Add(pharse)  
    doc.Add(chunk)  
    doc.Add(blankline)  
  Catch dex As DocumentException  
    'Trata das excepções de Documento  
  Catch ioex As IOException  
    'Trada das excepções de input/output  
  Catch ex As Exception  
    'trata das restantes excepções  
  Finally  
    'fecha o documento  
    doc.Close()  
  End Try  
 End Sub  
 End Class  


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!

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!

domingo, 18 de outubro de 2009

3DES VB Dot NET

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! :(

Espero que isto seja util para alguém ;) Afinal de contas TripleDES ainda é das formas seguras de guardar dados ;)

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!

quinta-feira, 1 de outubro de 2009

Recuperar uma BD de ACCESS MDB

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:

1- Fazer uma cópia de segurança da base de dados (Italico porque muita gente não o faz, salta este paço importantissimo)

2- Abrir o Painel de Controlo no Menu iniciar do Microsoft Windows
3- Duplo click no icon Ferramentas administrativas

4- Dentro das ferramentas Administrativas Duplo-Click em Origem de dados (ODBC)
5- Abrir o Separador DSN de Sistema

6- Clicar no Botão Configurar

7- Clicar no botão Reparar

8-
Navegar até ao ficheiro de base de dados que pertendemos reparar e seleciona-lo

9- Clicar no botão OK

10-
Deve aparecer uma caixa de mensagem com a informação de que a base de dados foi reparada com sucesso. Assim a base de dados estará pronta a ser utilizara






Boa utilização!

(Conhecimento é puder, use-o com sabedoria)