=====易用API伴侣=====
V1.1.1
开发说明书
================================================================================
●开发环境
操作系统:WinXP-sp2
开发语言:易语言4.0
●支持库文件列表
krnln.fnr //系统核心支持库 (4.1#56版)
eGrid.fne //高级表格 (1.1#4版) //用于数据的显示。
ExtMenu.fnr //超级菜单支持库 (1.3#1版)
iext.fnr //扩展界面支持库一 (1.1#50版) //用树型框管理函数分类。
ewizard.fne //易向导支持库 (1.0#50版)
RegEx.fnr //正则表达式支持库 (1.2#0版) //用于新增函数、易语言例程管理方面。
shell.fne //操作系统界面功能支持库 (1.0#50版)
eCompress.fne //压缩解压支持库 (1.0#3版) //用于导入导出文件的制作。
dp1.fne //数据操作支持库一 (1.0#50版) //用于加密函数的参数字段,防止他人盗用。
xplib.fne //XP风格界面库 (1.1#1版)
iext3.fne //扩展界面支持库三 (1.6#0版
●程序文件列表
Eapi.exe//主可执行文件。
Eapi.ini//程序配置文件。注:在程序第一次启动时创建。
DATA\Function.edb//函数数据库。
DATA\Function.edt//函数数据库辅助数据文件。
DATA\Function.enx//函数数据库索引文件。注:在程序第一次启动时创建。
DATA\Type.edb//数据类型数据库。
DATA\Type.edt//数据类型数据库辅助数据文件。
DATA\Constant.edb//常量数据库。
DATA\Constant.edt//常量数据库辅助数据文件。
DATA\Constant.enx//常量数据库索引文件。注:在程序第一次启动时创建。
DATA\Function.grd//表格模板_函数
DATA\Type.grd//表格模板_数据类型
DATA\Constant.grd//表格模板_常量
DATA\Function.lb//列表项目_函数
DATA\Fun_class.lb//函数分类项目。
DATA\Type.lb//列表项目_数据类型
DATA\example.dat//易语言例程信息。注:在程序第一次启动时创建。
Color\默认配色.clr//默认配色文件。
Help\Eapi.chm//帮助文件。
●数据库结构
数据库名称:\DATA\Function.edb
字段序号 字段名称 字段类型 字段尺寸
字段1 dll命令名 文本型 80 //字段长度超过80个字符将不能创建索引文件。
字段2 dll库名 文本型 20
字段3 dll别名 文本型 100
字段4 dll参数表 字节集型 //被加密的字段,密码为对应的DLL命令名。
字段5 dll返回值 文本型 20
字段6 dll命令名_中文 文本型 50
字段7 dll命令名_说明 备注型
字段8 dll参数名_中文 备注型 //各参数中文名之间用“,”分隔。
字段9 dll参数_说明 备注型 //各参数说明之间用“,”分隔。
字段10 dll返回值_说明 备注型
字段11 dll其它说明 备注型
字段12 是否被修改 逻辑型
字段13 是否为新增 逻辑型
数据库名称:\DATA\Type.EDB
字段序号 字段名称 字段类型 字段尺寸
字段1 类型名称 文本型 50
字段2 类型成员表 备注型
字段3 类型名称_中文 文本型 50
字段4 类型_说明 备注型
字段5 类型成员名_中文 备注型 //各成员中文名之间用“,”分隔。
字段6 类型成员_说明 备注型 //各成员说明之间用“,”分隔。
字段7 数组 备注型 //各成员数组之间用“,”分隔。
字段8 是否被修改 逻辑型
字段9 是否为新增 逻辑型
数据库名称:\DATA\constant.edb
字段序号 字段名称 字段类型 字段尺寸
字段1 常量名称 文本型 80
字段2 常量值_十六进制 备注型
字段3 常量值_十进制 备注型
字段4 常量说明 备注型
字段5 是否被修改 逻辑型
字段6 是否为新增 逻辑型
●如何快速载入函数到列表框
由于本程序的函数比较多,如果用循环方法加入的话会比较慢,那还有更快的方法吗,当然有了,我们查看到列表框的列表项目属性为字节集数据类型,那么只要直接将列表项目字节集数据赋于列表框的列表项目属性就可以了,那我们该如何得到列表项目字节集数据呢?
经过观察,列表项目字节集数据的格式为:
.数据类型 列表项目
.成员 总项目数, 短整数型
.成员 项目文本, 字节集, , "100", 数组值为总项目数。如项目数为100,那数组也为100。
首部的2个字节代表列表项目的总项目数,接着依次存放所有列表项目。
知道了列表项目的数据结构,我们就可以利用易语言中的写出数据()命令来生成列表项目数据了。
详细可参考例程:列表项目格式解析.e
●如何显示API函数数据
使用高级表格来显示函数、数据类型、常量的详细信息。
首先要为它们各自建立一个相应的表格显示模板。
在程序中只要将相应的数据显示到模板的相应位置就可以了。
●如何实现常量的快速查找
由于常量数据量大,常量并没有载入到列表框,而是采用分页显示的方法进行浏览。
这样做后,查找就成了问题,如果提供了完整的常量名称,我们用索引查找()命令就可快速找到,但是如果要实现首部匹配查找,常规的做法是先将记录指针移到首记录,然后再用查找()命令查找,但数据太多,查找速度就会很慢,那我们应该用什么方法提高速度呢?
我们看到常量的名称是以字母开头的,数据库是经过排序的,比如你要查找以字母W开头的常量,那么我们就首先将记录指针移到数据库中以字母W开头的记录位置,而不是移到首记录位置,然后再用查找()命令进行查找,这样就会快很多了。
那如何知道以字母W开头的记录位置在哪呢,这个我们可以将所有26个字母的记录位置事先取出来,保存到一个数组中。
这样在我们要查找的时候,首先判断首字母是什么,然后跳到相应的记录位置,再进行查找。
●如何从VB声明中新增数据到数据库
我们可以用正则表达式来提取出所有的函数、数据类型、常量,然后添加到数据库的尾部。
正则表达式1:匹配VB格式的API函数声明。
取VB声明表达式.创建 (“((Declare Sub )|(Declare Function ))(.+?) Lib ” + #引号 + “(.+?)” + #引号 + “ ((Alias ” + #引号 + “(.+?)” + #引号 + “ )|())\((.+?)\)(( As ([a-zA-Z]+)$)|($))”, )
正则表达式2:匹配VB格式的API数据类型声明。
取数据类型表达式.创建 (“Type (.+?)\r\n(.+?)End Type”, )
正则表达式3:匹配VB格式的API常量声明。
取常量表达式.创建 (“Const (.+?) = (.+?)\r\n”, )
●如何添加易语言例程
所有例程信息由一个文本文件保存。
一行文本代表一个例程的信息。
数据结构为:,+函数名集合+,+<+例程全路径名+>+#换行符
函数名集合中函数名用“,”分隔。
例如:,GetDC,GetCursorPos,GetPixel,,<E:\My Documents\E程序\API类\屏幕取色.e>
我们每添加一个例程都要提取出此例程中所有的API函数名,如有API函数调用则添加,反之不添加。
关于如何提取出易语言程序源码中的DLL命令名,具体提取方法可查看源程序中的提取DLL函数名()子程序。
●如何实现数据的导入导出
保存API数据信息的文件的扩展名定义为(*.eapi)。
此文件为一个ZIP格式的压缩文件,压缩文件中包含6个文件:
Function.edb,Function.edt,//保存函数信息的数据库。
Type.edb,Type.edt,//保存数据类型信息的数据库。
constant.edb,constant.edt//保存常量信息的数据库。
在执行时导入导出时将会在Windows临时目录创建名为“Eapi”的目录,导入时将数据库文件释放到此处,导出时将在此目录创建数据库文件。
导入的时候新增的数据将添加到数据库尾部,并更新索引,重复的不添加。
导出时将搜索库中新增的、被修改过的数据,供用户选择后导出数据。
==========================================================
钟少敏
2005-6-4 1:14
易语言源码易用API伴侣.rar
版权申诉
116 浏览量
2022-07-13
17:24:26
上传
评论
收藏 2.36MB RAR 举报
Cheng-Dashi
- 粉丝: 108
- 资源: 1万+
最新资源
- 基于matlab实现 powell算法 用matlab实现,使用方法内附详细说明.rar
- 基于matlab的手写字体识别程序,并对结果进行保存.rar
- 基于c语言指纹识别demo代码 包括了指纹图像方向图计算、频率计算、gabor滤波器增强,细化,特征点提取,特征点匹配.rar
- 基于c++NSGA-2思想的多目标优化程序,采用进化算法处理多目标实值优化问题.rar
- Linux系统中常用权限管理命令
- Coello Coello等人提出了MOPSO 该程序基于matlab实现针对测试函数matlab程序
- Linux系统中常用权限管理命令
- AIR-AP1815-K9-ME-8-5-182-0.tar For Cisco AP1815
- 实验七.zip
- ESP8266刷固件软件flash-download-tools-v3.6.5,AT固件,机智云固件
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈