Zetta-Ømnis Soluções Tecnológicas
Desenvolvendo hoje a tecnologia do amanhã
Visite Nosso Patrocinador
DO NOT UNDERSTAND PORTUGUESE? CLICK ON THE FLAG TO CHANGE THE LANGUAGE!

Obtendo o serial físico de um HD

Com o intuito de proteger nossos sistemas contra cópias não autorizadas, normalmente precisamos identificar de forma única a máquina onde nossos softwares estão instalados. A forma mais barata de fazer isso é usar um software que consiga extrair alguma informação única a partir de nosso hardware instalado. Antigamente, nos Windows 9x e até mesmo no XP, haviam formas bastante simples de se obter algumas dessas informações, mas hoje em dia com os Sistemas Operacionais demandando mais e mais segurança, muitas das formas de acesso direto ao hardware foram removidas. Contudo ainda existe um meio relativamente prático de obter uma identificação única a partir do hardware onde nosso software está instalado. Se quer saber, continue lendo.

Classes Mediadoras (interposer)

Então chega o ponto na programação onde você precisa que um componente se comporte do jeito que você quer, mas infelizmente ele não possui a propriedade, evento ou método que você precisa. A forma clássica de resolver esse problema seria criar um componente derivado e incluir nele tudo que você precisa. O que muita gente não sabe é que existe uma abordagem mais simples e rápida, caso sua intenção não seja criar um novo componente. Quer saber como? Continue lendo!

Sobrecarga de operadores

Sempre fui uma pessoa prática e como tal eu prezo muito pela celeridade do desenvolvimento de minhas soluções. Por este motivo, tudo aquilo que pode gerar menos digitação a curto ou médio prazo me atrai, e um exemplo muito bom disso é a sobrecarga de operadores. Usando esta técnica é possível economizar bastante tempo (e seus dedos), pois ela permite que estruturas complexas possam ser operadas com simples operadores matemáticos. O que você acha de somar dois records, por exemplo, ou mesmo multiplicar dois records, ou dividí-los, ou subtraí-los, etc? Ficou curioso? Então leia mais.

Como validar um XML com um XSD usando o Delphi?

Recentemente eu estive envolvido em um projeto onde eu precisava gerar vários arquivos XML. O solicitante forneceu arquivos XSD (Esquema XML) para cada um dos XML que deveriam ser gerados. Após a geração de cada XML eu, utilizando um plug-in do Notepad++, validava individualmente cada XML com seu respectivo XSD, foi aí que meu chefe perguntou se o próprio Delphi não poderia fazer essa etapa. Meus olhos brilharam e eu comecei a pesquisar. O resultado você vai ver no artigo.

Como usar corretamente uma barra de progresso (TProgressBar)?

Chutando por baixo, acredito que 90% dos programadores usam o componente TProgressBar de forma errada. Até mesmo eu o usei de forma errada porque a forma correta é trabalhosa. Mesmo assim eu acredito que vale muito a pena conhecer o modo correto de se trabalhar com esse componente e caso seu programa faça uso constante dele, porque não criar uma classe que facilita a implementação correta? É isso que pretendo mostrar neste artigo.

Como depurar um Serviço do Windows (Windows Service)

Se você algum dia já criou algum Serviço de Windows (Windows Services) no Delphi (TService) obviamente deve ter tentado depurá-lo e logo notou que a tarefa não seria fácil, devido ao fato de que os Windows Services, para serem executados, precisam ser instalados... Não! Espere! Não é bem assim. Continue lendo e descubra! ;)

O lado negro do Application.ProcessMessages

Esses dias eu estava escrevendo um artigo e cheguei num ponto onde eu estava justificando o uso de uma thread em detrimento do Application.ProcessMessages. Nesse momento eu lembrei que este comando não deve ser usado de forma leviana, só não tinha uma boa explicação, então fui atrás e achei um artigo muito bom a respeito. Esta é mais uma tradução/versão by myself ;)

Quando o TClientDataSet e o TDataSetProvider são necessários?

É surpreendente o número de programadores que insistem em seguir o caminho mais complexo por acharem que apenas assim é que se alcança o Nirvana Computacional. A verdade meu caro, é que a menos que você tenha muito tempo livre ou viva para fazer malabarismos com o teclado, digitando códigos e mais códigos sem necessidade aparente, você precisará muitas vezes desenvolver coisas muito rapidamente e não poderá divagar sobre aquilo que está desenvolvendo. O curioso é que, tal como os malabaristas de teclado, existem os malabaristas do arrasta-e-solta. Não é de hoje que tenho visto pessoas usando os componentes TClientDataSet e TDataSetProvider sem necessidade alguma, apenas porque acham que precisam usá-los a todo custo. Se você costuma usar o método Post seguido de um ApplyUpdates, ou se simplesmente você quer saber se está fazendo uso destes poderosos componentes à toa, continue lendo.

Quando devo registrar uma DLL?

Existem duas coisas que me deixam profundamente irritado na informática: Pessoas que fecham janelas usando o menu popup (ou o caminho Arquivo > Fechar) e pessoas que acham que toda DLL precisa ser registrada antes de ser usada. Este artigo é apenas para orientar os desavisados, porque pasme, já vi programadores experientes falando em registrar DLLs sem necessidade, seguindo e disseminando esse mito estúpido.

Serialização de Objetos & Persistência em Arquivos

Não importa o quão sofisticada sua aplicação seja, mesmo que ela salve seus dados em bancos de dados ou mesmo na nuvem, frequentemente haverá a necessidade de salvar dados de forma local. Normalmente isso é necessário quando se precisa persistir configurações que só dizem respeito à instância do programa sendo executado no momento. Existem algumas formas de fazer isso, sendo as mais comuns, arquivos INI e registro do Windows. Neste artigo vou ensinar uma forma de salvamento de arquivos a partir de um objeto serializado, que, no meu humilde entendimento, é a melhor forma de se persistir informações localmente.

Acesso Rápido
Não digite mais que o necessário...



Escaneie este QRCode em dispositivos móveis para acessar a página atual rapidamente nestes dispositivos
Fique por dentro
Não quer perder nenhuma novidade da página atual? Utilize o feed exclusivo e acompanhe todas as atualizações!

Artigos em destaque
Conteúdo Verificado!
#BULLSHITFREE #CLICKBAITFREE
#MONEYLESS
Este site é amigo do desenvolvedor do mundo real
Gostou do conteúdo?
Se você gostou do conteúdo que está lendo, você pode ajudar a manter este site no ar doando qualquer quantia. Use os botões abaixo para realizar sua doação.
 
É rápido, fácil e indolor :)
 

Estatísticas em tempo real

Visite Nosso Patrocinador