quarta-feira, 14 de outubro de 2009

Alternativas freeware

Até não muito tempo atrás o mundo open source não era tão expressivo quanto hoje e, muitas vezes, associado a baixa qualidade. No entanto, hoje podemos vislumbrar projetos open source que competem de igual para igual com soluções pagas.
Dedico esse artigo para citar e descrever sobre alguns pacotes de componentes open source e freeware que são excelentes alternativas para produtos comerciais.


The Fastcode Challanges
The Fastcode Challanges é um projeto, ou melhor, é um desafio público de quem escreve o código mais eficiente para substituir funções e procedimentos da RTL e VCL do Delphi. Atualmente a biblioteca conta com mais de 300 funções publicadas para download e geralmente implementadas em assembly inline.
O projeto é realmente sério, tanto que algumas funções foram adotadas pela Borland substituindo as versões originais.


 Synapse TCP/IP Library
Synapse é uma biblioteca de comunicação TCP/IP muito light que preza a simplicidade e é um excelente alternativa para o pessado Indy.
Sua abordagem é um pouco diferente, utiliza comunicação síncrona (blocking). Também oferece comunicação assíncrona, mas de forma limitada.
Uma característica curiosa é a retrocompatibilidade com o Delphi 3. A versão atual (release .39) tem suporte até o Delphi 2009, sendo esse último experimental.
Observando a frequência de atualização dessa biblioteca, pressumo que muito em breve será lançado uma release com suporte ao Delphi 2010.


DCPCrypt
DCPCrypt é um bliblioteca open source que trás vários componentes que implementam algortimos de criptografia e hash.
É compatível com o Delphi 4, 5, 6, 7, 2005, 2006, 2007, 2009. Apesar de não possuir pacotes de instalação exclusivos, também é compatível com a versão 2010 do Delphi.

Algorimos de Criptografia
  • Blowfish
  • Cast 128
  • Cast 256
  • DES, 3DES
  • Ice, Thin Ice, Ice2
  • IDEA
  • Mars
  • Misty1
  • RC2, RC4, RC5, RC6
  • Rijndael (the new AES)
  • Serpent
  • Tea
  • Twofish

  Algoritmos de Hash
  • Haval
  • MD4
  • MD5
  • RipeMD-128
  • RipeMD-160
  • SHA-1
  • SHA-256, SHA-384, SHA-512
  • Tiger

Se você usa o Delphi 2010, pode utilizar os pacotes de instalação do 2009 ou, então, baixar uma versão customizada do DCPCrypt 2.0 b3 (http://rapidshare.com/files/293117004/DCPCrypt_2b2_D2010.7z).
Eu particularmente já tive a oportunidade de usa essa fantástica biblioteca e recomendo.


Delphi Fast ZLib
Uma biblioteca para compressão e descompressão de arquivos no formato zib muito mais rápida do que a que é fornecida pelo Delphi e, além disso, não requer DLL externa.
Esse bliblioteca possui várias otimizações, incluindo código para processadores P6 e alinhamento de 64 bits. Tais otimizações são automaticamente utilizadas conforme as características do hardware.

O exemplo abaixo foi extraído do site official (http://www.dellapasqua.com/delphizlib/) e demonstra como utilizar a biblioteca.
procedure TForm1.Button1Click(Sender: TObject);
var
  InputStream, OutputStream: TFileStream;
  DeCompressionStream: TZDecompressionStream;
  CompressionStream: TZCompressionStream;
  InputFileName, OutputFileName: string;
begin
  //compress
  InputFileName := 'c:\image.png';
  OutputFilename := 'c:\image.png.bzip';
  InputStream := TFileStream.Create(InputFileName, fmOpenRead);
  OutputStream := TFileStream.Create(OutputFileName, fmCreate);
  CompressionStream := TZCompressionStream.Create(OutputStream, zcFastest);
  CompressionStream.CopyFrom(InputStream, InputStream.Size);
  CompressionStream.Free;
  OutputStream.Free;
  InputStream.Free;

  // decompress
  InputFileName := 'c:\image.png.bzip';
  OutputFilename := 'c:\image2.png'; //rename to original into final code
  InputStream := TFileStream.Create(InputFileName, fmOpenRead);
  OutputStream := TFileStream.Create(OutputFileName, fmCreate);
  DecompressionStream := TZDecompressionStream.Create(InputStream);
  OutputStream.CopyFrom(DecompressionStream, 0);
  DecompressionStream.Free;
  OutputStream.Free;
  InputStream.Free;
end;


NewAC Delphi Components
NewAC é um pacote de componente destinados a tarefas de processamento de áudio.
Oferece suporte a vários tipos de arquivos de áudio (wav, Ogg Vorbis, FLAC, Monkey Audio, WavPack, MP3, Windows WMA, True Audio (TTA), OptimFROG, TAK, Musepack, DTS 5.1, AC-3).

Uma rápida descrição das caractrísticas desse pacote são:
  • Audio recording and playback using DirectSound
  • Audio recording and playback using low latency ASIO drivers
  • CD-ripping
  • Supported formats: wav, Ogg Vorbis, FLAC, Monkey Audio, WavPack, MP3, Windows WMA, DTS, AC-3, TTA, OptimFROG, TAK, Musepack
  • Sound mixing, concatenation, cutting and insertion of audio fragments.
  • Audio resampling
  • 8, 16, 24, 32 bit sound support
  • Multi-channel sound
  • Id3v*, Ape, Vorbis tags support
  • Ready for Delphi 2009
  • License: NewAC is free for both open source and commercial use

No link http://symmetrica.net/newac/formats.htm você pode ter uma noção melhor dos formatos de arquivos em comparação com as funcionalidades suportadas.


Professional Screen Camera Component
Como o próprio nome sugere, esse é um excelente componente para que deseja fazer captura do desktop em gravar em avi.
Algumas das suas características são:
  • Save desktop screen to avi file by arbitrary region.
  • Select region from 5 way. (SelObject, FreeHand, FixedMoving, FixedStable, FullScreen).
  • Auto selecting best video codecs in your system. (DivX, XviD, MP4, WMV and Standard AVIs).
  • Capability recording audio from selected input device.
  • Full support recording from single monitor and/or multi monitor.
  • Change arbitrary recording frame rate. (Up to 1000 fps — super fast machines).
  • Capability recording with set timer.
  • Change on time video priority at recording mode.
  • Capability preview before recording or with recording.
  • On time show recording status.
  • On time drawing objects, texts, images and… over video canvas. (Overlay option).
  • On time filter effective (GrayScale Drawing, Reverse Color, Rotation, Brightness, Contrast, Color Adjusting, Saturation, Noise).

 Link para acesso: http://delphitutorial.info/professional-screen-camera-component-v4710.html

Nenhum comentário: