双色球插件开发说明文档Word格式.docx

上传人:b****3 文档编号:15723937 上传时间:2022-11-15 格式:DOCX 页数:57 大小:503.45KB
下载 相关 举报
双色球插件开发说明文档Word格式.docx_第1页
第1页 / 共57页
双色球插件开发说明文档Word格式.docx_第2页
第2页 / 共57页
双色球插件开发说明文档Word格式.docx_第3页
第3页 / 共57页
双色球插件开发说明文档Word格式.docx_第4页
第4页 / 共57页
双色球插件开发说明文档Word格式.docx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

双色球插件开发说明文档Word格式.docx

《双色球插件开发说明文档Word格式.docx》由会员分享,可在线阅读,更多相关《双色球插件开发说明文档Word格式.docx(57页珍藏版)》请在冰豆网上搜索。

双色球插件开发说明文档Word格式.docx

它们在软件中的表现为(左高级、右常规)

这里展示的是过滤器的一级界面,高级过滤在点击

后会触发二级界面。

在1.04版500WANSSQ里提供了插件管理功能,目前功能还很简单,只是实现了最重要的插件升级功能,关于插件的启用禁用,排序分类,使用统计等等将在以后的升级版中完成。

(如果文档阅读不方便请从视图中选择文档结构图)

插件开发方法

下面逐步举例说明如何开发500WANSSQ过滤插件

针对习惯使用不同开发工具的程序员提供了delphi版和VC版说明

本文相关源码已包含在双色球Plus目录下

[翻页]

[Delphi]

一过滤插件开发说明

(相关代码参照plus\\forplugins\delphi\ssqPublicDefine.pas)

过滤插件只须实现并导出插件入口函数/EntryFunction(此入口函数非指Win32Executeble系统入口函数EP)即可。

----------------------------------------------------------------------------------------------------------------------

EntryFunction定义如下

TssqPlgFilterIntfFunction=function:

PssqPlgFilterIntfData;

stdcall;

//PssqPlgFilterIntfData是结构体指针,下边再说明

也就是定义并实现这样一个函数

functionpluginEntry():

Pointer;

export;

同时在导出部分申明

exports

pluginEntryIndex1;

500WANSSQ识别插件是通过编号为1的导出函数,所以函数名称无限制

EntryFunction返回一个指向TssqPlgFilterIntfData结构体的指针

TssqPlgFilterIntfData定义如下:

PssqPlgFilterIntfData=^TssqPlgFilterIntfData;

TssqPlgFilterIntfData=record

sign:

DWORD;

//识别码$03809663

guid:

array[0..37]ofchar;

publishkey:

PCHAR;

//releasesign

privatekey:

//developsignlinktomachineid

softwareid:

//产品编号

//开发授权:

hardware+privatekey

//发布授权:

softwarecrc+publishkey

fltName:

//过滤器名称

fltAuthor:

fltVersion:

fltDiscrib:

//描述

fltAction:

function(constactId:

Integer;

constactin:

actout:

Pointer):

//升级

fltclass:

//过滤类别12

fltminorclass:

//过滤类别2下的12对应高级的不同模板(1只有1种,所以不区分)

pguiCreation:

//一级UI创建函数PFltGUIPanelCreation

pInputWndCreation:

//二级UI创建函数PFltInputWndCreation

pinputWndAction:

f_initcallback:

procedure(IG,II:

IInterface;

time:

Integer);

f_decodeArgstr:

function(pszArgStr:

PChar):

f_itemfilter:

function(pcode:

pByte;

codelen:

Integer):

f_itemcheck:

function(pcode:

plErr,psErr:

PInteger;

pszConditionsArray:

PChar;

pConditionResultArray:

PBOOL;

pConditionsValueArray:

pConditionsCount:

PInteger):

BOOL;

end;

Sign:

过滤插件标识符要求等于16进制的$03809663

guid:

插件唯一标识,不允许重复。

比如'

{381948E8-E4F3-4FE4-B2CC-3F03D19C7B97}'

publishkey、privatekey、softwareid:

开发授权发布授权以及注册用,目前无效,可以为空

fltName:

插件名称(比如:

匹配过滤,号码生克),不能与其它已存在过滤插件重名;

fltAuthor:

作者

fltVersion:

版本号

fltDiscrib:

插件描述;

fltAction:

行为响应事件回调,不是必须的。

包含3个参数

actID表示事件id

C_ACT_INIT=1001;

//插件初始化

C_ACT_UPDATE=1002;

//插件初更新

C_ACT_CALL=1003;

//插件传调

actin,actout:

分别表示事件发生时的输入内容和输出buffer(将在后面详细介绍用法)

fltclass:

插件过滤类型,目前定义常规和高级(数值表示为1和2)

同时它还决定后面fltminorclass、pguiCreation、pInputWndCreation几个参数的意义,后文会做详细说明

fltminorclass:

在fltclass为1和2的情况下才有意义,表示调用默认过滤模版类ID

pguiCreation:

仅当fltclass为0时有意义。

表示创建UI面板的函数指针

pInputWndCreation:

表示创建条件输入窗口的函数指针

pinputWndAction:

在fltclass为1和2的情况下才有意义,表示响应模版行为的接口

f_initcallback:

4个重要的函数之一,在过滤器UI创建完后回调,做UI响应用;

f_decodeArgstr:

4个重要的函数之一,解析用户自定义的条件。

f_itemfilter:

4个重要的函数之一,如何过滤一注号码

f_itemcheck:

4个重要的函数之一,与f_itemfilter相似,不过这里是做号码过滤测试,并不是做过滤。

以上4个函数在下文再做说明。

(这里使用的开发环境为Delphi2007/WindowsXP)

A常规过滤插件的做法(以大尾个数为例说明)

1打开delphi选择File->

NewProject

从对话框中选择DLLWizard

2从project菜单选择AddtoProject

弹出文件对话框中选择plus\forplugins\delphi目录下ssqInterfaces.pas、ssqPublicDefine.pas

添加到project中

3编写插件入口函数

首先定义TssqPlgFilterIntfData结构体全局变量plugintf用于储存插件所有信息

var

plugintf:

TssqPlgFilterIntfData;

在入口插件中填充plugintf所有字段信息,最后返回plugintf地址给插件管理器

const

C_PLUGINNAME='

大尾个数'

;

C_PLUGINGUID='

C_PLUGINPUBKEY='

0123456789'

C_PLUGINPRVKEY='

C_PLUGINID='

2095890iuosdugo23498iof8979'

C_PLUGINVER='

1.0'

C_PLUGINAUTHOR='

me@mmmm'

begin

withplugintfdo

begin

=$03809663;

//识别码$03809663

StrMove(guid,C_PLUGINGUID,Sizeof(guid));

=C_PLUGINPUBKEY;

=C_PLUGINPRVKEY;

=C_PLUGINID;

//开发授权:

ha

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 信息与通信

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1