reg.pas

来自「汽车配件管理系统 采用ACCESS数据库 配件销售类公司适用 。 主要是目录树的」· PAS 代码 · 共 615 行 · 第 1/2 页

PAS
615
字号

    FreeLibrary(hlib);
  end
  else
    ShowMessage('无法加载DLL!');
end;

procedure RSAEncrypt(lpInBuffer:PChar; lpDdata:PChar; lpNdata:PChar; Mode:Integer);
{RSA 加密}
var
  RSAEncrypt: function(lpInBuffer:PChar; lpDdata:PChar; lpNdata:PChar; Mode:Integer; lpOutBuffer:PChar; lpRegisterCode:PChar): Boolean;  stdcall;
  OutputStr: array [0..256] of Char;
begin
  FillChar(OutputStr, Sizeof(OutputStr), #0);
  Initialize;
  if hlib <> 0 then begin
    @RSAEncrypt := GetProcAddress(hlib, 'RSAEncrypt');
    if @RSAEncrypt <> nil then begin
      if RSAEncrypt(lpInBuffer, lpDdata, lpNdata, Mode, OutputStr, lpRegisterCode) then
        Return := OutputStr
      else
        Return := '函数调用错误!'
      end
    else
      ShowMessage('加载功能模块出错!');

    FreeLibrary(hlib);
  end
  else
    ShowMessage('无法加载DLL!');
end;

procedure RSADecrypt(lpInBuffer:PChar; lpNdata:PChar; Mode:Integer);
{RSA 解密}
var
  RSADecrypt: function(lpInBuffer:PChar; lpNdata:PChar; Mode:Integer; lpOutBuffer:PChar; lpRegisterCode:PChar): Boolean;  stdcall;
  OutputStr: array [0..256] of Char;
begin
  FillChar(OutputStr, Sizeof(OutputStr), #0);
  Initialize;
  if hlib <> 0 then begin
    @RSADecrypt := GetProcAddress(hlib, 'RSADecrypt');
    if @RSADecrypt <> nil then begin
      if RSADecrypt(lpInBuffer, lpNdata, Mode, OutputStr, lpRegisterCode) then
        Return := OutputStr
      else
        Return := '函数调用错误!'
      end
    else
      ShowMessage('加载功能模块出错!');

    FreeLibrary(hlib);
  end
  else
    ShowMessage('无法加载DLL!');
end;

procedure CRCFileCheck(FileNameStr:PChar);
{CRC 文件校验}
var
  CRCFileCheck: function(FileNameStr:PChar; lpOutBuffer:PChar; lpRegisterCode:PChar): Boolean;  stdcall;
  OutputStr: array [0..32] of Char;
begin
  FillChar(OutputStr, SizeOf(OutputStr), #0);
  Initialize;
  if hlib <> 0 then begin
    @CRCFileCheck := GetProcAddress(hLib, 'CRCFileCheck');
    if @CRCFileCheck <> nil then begin
      if CRCFileCheck(FileNameStr, OutputStr, lpRegisterCode) then
        Return := OutputStr
      else
        Return := '函数调用错误!'
    end
    else
      ShowMessage('加载功能模块出错!');

    FreeLibrary(hLib);
  end
  else
    ShowMessage('无法加载DLL!');
end;

procedure FileEncrypt(lpInputFileName:PChar; lpOutputFileName:PChar; lpKey:PChar);
{文件加密}
var
  FileEncrypt: function(lpInputFileName:PChar; lpOutputFileName:PChar; lpKey:PChar; lpRegisterCode:PChar): Boolean;  stdcall;
begin
  Initialize;
  if hlib <> 0 then begin
    @FileEncrypt := GetProcAddress(hLib, 'FileEncrypt');
    if @FileEncrypt <> nil then begin
      if FileEncrypt(lpInputFileName, lpOutputFileName, lpKey, lpRegisterCode) then
        Return := '加密成功!'
      else
        Return := '函数调用错误!'
    end
    else
      ShowMessage('加载功能模块出错!');

    FreeLibrary(hLib);
  end
  else
    ShowMessage('无法加载DLL!');
end;

procedure FileDecrypt(lpInputFileName:PChar; lpOutputFileName:PChar; lpKey:PChar);
{文件解密}
var
  FileDecrypt: function(lpInputFileName:PChar; lpOutputFileName:PChar; lpKey:PChar; lpRegisterCode:PChar): Boolean;  stdcall;
begin
  Initialize;
  if hlib <> 0 then begin
    @FileDecrypt := GetProcAddress(hLib, 'FileDecrypt');
    if @FileDecrypt <> nil then begin
      if FileDecrypt(lpInputFileName, lpOutputFileName, lpKey, lpRegisterCode) then
        Return := '解密成功!'
      else
        Return := '函数调用错误!'
    end
    else
      ShowMessage('加载功能模块出错!');

    FreeLibrary(hLib);
  end
  else
    ShowMessage('无法加载DLL!');
end;

procedure Base64Encode(lpInBuffer:PChar);
{Base64 加密}
var
  Base64Encode: function(lpInBuffer:PChar; lpOutBuffer:PChar; lpRegisterCode:PChar): Boolean;  stdcall;
  OutputStr: array [0..200] of Char;//输出长度请参考帮助文件
begin
  FillChar(OutputStr, SizeOf(OutputStr), #0);
  Initialize;
  if hlib <> 0 then begin
    @Base64Encode := GetProcAddress(hLib, 'Base64Encode');
    if @Base64Encode <> nil then begin
      if Base64Encode(lpInBuffer, OutputStr, lpRegisterCode) then
        Return := OutputStr
      else
        Return := '函数调用错误!'
    end
    else
      ShowMessage('加载功能模块出错!');

    FreeLibrary(hLib);
  end
  else
    ShowMessage('无法加载DLL!');
end;

procedure Base64Decode(lpInBuffer:PChar);
{Base64 解密}
var
  Base64Decode: function(lpInBuffer:PChar; lpOutBuffer:PChar; lpRegisterCode:PChar): Boolean;  stdcall;
  OutputStr: array [0..200] of Char;//输出长度请参考帮助文件
begin
  FillChar(OutputStr, SizeOf(OutputStr), #0);
  Initialize;
  if hlib <> 0 then begin
    @Base64Decode := GetProcAddress(hLib, 'Base64Decode');
    if @Base64Decode <> nil then begin
      if Base64Decode(lpInBuffer, OutputStr, lpRegisterCode) then
        Return := OutputStr
      else
        Return := '函数调用错误!'
    end
    else
      ShowMessage('加载功能模块出错!');

    FreeLibrary(hLib);
  end
  else
    ShowMessage('无法加载DLL!');
end;

procedure CRC32(lpInBuffer:PChar; length:Integer);
{CRC32 校验}
var
  CRC32: function(lpInBuffer:PChar; length:Integer; lpOutBuffer:PChar; lpRegisterCode:PChar): Boolean;  stdcall;
  OutputStr: array [0..32] of Char;
begin
  FillChar(OutputStr, SizeOf(OutputStr), #0);
  Initialize;
  if hlib <> 0 then begin
    @CRC32 := GetProcAddress(hlib, 'CRC32');
    if @CRC32 <> nil then begin
      if CRC32(lpInBuffer, length, OutputStr, lpRegisterCode) then
        Return := OutputStr
      else
        Return := '函数调用错误!'
    end
    else
      ShowMessage('加载功能模块出错!');

    FreeLibrary(hlib);
  end
  else
    ShowMessage('无法加载DLL!');
end;

procedure GetDllVersion();
{获取当前 Reg.dll 版本号}
var
  GetDllVersion: function(lpOutBuffer:PChar): Boolean;  stdcall;
  DllVersion: array [0..10] of Char;
begin
  FillChar(DllVersion, SizeOf(DllVersion), #0);
  Initialize;
  if hlib <> 0 then begin
    @GetDllVersion := GetProcAddress(hLib, 'GetDllVersion');
    if @GetDllVersion <> nil then begin
      if GetDllVersion(DllVersion) then
        Return := DllVersion
      else
        Return := '函数调用错误!'
    end
    else
      ShowMessage('加载功能模块出错!');

    FreeLibrary(hLib);
  end
  else
    ShowMessage('无法加载DLL!');
end;

//3.2版本新增函数
procedure GetMainBoardId();
{获取主板序列号}
var
  GetMainBoardId: function(lpOutBuffer:PChar; lpRegisterCode:PChar): Boolean;  stdcall;
  MainBoardId: array [0..50] of Char;
begin
  FillChar(MainBoardId, SizeOf(MainBoardId), #0);
  Initialize;
  if hlib <> 0 then begin
    @GetMainBoardId := GetProcAddress(hLib, 'GetMainBoardId');
    if @GetMainBoardId <> nil then begin
      if GetMainBoardId(MainBoardId, lpRegisterCode) then
        Return := MainBoardId
      else
        Return := '函数调用错误!'
    end
    else
      ShowMessage('加载功能模块出错!');

    FreeLibrary(hLib);
  end
  else
    ShowMessage('无法加载DLL!');
end;

procedure DesEncrypt(lpInBuffer:PChar; lpKey:PChar);
{Des 加密}
var
  DesEncrypt: function(lpInBuffer:PChar; lpOutBuffer:PChar; lpKey:PChar; lpRegisterCode:PChar): Boolean;  stdcall;
  OutputStr: array [0..500] of Char;
begin
  FillChar(OutputStr, Sizeof(OutputStr), #0);
  Initialize;
  if hlib <> 0 then begin
    @DesEncrypt := GetProcAddress(hlib, 'DesEncrypt');
    if @DesEncrypt <> nil then begin
      if DesEncrypt(lpInBuffer, OutputStr, lpKey, lpRegisterCode) then
        Return := OutputStr
      else
        Return := '函数调用错误!'
      end
    else
      ShowMessage('加载功能模块出错!');

    FreeLibrary(hlib);
  end
  else
    ShowMessage('无法加载DLL!');
end;

procedure DesDecrypt(lpInBuffer:PChar; lpKey:PChar);
{Des 解密}
var
  DesDecrypt: function(lpInBuffer:PChar; lpOutBuffer:PChar; lpKey:PChar; lpRegisterCode:PChar): Boolean;  stdcall;
  OutputStr: array [0..500] of Char;
begin
  FillChar(OutputStr, Sizeof(OutputStr), #0);
  Initialize;
  if hlib <> 0 then begin
    @DesDecrypt := GetProcAddress(hlib, 'DesDecrypt');
    if @DesDecrypt <> nil then begin
      if DesDecrypt(lpInBuffer, OutputStr, lpKey, lpRegisterCode) then
        Return := OutputStr
      else
        Return := '函数调用错误!'
      end
    else
      ShowMessage('加载功能模块出错!');

    FreeLibrary(hlib);
  end
  else
    ShowMessage('无法加载DLL!');
end;

end.

⌨️ 快捷键说明

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