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! ;)
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.
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: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
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!
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)
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)
Assinar:
Postagens (Atom)