|
|
 |
| 过滤操作详解 |
彩票大赢家 _ 过滤插件 _ 插件管理 |
 |
《彩票大赢家》定义了完整的过滤插件接口规范,能将所有按照我们的规范开发的过滤插件集成到软件中使用,大家可以充分发挥自己的聪明才智,真正做到只有想不到,没有滤不掉!
《彩票大赢家》过滤插件可以使用几乎所有的主流开发语言( Delphi、VC、VB、C++ Builder等)进行开发! |
|
 |
|
|
|
|
|
|
|
彩票大赢家 _ 过滤插件 _ 接口规范 |
 |
《彩票大赢家》定义了完整的过滤插件接口规范,能将所有按照我们的规范开发的过滤插件集成到软件中使用,大家可以充分发挥自己的聪明才智,真正做到只有想不到,没有滤不掉!
《彩票大赢家》过滤插件可以使用几乎所有的主流开发语言( Delphi、VC、VB、C++ Builder等)进行开发。下面我们先提供一个使用Delphi开发的过滤插件(连型过滤)的范例供大家参考: |
|
|
|
library MZFBFlt;
// ************************************************************************ //
// AppName : 命中分布过滤插件
// Version : 1.0.3
// Company : bittime
// Author : yanxb
// Description: 命中分布过滤插件
// CreateDate : 2003-07-16
// ************************************************************************ //
uses
SysUtils,
Classes,
Windows,
Forms,
BaseForm in '..\..\BaseForm.pas' {frmBase},
MZFBForm in 'MZFBForm.pas' {frmMZFB},
unt_IniFile in '..\..\unt_IniFile.pas',
InputForm in '..\..\InputForm.pas' {frmInput},
Filter_Base in '..\Filter_Base.pas',
unt_SSQDYJ in '..\..\unt_SSQDYJ.pas',
unt_CPShareFunc in '..\..\unt_CPShareFunc.pas';
///////////////////////////////////////////////////////////////////
{$R *.res}
///////////////////////////////////////////////////////////////////
var
FFilterStr: string; //过滤条件字符串
FCanErrLocal: boolean; //是否本级容错
FCanErrMin, FCanErrMax: integer;//本级容错范围
///////////////////////////////////////////////////////////////////
// DLL入口函数
// 用户可在该函数中对过滤插件进行初始化处理以及资源释放处理
procedure DLLEntryPoint(dwReason: DWORD);
begin
case dwReason of
DLL_PROCESS_ATTACH: //DLL启动
begin
//变量初始化等处理
end;
DLL_PROCESS_DETACH: //DLL退出
begin
//释放资源等处理
end;
end;
end;
///////////////////////////////////////////////////////////////////
// 过滤插件信息函数
{=====================================================================
Function : 获取过滤插件的名称
Result : 过滤插件的名称, 该名称应该不与现有的过滤模块同名
=====================================================================}
function GetFilterName(): PChar; stdcall;
begin
Result := '分布过滤';
end;
{=====================================================================
Function : 获取过滤插件的版本信息
Result : 过滤插件的版本信息
=====================================================================}
function GetVersion(): PChar; stdcall;
begin
Result := '1.0.1';
end;
{=====================================================================
Function : 获取过滤插件的作者信息
Result : 过滤插件的作者信息
=====================================================================}
function GetAuthor(): PChar; stdcall;
begin
Result := '北京盈彩畅联网络科技有限公司';
end;
///////////////////////////////////////////////////////////////////
// 过滤操作相关函数
{=====================================================================
Function : 获取过滤插件的过滤条件字符串
Result : 过滤条件字符串
=====================================================================}
function GetFilterStr(): PChar; stdcall;
begin
Result := PChar(FFilterStr);
end;
{=====================================================================
Function : 设置过滤插件的过滤条件字符串
Arguments: 过滤条件字符串
=====================================================================}
procedure SetFilterStr(sFilterStr: PChar); stdcall;
begin
FFilterStr := sFilterStr;
end;
{=====================================================================
Function : 执行过滤操作,该函数为过滤插件的核心函数,必须实现
Arguments: AChip-要进行过滤的一个单式投注,如:3313011301303
Result : 给定的单式投注不符合的过滤条件个数(即应被过滤的次数)
如单式投注符合所有过滤条件(即应保留)则返回0
=====================================================================}
function SsqExecute(AChip: PChar): integer; stdcall;
begin
Result := 0;
//执行过滤操作 to do
//判断是否本级容错
if FCanErrLocal then
begin
if (Result < FCanErrMin) or (Result> FCanErrMax) then
Result := 1
else
Result := 0;
end else begin
if Result>= 1 then Result := 1
else Result := 0;
end;
end;
{=====================================================================
Function : 过滤校验
Arguments: AChip-要进行过滤的一个单式投注,如:3313011301303
Result : 给定的单式投注的过滤校验信息,没条信息间以回车换行(#13#10)
符分隔,如单式投注符合所有过滤条件(即应保留)则返回空
=====================================================================}
function SsqDebug(AChip: PChar; bShowAll: boolean = false): PChar; stdcall;
begin
Result := '';
//执行过滤校验操作,返回校验结果 to do
end;
{=====================================================================
Function : 打开过滤条件设置窗口。
Arguments: no
Result : no
note : 必须在用户确认后及时刷新FFilterStr值
=====================================================================}
function SsqOpen(hApp: Integer = 0): boolean; stdcall;
var
hOldApp: integer;
frm: TfrmMZFB;
begin
hOldApp := Application.Handle;
Application.Handle := hApp;
frm := TfrmMZFB.Create(nil);
frm.SetFilter(FFilterStr);
frm.ShowModal;
if not frm.bCancel then
FFilterStr := frm.GetFilter;
frm.Free;
Application.Handle := hOldApp;
Result := true;
end;
{=====================================================================
Function : 过滤准备函数,在该函数中可执行过滤条件的优化处理以及过滤
条件的有效性检验
Result : 如过滤条件格式设置正确则返回true,否则返回false
=====================================================================}
function SsqPrepare(): boolean; stdcall;
begin
//to do
end;
///////////////////////////////////////////////////////////////////
// DLL对外接口函数
exports
SsqExecute, //过滤处理
SsqDebug,
SsqOpen,
SsqPrepare,
GetFilterStr,
SetFilterStr,
GetFilterName, //获取过滤插件的信息
GetVersion,
GetAuthor
;
///////////////////////////////////////////////////////////////////
begin
DLLProc := @DLLEntryPoint;
DLLEntryPoint(DLL_PROCESS_ATTACH);
end.
|
|
|
|
|
|
|
|
彩票大赢家 _ 过滤插件 _ 统一注册平台 |
 |
[目的] |
|
充分调动广大来自彩民的软件开发人员开发出更多的源于彩民、贴近彩民、最终服务彩民的高级过滤功能,以更好的推动彩票软件的发展,同时也为那些付出心血的开发者提供应得的回报,希望能得到广大用户和开发人员的支持。 |
 |
[开发使用流程] |
|
过滤插件开发->向我公司申请统一的过滤插件编号(需提交过滤插件及帮助文件)->过滤插件功能测试分析->如果测试通过则我公司返回一个统一的过滤插件编号->签定注册服务合同->我公司负责用户注册及注册费用收取->按月/季度提供注册费报表,并向作者支付注册费用->服务合同终止 |
|
|
 |
[使用说明] |
|
接口文件名:DyjAPI.dll |
|
{函数声明}
{=====================================================================
Function : 注册过滤插件
Arguments: DllID-过滤插件编号(该编号由BitTime统一分配)
DllName-过滤插件名称
DllAuthor-过滤插件作者(版权所有人或单位)
DllVersion-过滤插件版本号(如:1.0.1)
DllRegPrice-过滤插件注册价格(单位为人民币元)
Result : no
=====================================================================}
function RegisterDll(DllID: integer; DllName: PChar; DllAuthor: PChar;
DllVersion: PChar; DllRegPrice: integer) : boolean; external 'DyjAPI.dll';
{=====================================================================
Function : 判断一个过滤插件是否注册
Arguments: DllID-过滤插件编号(该编号由BitTime统一分配)
Result : 过滤插件注册与否
=====================================================================}
function IsRegistered(DllID: integer) : boolean; external 'DyjAPI.dll';
{第三方过滤插件注册按钮事件处理}
procedure TfrmCCZHMain.btnRegClick(Sender: TObject);
begin
//调用过滤插件统一注册接口
RegisterDll(101, '胆注组合过滤', '北京盈彩畅联网络科技有限公司', '1.03', 48);
end;
{第三方过滤插件在执行过滤时判断用户是否为注册用户}
procedure TfrmCCZHMain.btnOKClick(Sender: TObject);
begin
if not IsRegistered(101) then
begin
Application.MessageBox('对不起,过滤插件未注册!','系统提示',MB_ICONINFORMATION);
Exit;
end;
//如果为注册用户则正常使用
//...
end; |
|
|
|
|
|
 |
|