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;
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:
Postar um comentário