El uso de minilzo en delphi
Cómo utilizar la miniLZO biblioteca escrito en ANSI C en su aplicación delphi sin un archivo dll
Introducción
LZO es un algoritmo de compresión fija que ofrece una rápida descompresión de velocidad, mientras que dan una decente de la relación de compresión. He leído que LZO es dos veces tan rápido como ZLib al descomprimir, mientras que sólo alrededor de 5% menos de la relación de compresión.
miniLZO
Es una biblioteca de autor de LZO que incluye LZO1X_1 de compresión y LZO1x de descompresión. He compilado a una .obj archivo que puede ser vinculado a una unidad en delphi utilizando el {$LINK}/{$L} directiva de compilador. A continuación encontrará la unidad completa. miniLZO se distribuye bajo la Licencia Pública general de GNU, por lo que, naturalmente, este código es con licencia GNU. Nota para obtener instrucciones detalladas sobre cómo UTILIZAR estas funciones, por favor visite el funcionario de la página de inicio en LZO http://www.oberhumer.com/opensource/lzo/.
// & & & & & & & & & & & & - COMENZAR UNIDAD & & & & & & & & & & & & -//
unidad Lzo
interfaz
// 'C' rutinas que necesita el vinculado LZO archivo OBJ
función _memcmp (s1,s2: Puntero numBytes: LongWord): integer cdecl
procedimiento _memcpy (s1, s2: Puntero n: Integer) cdecl
procedimiento _memmove(dstP, srcP: puntero numBytes: LongWord) cdecl
procedimiento _memset (s: Puntero de c: Byte n: Integer) cdecl
{$LINK 'minilzo.obj'}
función lzo1x_1_compress(const Fuente: Puntero SourceLength: LongWord Dest: Puntero var DestLength: LongWord WorkMem: Puntero): integer stdcall externos
función lzo1x_decompress(const Fuente: Puntero SourceLength: LongWord Dest: Puntero var DestLength: LongWord WorkMem: Puntero (* NO se USA! *)): Integer stdcall externos
función lzo1x_decompress_safe(const Fuente: Puntero SourceLength: LongWord Dest: Puntero var DestLength: LongWord WorkMem: Puntero (* NO se USA! *)): Integer stdcall externos
función lzo_adler32(Adler: LongWord const Buf: Puntero Len: LongWord): LongWord stdcall externos
función lzo_version: la palabra stdcall externos
función lzo_version_string: PChar stdcall externos
función lzo_version_date: PChar stdcall externos
aplicación
procedimiento _memset(s: Puntero de c: Byte n: Entero) cdecl
begin
& nbsp & nbsp FillChar(s^, n, c)
fin
procedimiento _memcpy(s1, s2: Puntero n: Entero) cdecl
begin
& nbsp & nbsp Mover(s2^, s1^, n)
fin
función _memcmp (s1, s2: Puntero numBytes: LongWord): integer cdecl
var
& nbsp & nbsp i: integer
& nbsp & nbsp p1, p2: ^byte
begin
& nbsp & nbsp p1 := s1
& nbsp & nbsp p2 := s2
& nbsp & nbsp para i := 0 para numBytes -1 hacer
& nbsp & nbsp begin
& nbsp & nbsp & nbsp & nbsp si p1^ <> p2^ entonces
& nbsp & nbsp & nbsp & nbsp begin
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp si p1^ < p2^ entonces
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Resultado := -1
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp persona
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Resultado := 1
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp salida
& nbsp & nbsp & nbsp & nbsp fin
& nbsp & nbsp & nbsp & nbsp inc(p1)
& nbsp & nbsp & nbsp & nbsp inc(p2)
& nbsp & nbsp fin
& nbsp & nbsp Resultado := 0
fin
procedimiento _memmove(dstP, srcP: puntero numBytes: LongWord) cdecl
begin
& nbsp & nbsp Mover(srcP^, dstP^, numBytes)
& nbsp & nbsp FreeMem(srcP, numBytes)
fin
final.
// & & & & & & & & & & & & - FINAL de la UNIDAD & & & & & & & & & & & & -//
El C miniLZO fuente, minilzo.obj y esta unidad puede ser downloade de aquí.
Que es! Me appologize para mi somtimes mal inglés y el estilo de escritura.
El uso de minilzo en delphi
El uso de minilzo en delphi : Multi-millones de consejos para hacer su vida mas facil.
Como utilizar la miniLZO biblioteca escrito en ANSI C en su aplicacion delphi sin un archivo dll
Introduccion
LZO es un algoritmo de compresion fija que ofrece una rapida descompresion de velocidad, mientras que dan una decente de la relacion de compresion. He leido que LZO es dos veces tan rapido como ZLib al descomprimir, mientras que solo alrededor de 5% menos de la relacion de compresion.
miniLZO
Es una biblioteca de autor de LZO que incluye LZO1X_1 de compresion y LZO1x de descompresion. He compilado a una .obj archivo que puede ser vinculado a una unidad en delphi utilizando el {$LINK}/{$L} directiva de compilador. A continuacion encontrara la unidad completa. miniLZO se distribuye bajo la Licencia Publica general de GNU, por lo que, naturalmente, este codigo es con licencia GNU. Nota para obtener instrucciones detalladas sobre como UTILIZAR estas funciones, por favor visite el funcionario de la pagina de inicio en LZO http://www.oberhumer.com/opensource/lzo/.
// & & & & & & & & & & & & - COMENZAR UNIDAD & & & & & & & & & & & & -//
unidad Lzo
interfaz
// 'C' rutinas que necesita el vinculado LZO archivo OBJ
funcion _memcmp (s1,s2: Puntero numBytes: LongWord): integer cdecl
procedimiento _memcpy (s1, s2: Puntero n: Integer) cdecl
procedimiento _memmove(dstP, srcP: puntero numBytes: LongWord) cdecl
procedimiento _memset (s: Puntero de c: Byte n: Integer) cdecl
{$LINK 'minilzo.obj'}
funcion lzo1x_1_compress(const Fuente: Puntero SourceLength: LongWord Dest: Puntero var DestLength: LongWord WorkMem: Puntero): integer stdcall externos
funcion lzo1x_decompress(const Fuente: Puntero SourceLength: LongWord Dest: Puntero var DestLength: LongWord WorkMem: Puntero (* NO se USA! *)): Integer stdcall externos
funcion lzo1x_decompress_safe(const Fuente: Puntero SourceLength: LongWord Dest: Puntero var DestLength: LongWord WorkMem: Puntero (* NO se USA! *)): Integer stdcall externos
funcion lzo_adler32(Adler: LongWord const Buf: Puntero Len: LongWord): LongWord stdcall externos
funcion lzo_version: la palabra stdcall externos
funcion lzo_version_string: PChar stdcall externos
funcion lzo_version_date: PChar stdcall externos
aplicacion
procedimiento _memset(s: Puntero de c: Byte n: Entero) cdecl
begin
& nbsp & nbsp FillChar(s^, n, c)
fin
procedimiento _memcpy(s1, s2: Puntero n: Entero) cdecl
begin
& nbsp & nbsp Mover(s2^, s1^, n)
fin
funcion _memcmp (s1, s2: Puntero numBytes: LongWord): integer cdecl
var
& nbsp & nbsp i: integer
& nbsp & nbsp p1, p2: ^byte
begin
& nbsp & nbsp p1 := s1
& nbsp & nbsp p2 := s2
& nbsp & nbsp para i := 0 para numBytes -1 hacer
& nbsp & nbsp begin
& nbsp & nbsp & nbsp & nbsp si p1^ <> p2^ entonces
& nbsp & nbsp & nbsp & nbsp begin
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp si p1^ < p2^ entonces
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Resultado := -1
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp persona
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Resultado := 1
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp salida
& nbsp & nbsp & nbsp & nbsp fin
& nbsp & nbsp & nbsp & nbsp inc(p1)
& nbsp & nbsp & nbsp & nbsp inc(p2)
& nbsp & nbsp fin
& nbsp & nbsp Resultado := 0
fin
procedimiento _memmove(dstP, srcP: puntero numBytes: LongWord) cdecl
begin
& nbsp & nbsp Mover(srcP^, dstP^, numBytes)
& nbsp & nbsp FreeMem(srcP, numBytes)
fin
final.
// & & & & & & & & & & & & - FINAL de la UNIDAD & & & & & & & & & & & & -//
El C miniLZO fuente, minilzo.obj y esta unidad puede ser downloade de aqui.
Que es! Me appologize para mi somtimes mal ingles y el estilo de escritura.
El uso de minilzo en delphi
By Consejos Y Trucos
El uso de minilzo en delphi : Multi-millones de consejos para hacer su vida más fácil.