网站首页 > 易语言相关 > 系统工具源码 正文
资料收集工具(易语言2005年大赛三等奖)
“Glean资料收集工具”设计文档
参赛的几项说明:
*本程序使用 3.8 版编写。
*文件清单及位置:(12个文件,没有易编译后的exe程序和发布安装程序)
(工作目录下)
设计文档.txt 本资料
glean.e 资料收集工具主程序
gettext.e 快速保存文字资料程序
G_HELP.CHM 帮助文件
getresource.dll 传递信息的 DLL 文件(源程序在本资料中)
glean01.ico IE 工具按钮的图标
glean02.ico IE 工具按钮的图标
regvsr32.exe 系统注册程序(每台机器都应该有)
data(子目录)
zlk.edb 资料库
zlk.edt 资料库
glean简要说明.ewd EWD文档的例子
glean简要说明.rtf RTF文档的例子
一、本次参加大奖赛的修改说明:
原来的程序主要是编辑HTML格式的资料,因此使用了微软的 dhtmled.ocx,由于本次大奖赛要求不能使用外部OCX控件,易语言没有这方面的支持库。为了适应大奖赛的要求,删除了 dhtmled.ocx 控件,改用办公组件。我认为这使软件的通用性变差。
二、程序的调用流程:
程序有两种启动方式:1 直接启动主程序,实现资料的浏览、编辑功能。2 由 IE 浏览器启动,实现收集资料的功能。对于后者的启动流程分解如下:
1、由自定义的 IE 工具按钮、或者右键菜单,分别通过注册表启动 geturl.htm 和 gettext.htm 脚本程序。
2、脚本程序负责生成 IE 中的必要信息(网页地址、功能信息、程序的执行路径、网页名称。),然后启动 GetResource.dll ,并传递参数。
3、GetResource.dll 根据功能信息(按钮或右键)分别启动不同的 E 程序,完成收集资料的工作。
三、脚本程序。比较简单,可以直接查看程序安装目录下的文件。(首次运行主程序 glean 即可生成)
四、GetResource.dll
注:E 语言生成的 Dll 文件不能被 windows 注册,所以使用 VB 编写。
GetResource.dll 文件的作用是充当调用 E 程序的桥梁。它的功能有两个:
1、传递参数。
2、根据功能信息(INFO)调用不同的 E 程序。
它只有一个子程序,如下:
Public Sub geturl(URL As String, Info As String, sFilePath As String, sName As String)
'入口参数: URL--网页的地址,INFO--“按钮”或“右键”,SFILEPATH--程序的执行路径,SNAME--网页的名称。
Dim szlPath As String, sdirTemp As String
Dim strInfo As String
Dim sFlName As String
Dim Errno As Variant
sFilePath = Replace(sFilePath, "\\", "\")
sFlName = Replace(sName, " ", "<@>") 'dos的参数是用空格分段的。
If Info = "右键" Then
'右键,直接保存。
strInfo = sFilePath + "\gettext.exe " + URL + " " + sFilePath + " " + sFlName
Else
'按钮,调出资料编辑窗口
strInfo = sFilePath + "\glean.exe " + URL + " " + sFilePath + " " + sFlName
End If
Errno = Shell(strInfo, 1)
End Sub
五、在 IE 浏览器上增加工具按钮和右键菜单的方法。
1、增加工具按钮
对于注册表的主键:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Extensions 作如下操作:
(1)在Extensions中新建主键,主键的命名格式为“{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}”,如:{11111111-2222-3333-4444-555555555555},这里不能和其它主键名发生重复。
(2)在新建的主键中建立名为ButtonText的字符串,该字符串的作用是定义按钮上显示的文字。
(3)建立名为Clsid的字符串,其值固定为{1FBA04EE-3024-11d2-8F1F-0000F87ABD16},它是IE工具条的类标识码。
(4)建立名为Default Visible的字符串,赋值“Yes”,该字符串的作用是确定自定义的按钮在工具栏上是否显示,No为不显示。
(5)建立名为HotIcon的字符串,其值为鼠标移到该按钮上时显示的图标文件名。
(6)建立名为Icon的字符串,其值为该按钮一般情况下显示的图标文件名。
(7)建立名为MenuText的字符串,它的作用是定义按钮在IE“工具”菜单中显示的文字。
(8)建立名为MenuStatusBar的字符串,它的作用是定义鼠标移到IE“工具”菜单中的按钮时在状态栏上显示的文字。
(9)建立名为Script的字符串,它的作用是定义此按钮执行的“HTML”文件的名称。
2、右键菜单
(1)在注册表HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt项下建立一个新项,项的名称既出现在菜单中的标题。
(2)将新建项的默认值设定为一个URL地址,当用户点击菜单项后,IE就会调用URL指向的页面中的脚本程序。
六、资料库的数据结构:
由于数据关系比较简单,同时没有保密安全等特特别的要求,所以选用 E 自带的 edb 数据库。
文件名:zlk.edb (在程序工作目录下的 .data\ 子目录)
字段结构:
1、z_id 文本型 长度=12 记录的唯一标识(见下面的说明)
2、z_fid 文本型 长度=12 父记录标识(见下面的说明)
3、z_type 文本型 长度=1 资料的类型(目录=D,ewd格式=E,rtf格式=R,txt格式=T)
4、z_caption 文本型 长度=100 资料标题
5、z_zl 字节集型 长度= 资料
6、z_url 文本型 长度=100 资料来源的url
7、z_imgdir 文本型 长度=100 资料中图形文件的保存目录(暂时不用)
8、z_sy 整数型 长度= 树型框中使用的索引
id的详细说明:
为了分类组织资料,需要id具有分类功能。id号的例子“0101”。每两位一段,最大六段。也就是说,资料的层次(如章节)最多六层。编号的每一位采用如下序列:
“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”,两位编号的容量是1296-1。
资料所属的目录的id就是父id(z_fid),如果 z_fid = "00" ,说明它是根目录。
七、程序中的特别问题
1、源程序中不使用计次循环。
非正版“易”的计次循环虽然计次正确,但是计次变量不变,永远是 0 。所以程序中不能使用计次循环。
2、由于超文本浏览框没有提供“复制”功能,并且模拟键盘或发消息的方法也同样不可用(很多控件是可用的,但是超文本浏览框不行)。
另外关于控件是否有焦点方法、控件已经获得焦点的事件,在易语言中不是所有的控件都有效。超文本浏览框就是无效。所以也没有办法控制按钮、菜单的禁止功能。
所以当焦点在浏览器上,用户按了复制、剪切等菜单功能时无操作。实在没有别的办法。
@易语言学习论坛
- 上一篇: 装机标识系统
- 下一篇: 运行DOS系列命令源码
猜你喜欢
- 2021-11-09 快启动源码(类似音速启动)
- 2021-11-07 Edis86-易语言独立开发的反汇编引擎纯源码
- 2021-11-06 Windows仿资源管理器
- 2021-10-29 WINDOWS/LINUX/SFTP远程连接管理工具V3.0加强开源
- 2019-07-25 修改易语言模块图标源码
- 2019-06-21 基于SunDay匹配算法改良的寻找字节集易语言源码
- 2019-04-21 易语言获取本机信息源码
- 2019-03-31 电脑缓存清理助手易语言源码
- 2019-03-30 Windows系统管理工具源码
- 2019-01-15 内存特征码搜索定位(采用KMP算法)
欢迎 你 发表评论:
- 百度站内搜索
- 关注微信公众号
- 网站分类
-
- 网站公告
- 电子书书籍
- 程序员工具箱
- 编程工具
- 易语言相关
- 网络相关源码
- 图形图像源码
- 系统工具源码
- 易语言模块源码
- 易语言支持库
- 数据库类源码
- 易语言例程
- 易语言游戏开发
- 易语言模块
- 多媒体类源码
- 易语言资源网
- 易语言视频教程
- JS分析教程
- 易语言图文教程
- 易语言常见问题及笔记
- 工具源码
- 易语言版本
- 网络编程
- javascript
- PHP编程
- html
- 正则表达式
- 面试题
- nodejs
- 其它综合
- 脚本专栏
- python
- 按键精灵相关
- 按键精灵图文教程
- 按键精灵视频教程
- 按键精灵Q语言
- 按键精灵安卓版
- golang
- 游戏安全
- 火山相关
- 火山安卓软件
- 火山常见问题及笔记
- 火山安卓源码
- 火山视频教程
- 火山PC版本下载
- 火山PC视窗例程
- 互联网那些事
- 引流推广
- 项目揭秘
- 网络营销
- 营销软件
- QQ营销软件
- 娱乐软件
- 机器人插件
- 培训教程
- 技术教程
- 活动线报
- 数据库
- Redis
- Access
- MongoDB
- Mysql
- 问答
- 其它
- 易语言
- 需求
- 在线教程
- 多线程培训班
- 觅风易语言教程
- 模拟系列教程
- 集中营易语言教程
- 历史数据
- 随机tag









已有1位网友发表了看法:
易语言网站 评论于 [2019-06-23 20:50:02] 回复
易语言ewd格式