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,如果为负数,s1s2,如果为负数,s1b,a","<","=" //返回结果: //如果返回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.