146 lines
4.7 KiB
ObjectPascal
146 lines
4.7 KiB
ObjectPascal
unit dsr;
|
||
|
||
interface
|
||
uses
|
||
SysUtils, StrUtils;
|
||
|
||
function FTConSvr(hWnd: THandle;
|
||
hostAddress: PChar;
|
||
Server, User, Pswd, DTBase: PChar): Integer; stdcall; external 'FTClient.dll';
|
||
{
|
||
FTConSvr 参数说明:hWnd-调用程序主窗口句柄(输入);
|
||
hostAddress-通讯服务器IP地址(输入);
|
||
Server-数据库服务器(输出);
|
||
User-数据库登录名(输出);
|
||
Pswd-数据库登录密码(输出);
|
||
DTBase-数据库名(输出)。
|
||
调用前请先为每个输出参数分配至少16字节的存储空间。
|
||
返回值:-1表示连接服务器失败(调用程序无需显示原因),调用程序关闭;
|
||
0表示本次连接成功,1表示已有连接,调用程序请继续运行。
|
||
}
|
||
|
||
//function PBDecode(Strin, StrOut: PAnsiChar; nInLen, nOutLen: Integer): Integer; stdcall; external 'FUTONGDLL.DLL';
|
||
|
||
function ft001():Integer; stdcall; external 'FUTONGDLL.DLL';
|
||
//输出函数Ini:
|
||
//目的:初步检查是否存在用户锁,如果有存在,提示用户插入用户锁。在程序初始化时,一定要使用这段代码
|
||
|
||
|
||
function ft002():Integer; stdcall; external 'FUTONGDLL.DLL';
|
||
//输出函数CheckKey
|
||
//目的:用狗中特定的算法验证当前的加密狗是否为授权的正确狗
|
||
//返回结果:要进行设置的值
|
||
|
||
|
||
function ft003(a :longint):longint; stdcall; external 'FUTONGDLL.DLL';
|
||
//输出函数SetValue
|
||
//目的:用来对变量进行值的设置
|
||
//参数a:要进行设置的值
|
||
//返回结果:要进行设置的值
|
||
//例:对于原来如 x1 = x2; 的赋值方式,可改用 x1 = ft003(x2)的方式
|
||
|
||
|
||
function ft004(s1,s2 :PAnsiChar; len :Integer) :Integer; stdcall; external 'FUTONGDLL.DLL';
|
||
//输出函数CompareString
|
||
//目的:用来对两个字符串进行比较
|
||
//参数s1:要比较的两个字符串之一
|
||
//参数s2:要比较的两个字符串之一
|
||
//参数len:要比较的长度
|
||
//返回结果:如果为0,两个字符串相等,如果为正数,s1>s2,如果为负数,s1<s2
|
||
|
||
|
||
function ft005(s1,s2 :PAnsiChar; len :Integer) :Integer; stdcall; external 'FUTONGDLL.DLL';
|
||
//输出函数CompareStringNoCase
|
||
//目的:用来对两个字符串进行比较(忽略大小写)
|
||
//参数s1:要比较的两个字符串之一
|
||
//参数s2:要比较的两个字符串之一
|
||
//参数len:要比较的长度
|
||
//返回结果:如果为0,两个字符串相等,如果为正数,s1>s2,如果为负数,s1<s2
|
||
|
||
|
||
function ft006(s1,s2 :PAnsiChar) :Integer; stdcall; external 'FUTONGDLL.DLL';
|
||
//输出函数Strcat
|
||
//目的:用来对两个字符串进行连接
|
||
//参数s1:要连接的两个字符串之一
|
||
//参数s2:要连接的两个字符串之一
|
||
//返回结果:返回目的字符串的长度, s1 为连接后的字符串
|
||
//相当于 s1 = s1 + s2, s2加在s1的后面, 返回。
|
||
|
||
function ft007(sd,s :PAnsiChar) :Integer; stdcall; external 'FUTONGDLL.DLL';
|
||
//输出函数Strcpy
|
||
//目的:对字符串进行复制
|
||
//参数sd:目的字符串
|
||
//参数s:源字符串
|
||
//返回结果:返回目的字符串的长度
|
||
//相当于 sd = s
|
||
|
||
function ft008(p1,p2 :LongInt; exp :PAnsiChar) :Integer; stdcall; external 'FUTONGDLL.DLL';
|
||
//输出函数:Compare
|
||
//目的:用来比较两个数的大小,相当于?a>b,a<b,a=b
|
||
//参数p1:要比较的第一个数
|
||
//参数p2:要比较的第二个数
|
||
//参数c:是大于,小于或等于,即">","<","="
|
||
//返回结果:
|
||
//如果返回0,表示表达式为假,返回1表示表达式为真
|
||
|
||
|
||
|
||
//获取设置加密狗中的参数
|
||
//对加密狗的存储区进行操作时,耗时时间较长,应注意!!!!
|
||
//加密狗中存储位置说明
|
||
//允许使用的总空间160字节,其中:64字节存放数据库连接信息,分别是:
|
||
//标识 对应参数 允许存放的最大字符串长度
|
||
// 5 IP地址 15
|
||
// 6 用户名 15
|
||
// 7 用户口令 15
|
||
// 8 DataBase 15
|
||
// 9 标识 可用来进行特别标识,如本加密狗的信息,本机硬件信息等
|
||
// 0-4 自定义 共80字节空间,每个数字表示1节(16字节),递增
|
||
// 注意空间不能溢出,否则引起未知错误;
|
||
// 0-4标识使用的是连续空间,当0位置的长度超过15时,
|
||
// 将覆盖1号位置的存储区域。
|
||
// 使用 0, 可用空间 80 - 1;
|
||
// 1, 64 - 1;
|
||
// 2, 48 - 1;
|
||
//........
|
||
//[out, retval] BSTR * Value
|
||
function ft011(outstr :PAnsiChar; Ord :Integer) :Integer; stdcall; external 'FUTONGDLL.DLL';
|
||
//输出函数GetParm
|
||
//目的:获取加密狗指定位置的字符串
|
||
//参数outstr:目的字符串
|
||
//参数Ord:标识加密狗特定地点的标志值(0-9)
|
||
//返回结果:返回目的字符串的长度
|
||
|
||
function ft012(var instr :PAnsiChar; Ord :Integer) :Integer; stdcall; external 'FUTONGDLL.DLL';
|
||
//输出函数SetParm
|
||
//目的:在加密狗的指定位置存放字符串
|
||
//参数instr:需存放的字符串
|
||
//参数Ord:标识加密狗特定地点的标志值(0-9)
|
||
//返回结果:返回写入字符串的长度
|
||
|
||
|
||
|
||
//加解密函数
|
||
function ft021(var instr :PAnsiChar; outstr :PAnsiChar) :Integer; stdcall; external 'FUTONGDLL.DLL';
|
||
//说明:本函数单向加密字符串instr,不能逆向解密!
|
||
//目的:获取输入字符串instr的单向加密字符串outstr
|
||
//参数instr:需加密的字符串
|
||
//参数outStr:单向加密后的密文
|
||
//返回结果:返回密文的长度
|
||
|
||
function ft022(source,dest,key :PAnsiChar; flg :Integer) :Integer; stdcall; external 'FUTONGDLL.DLL';
|
||
function ft023(source,dest,key :PAnsiChar; flg :Integer) :Integer; stdcall; external 'FUTONGDLL.DLL';
|
||
//说明:均为字符串加解密函数,可加解密
|
||
//目的:用指定的Key,对输入字符串source进行置换,dest为置换后的字符串
|
||
//参数source:需置换的字符串源文
|
||
//参数dest:置换后后的字符串密文
|
||
//参数key:置换采用的key,字符串
|
||
//参数flg: 为1时,进行加密,为0时进行解密
|
||
//返回结果:返回置换后字符串的长度
|
||
|
||
implementation
|
||
|
||
end.
|
||
|
||
|