tag:blogger.com,1999:blog-87408442024-03-13T16:37:27.607-03:00Programando por ProfissãoPolindo bits e bytes todos os dias!Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.comBlogger62125tag:blogger.com,1999:blog-8740844.post-35484163396223833512018-04-29T18:57:00.000-03:002018-04-29T18:58:28.117-03:00Como gerar log num arquivo e no console usando logging?O jeito mais fácil de configurar a geração de log através do módulo logging (veja a documentação oficial) para diferentes destinos é usar a propriedade handlers do basicConfig: import logging
# ...
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s %(levelname)s - %(message)s',
handlers=[
logging.FileHandler(__file__.replace('.py', '.log')),
logging.StreamHandler(Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-51197725830734934672015-10-02T13:55:00.000-03:002015-10-06T11:05:59.990-03:00Depois de tanto tempo...Fazem alguns anos desde a última vez que escrevi neste blog.
Mudanças na minha vida pessoal e profissional me levaram a abandonar o blog mas, para minha surpresa, mesmo não havendo conteúdo atualizado, estas páginas recebem diariamente visitantes.
Anos atrás a maior parte do meu trabalho era focado em Delphi e um pouco de C#, participava em fóruns e tinha forte interesse nos acontecimentos da Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-31343665110313289242008-06-11T15:15:00.002-03:002008-06-11T23:35:44.756-03:00Destaques do diaToo Loosely Coupled Code
Uma discussão interessante sobre acoplamento/desacoplamento de código, com exemplos. Leia mais.
HTML Viewer Components v.9.45
Este era um pacote comercial que recentemente foi posto em domínio público pelo autor. No pacote tem 3 componente para visualizar documentos HTML escritos totalmente em Delphi. Leia mais (ou pegue o componente no torry.net).Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-1266005828526152882008-06-09T16:56:00.001-03:002008-06-09T23:25:39.146-03:00Destaques do DiaCode is not self documenting
Jared Parsons, um membro da equipe de desenvolvimento do VB, comenta porque a recomendação de que "código deve ser auto-documentado" nem sempre pode ser seguida. Leia mais.Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-71743558132059028232008-06-09T16:48:00.002-03:002008-06-09T16:54:51.976-03:00MSDN Magazine Junho/2008A MSDN Magazine de Junho está disponível no site da Microsoft. Destaque para o artigo Tools and Techniques to Identify Concurrency Issues e, na nova coluna Patterns in Practice, uma discussão sobre o The Open Closed Principle.Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-41213252668580215672008-06-06T10:14:00.002-03:002008-06-06T19:51:22.257-03:00Destaques do Dia"The Big Brother" Delphi Code Toolkit
Zarko Gajic, mantenedor do site delphi.about.com, escreveu uma série de três artigos abordando como ocultar um programa do Windows, como desabilitar recursos do Windows e como monitorar alterações no Windows (pegadinha: precisa de um componente de terceiros na segunda parte da série). Leia mais.Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-80915223443956141402008-06-05T09:35:00.011-03:002008-06-05T16:22:24.880-03:00Destaques do DiaTDD Tips: Test Naming Conventions & Guidelines
Para quem está iniciando em Test Driven Development... conheça a nomenclatura básica do TDD bem como algumas sugestões sobre como implementar seus testes. Leia mais.
Use more than 4GB RAM wih Win32
Lars Dybdahl (mantenedor da versão do GNU Gettext para Delphi) explica como alocar mais de 4GB de memória num aplicativo Win32 (pegadinha: pelo que Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-28600383727485041802007-12-11T14:24:00.000-02:002007-12-11T14:27:34.237-02:00MSDN Magazine Dezembro/2007A MSDN Magazine de Dezembro já está disponível no site da Microsoft. Destaque para uso do WCF, WPF e LINQ com o Office e, na coluna Cutting Edge, uma visão geral do Microsoft AJAX.Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-35353581588621321102007-11-15T15:51:00.000-02:002007-11-15T15:57:51.841-02:00Problemas com Indy 10Atualizei hoje meu artigo Como enviar email usando Indy 10.
Indy 10 é uma versão que está em desenvolvimento. Entre o dia que escrevi o artigo e hoje, a implementação dos mecanismos de autenticação do servidor SMTP sofreu algumas alterações que simplemente o código exemplo original deixou de funcionar.
Pessoalmente, acho problemático adotar o Indy 10 em código de produção, já que é frequente Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-1117531795085846022007-10-13T09:59:00.000-03:002007-10-13T10:02:44.237-03:00MSDN Magazine Novembro/2007A MSDN Magazine de Novembro já está disponível no site da Microsoft. Destaque para segurança.Outro destaque é que agora você pode baixar a versão CHM da revista em português.Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-22693440746016311232007-10-13T09:44:00.000-03:002007-10-13T09:46:17.348-03:00MSDN Magazine Outubro/2007A MSDN Magazine de Outubro está disponível no site da Microsoft. Destaque para otimização de código gerenciado em máquinas com vários núcleos.Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-15571372420296334342007-10-03T09:05:00.000-03:002007-10-13T09:22:55.920-03:00Horário de Verão 2007/2008O Horário Brasileiro de Verão começa à zero hora do dia 14 de outubro, quando os relógios deverão ser adiantados em uma hora, e devem ficar assim, até às 24 horas do dia 16 de fevereiro de 2008, quando os relógios deverão ser atrasados em uma hora.O horário de verão abrange o Distrito Federal os estados do Rio Grande do Sul, Santa Catarina, Paraná, São Paulo, Rio de Janeiro, Espírito Santo, MinasMassudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-21441627594086618582007-08-15T15:10:00.000-03:002007-08-15T15:11:16.935-03:00MSDN Magazine Setembro/2007A MSDN Magazine de Setembro já está disponível no site da Microsoft. Destaque para sockets no framework 3.5 (incluindo P2P) e testes unitários.Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-8307986686373463502007-08-12T15:29:00.000-03:002007-08-12T15:54:12.658-03:00MSDN Magazine Agosto/2007A MSDN Magazine de Agosto já está disponível no site da Microsoft. Destaque para o novo padrão de empacotamento de dados OPC (Open Packaging Conventions) e um comparativo entre VSTO e VBA na automação do Office.Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-86614925331460814292007-07-02T08:27:00.000-03:002007-08-12T15:42:57.834-03:00MSDN Magazine Julho/2007A MSDN Magazine de Julho já está disponível no site da Microsoft. Destaque para compartilhamento de código entre aplicativos desktop e móveis e suporte ao reconhecimento de fala do Windows Vista.Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-8702885409390068672007-05-10T11:29:00.000-03:002007-05-10T11:30:11.662-03:00MSDN Magazine Junho/2007A MSDN Magazine de Junho já está disponível no site da Microsoft. Destaque para as novidades nas ferramentas C#, VB e C++ e o novo SilverLight, uma ferramenta para desenvolvimento web/multiplataforma.Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-55803412046505959182007-04-13T08:59:00.000-03:002007-04-13T09:00:39.255-03:00MSDN Magazine Maio/2007A MSDN Magazine de Maio já está disponível no site da Microsoft. Destaque para JavaScript e o novo XNA Game Studio Express, a ferramenta de desenvolvimento gratuita para o XBox.Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-90390601924840885822007-04-06T10:49:00.000-03:002007-11-18T22:08:13.809-02:00Como enviar email usando Indy 10?Este exemplo mostra como enviar emails usando Indy10. 1 var
2 Email: TIdMessage;
3 begin
4 // SMTP é um TIdSMTP
5 // POP3 é um TIdPOP3
6 // UserPassProvider é um TIdUserPassProvider
7
8 Email := TIdMessage.Create(nil);
9 try
10
11 // ...ajusta remetente, destinatário, etc da mensagem...
12 Email.Subject := '...assunto...';
13 Email.From.Address := 'remetente@Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-56453585496420692022007-03-19T23:13:00.000-03:002007-03-19T23:14:50.535-03:00Como fazer um broadcast via UDP usando Indy 9?UDP é um protocolo de transporte de dados que se caracteriza por não garantir a entrega dos dados, o que permite entregar rapidamente os dados. Um uso frequente para UDP é transmissão de áudio ou vídeo, que é um caso onde a perda de um pacote de dados não compromete o resultado final.
Uma outra característica do protocolo UDP é a possibilidade de transmitir um mesmo pacote de dados para todas as Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com1tag:blogger.com,1999:blog-8740844.post-89878372936414390292007-03-16T09:20:00.000-03:002007-03-16T09:27:53.506-03:00MSDN Magazine Abril/2007A MSDN Magazine de Abril já está disponível no site da Microsoft. Destaque para efeitos especiais com o novo gerenciador de janelas Aero Glass do Windows Vista e um pequeno analisador/parser XML em C++.Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-87669751784056331962007-02-28T08:57:00.000-03:002015-10-02T13:59:07.773-03:00Como enviar email em C# usando o GMail?Complementando meu post anterior sobre como enviar email usando C#, eis um exemplo interessante que encontrei uns tempos atrás (adaptado para facilitar o entendimento) mostrando como enviar email pelo GMail...
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> 1 using System;
2 using System.Net;
3 using System.Net.Mail;
4
5 namespace Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com7tag:blogger.com,1999:blog-8740844.post-66890304091897739402007-02-21T09:24:00.000-02:002007-05-09T12:49:52.082-03:00Como enviar email?O exemplo seguinte usa .NET 2.0 e pode ser usado em projetos WinForms ou
ASP.NET. Ele mostra o envio de email usando um cliente SMTP.
1 using System;
2 using System.Net;
3 using System.Net.Mail;
4
5 ...
6 // monta a mensagem
7 MailAddress to = new MailAddress("email-do-destinatario");
8 MailAddress from = new MailAddress("email-do-remetente");
9 MailMessage mensagem = new MailMessage(from, to);
Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-30072321063787258952007-02-18T00:46:00.000-02:002007-03-22T12:56:39.030-03:00Como determinar onde gerou uma exceção?Uma das coisas mais desagradáveis é testar um programa, instalar ele no cliente e ele cair com uma exceção no meio da demonstração. Na máquina de desenvolvimento, a IDE gentilmente mostra onde a exceção foi gerada. Mas no cliente, não.
Na JCL (Jedi Code Library)
existe uma unit chamada JclDebug que deve ser usada em conjunto com o
mecanismo do JCL para tratamento de exceções não tratadas. Esse Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-65841530847755264922007-02-14T22:27:00.000-02:002007-02-14T22:28:41.093-02:00MSDN Magazine Março/2007A MSDN Magazine de Março já está disponível no site da Microsoft. Destaque para o IIS 7.0 e o MS Build.Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0tag:blogger.com,1999:blog-8740844.post-10433454907752332292007-02-13T22:41:00.000-02:002007-02-13T23:04:42.941-02:00Como fazer busca incremental num combobox?Este exemplo mostra como fazer uma busca incremental num combobox.<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> 1 procedure TSeuForm.SeuComboBoxKeyPress(Sender: TObject; var AKey: Char);
2 var
3 ComboBox: TComboBox;
4 TextoDigitado: string;
5 TextoSelecionado: string;
6 TextoDoItem: string;
7 Texto: string;
8 Achou: Massudahttp://www.blogger.com/profile/00983645612906756179noreply@blogger.com0