⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lzimplic.pas

📁 delhpi下lzss加密算法源码及例子
💻 PAS
字号:

{$I LZDefine.inc}

unit LZImplic;
{sample "implicit" or "static" import unit for ChiefLZ.dll}

interface
uses
{$ifdef Win32}
Windows,
{$endif Win32}
ChfTypes;

{exported functions}

function IsChiefLZArchive(const fName: {$ifdef Win32} string
                                       {$else}        PChar
                                       {$endif} ): boolean;
{$ifdef Win32} stdcall; {$endif Win32}

{$ifdef Win32}
function GetChiefLZFileName(const fName: string): string; stdcall;
{$else}
function GetChiefLZFileName(fName, Dest:PChar): boolean;
{$endif Win32}

function GetChiefLZFileSize(fName: {$ifdef Win32} string
                                   {$else Win32}  PChar
                                   {$endif Win32}): LongInt;
{$ifdef Win32} stdcall; {$endif Win32}


function GetChiefLZArchiveInfo(const ArchName: {$ifdef Win32} string
                                               {$else Win32}  PChar
                                               {$endif Win32};
                               var   Header: TChiefLZArchiveHeader): boolean;
{$ifdef Win32} stdcall; {$endif Win32}

function GetChiefLZArchiveSize(const ArchName: {$ifdef Win32} string
                                               {$else Win32}  PChar
                                               {$endif Win32}): LongInt;
{$ifdef Win32} stdcall; {$endif Win32}

function LZCompress(const {$ifdef Win32} Source, Dest:   string
                          {$else}        aSource, aDest: pChar
                          {$endif};
                    LZQuestion: TLZQuestionFunc;
                    aProc:      TLZReportProc): LongInt;
{$ifdef Win32} stdcall; {$endif Win32}

function LZDecompress({$ifdef Win32} Source, Dest:  string
                      {$else} const aSource, aDest: PChar
                      {$endif};
                      LZQuestion: TLZQuestionFunc;
                      aProc:      TLZReportProc):LongInt;
{$ifdef Win32} stdcall; {$endif Win32}


function IsChiefLZFile(const fName: {$ifdef Win32} string
                                    {$else}        PChar
                                    {$endif}): boolean;
{$ifdef Win32} stdcall; {$endif Win32}


function LZArchive(const fSpec, ArchName: {$ifdef Win32} string
                                          {$else}        PChar
                                          {$endif};
                   LZRecurseDirs: TLZRecurse;
                   aProc:         TLZReportProc): LongInt;
{$ifdef Win32} stdcall; {$endif Win32}


function LZDearchive(ArchName: {$ifdef Win32} string
                               {$else}        PChar
                               {$endif};
                    {$ifdef Win32} DefDir: string
                    {$else} const aDefDir: PChar
                    {$endif};
                     LZQuestion: TLZQuestionFunc;
                     aProc:      TLZReportProc;
                     aRename:    TLZRenameFunc): LongInt;
{$ifdef Win32} stdcall; {$endif Win32}


function LZCompressEx(const {$ifdef Win32} Name:  string
                            {$else}        aName: PChar
                            {$endif};
                      ReplaceQuestion: TLZQuestionFunc;
                      aProc:           TLZReportProc): LongInt;
{$ifdef Win32} stdcall; {$endif Win32}


function LZDecompressEx({$ifdef Win32} Name:  string
                        {$else}        aName: PChar
                        {$endif};
                        ReplaceQuestion: TLZQuestionFunc;
                        aProc:           TLZReportProc): LongInt;
{$ifdef Win32} stdcall; {$endif Win32}


function GetLZMarkerChar: Char; {$ifdef Win32} stdcall; {$endif}

procedure SetLZMarkerChar(const NewChar: Char);
                                        {$ifdef Win32} stdcall; {$endif}

function ChiefLZDLLVersion: Integer; {$ifdef Win32} stdcall; {$endif}

function GetFullLZName(Const X    : TChiefLZArchiveHeader;
                             Index: Integer): String;
{$ifdef Win32} stdcall; {$endif}

Function LoadChiefLZDLL(DLLName: PChar): {$ifdef Win32} BOOL {$else} Integer {$endif};
{Dummy for compatibility with LZExplic}

Function UnloadChiefLZDLL: {$ifdef Win32} BOOL {$else} Boolean {$endif};
{Dummy for compatibility with LZExplic}

implementation

const ChiefDLL = 'ChiefLZ';

{-------- functions exported in ChiefLZ.dll -----------------}
  function  LZCompress; external ChiefDLL     index 1;
  function  LZDecompress; external ChiefDLL   index 2;
  function  IsChiefLZFile; external ChiefDLL  index 3;
  function  LZArchive; external ChiefDLL      index 4;
  function  LZDeArchive; external ChiefDLL    index 5;
  function  IsChiefLZArchive; external ChiefDLL    index 6;
  function  GetChiefLZFileName; external ChiefDLL  index 7;
  function  GetChiefLZFileSize; external ChiefDLL  index 8;
  function  GetChiefLZArchiveInfo; external ChiefDLL index 9;
  function  LZCompressEx; external ChiefDLL       index 10;
  function  LZDeCompressEx; external ChiefDLL     index 11;
  function  GetLZMarkerChar; external ChiefDLL    index 12;
  procedure SetLZMarkerChar; external ChiefDLL    index 13;
  function  GetFullLZName; external ChiefDLL      index 14;
  function  ChiefLZDLLVersion; external ChiefDLL  index 15;
  function  GetChiefLZArchiveSize; external ChiefDLL  index 16;

{--------------------------------------------------------}
Function LoadChiefLZDLL(DLLName: PChar): {$ifdef Win32} BOOL {$else} Integer {$endif};
Begin
  LoadChiefLZDLL := {$ifdef Win32} True {$else} 0 {$endif};
End;

Function UnloadChiefLZDLL: {$ifdef Win32} BOOL {$else} Boolean {$endif};
Begin
  UnloadChiefLZDLL := True
End;

End.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -