网站首页 > 易语言相关 > 易语言例程 正文
CHM帮助文档解析易语言源码
@断翅的三叶草
.版本 2 .支持库 spec .程序集 程序集_解析CHM文档 .程序集变量 程_文件号, 整数型 .程序集变量 程_目录块大小, 整数型 .程序集变量 程_Header1长度, 整数型 .程序集变量 程_Header2长度, 整数型 .程序集变量 程_目录块数, 整数型 .程序集变量 程_PMGL块数, 整数型 .程序集变量 程_QuickrefSection, 整数型, , , '密度 .子程序 打开CHM文件 .参数 参_文件名, 文本型 .局部变量 局_字节集, 字节集 .局部变量 局_读写位置, 整数型 .局部变量 局_Str, 文本型 程_文件号 = 打开文件 (参_文件名, #读入, #禁止写) 局_字节集 = 读入字节集 (程_文件号, 4) 调试输出 (“标识:” + 到文本 (局_字节集)) ' ITSF ' 本源码来自三叶资源网(www.sanye.cx) 局_字节集 = 读入字节集 (程_文件号, 4) 调试输出 (“版本号:” + 到文本 (取字节集数据 (局_字节集, #整数型, ))) ' 版本号 3 局_字节集 = 读入字节集 (程_文件号, 4) 调试输出 (“头文件总长度:” + 到文本 (取字节集数据 (局_字节集, #整数型, ))) 局_字节集 = 读入字节集 (程_文件号, 4) 调试输出 (“未知用途:” + 到文本 (取字节集数据 (局_字节集, #整数型, ))) ' 1 未知 局_字节集 = 读入字节集 (程_文件号, 4) 调试输出 (“时间戳:” + 到文本 (取字节集数据 (局_字节集, #整数型, ))) ' 时间戳 ‘132277464 局_字节集 = 读入字节集 (程_文件号, 4) 调试输出 (“语言ID:” + 到文本 (取字节集数据 (局_字节集, #整数型, )) + “ 简体中文”) ' 语言ID 2052 局_字节集 = 读入字节集 (程_文件号, 16) 局_Str = “Guid1:” + 字节集_到十六进制 (局_字节集) ' 10FD017CAA7BD0119E0C00A0C922E6EC 对于GUID不是很懂不知道为啥前半段是倒过来的 局_字节集 = 读入字节集 (程_文件号, 16) ' 11FD017CAA7BD0119E0C00A0C922E6EC 对于GUID不是很懂不知道为啥前半段是倒过来的 调试输出 (局_Str + “,Guid2:” + 字节集_到十六进制 (局_字节集)) 局_字节集 = 读入字节集 (程_文件号, 8) 局_Str = “Header1Star:” + 到文本 (取字节集数据 (局_字节集, #整数型, )) 局_字节集 = 读入字节集 (程_文件号, 8) ' Header1Star 96 ' Header1Len 24 程_Header1长度 = 取字节集数据 (局_字节集, #整数型, ) 调试输出 (局_Str + “ Header1Len:” + 到文本 (程_Header1长度)) 局_字节集 = 读入字节集 (程_文件号, 8) 局_Str = “Header2Star:” + 到文本 (取字节集数据 (局_字节集, #整数型, )) 局_字节集 = 读入字节集 (程_文件号, 8) 程_Header2长度 = 取字节集数据 (局_字节集, #整数型, ) 调试输出 (局_Str + “ Header2Len:” + 到文本 (程_Header2长度)) ' 本源码来自三叶资源网(www.sanye.cx) 局_字节集 = 读入字节集 (程_文件号, 8) 调试输出 (“内容部分文件偏移:” + 到文本 (取字节集数据 (局_字节集, #整数型, ))) ' 附加头 调试输出 (“头文件分析结束,当前位置:” + 到文本 (取读写位置 (程_文件号))) 读取Header1 () .子程序 读取Header1, , , ' 本源码来自三叶资源网(www.sanye.cx) .局部变量 局_字节集, 字节集 .局部变量 局_读写位置, 整数型 .局部变量 局_位置, 整数型 调试输出 (“======Header1======”) 局_位置 = 1 局_字节集 = 读入字节集 (程_文件号, 程_Header1长度) 调试输出 (“未知用途:” + 到文本 (取字节集数据 (局_字节集, #整数型, 局_位置))) ' 4 调试输出 (“未知用途:” + 到文本 (取字节集数据 (局_字节集, #整数型, 局_位置))) ' 4 调试输出 (“文件大小:” + 到文本 (取字节集数据 (局_字节集, #长整数型, 局_位置))) ' 8 调试输出 (“未知用途:” + 到文本 (取字节集数据 (局_字节集, #整数型, 局_位置))) ' 4 调试输出 (“未知用途:” + 到文本 (取字节集数据 (局_字节集, #整数型, 局_位置))) ' 4 读取Header2 () .子程序 读取Header2 .局部变量 局_字节集, 字节集 .局部变量 局_位置, 整数型 .局部变量 局_PMGI层, 整数型 调试输出 (“======Header2======”) 局_字节集 = 读入字节集 (程_文件号, 程_Header2长度) 调试输出 (“标识:” + 到文本 (取字节集左边 (局_字节集, 4))) 局_位置 = 5 调试输出 (“版本号:” + 到文本 (取字节集数据 (局_字节集, #整数型, 局_位置))) 调试输出 (“SectionLen:” + 到文本 (取字节集数据 (局_字节集, #整数型, 局_位置))) 调试输出 (“未知用途:” + 到文本 (取字节集数据 (局_字节集, #整数型, 局_位置))) 程_目录块大小 = 取字节集数据 (局_字节集, #整数型, 局_位置) 调试输出 (“目录块大小:” + 到文本 (程_目录块大小)) 程_QuickrefSection = 取字节集数据 (局_字节集, #整数型, 局_位置) 调试输出 (“QuickrefSection:” + 到文本 (程_QuickrefSection)) 局_PMGI层 = 取字节集数据 (局_字节集, #整数型, 局_位置) 调试输出 (“索引树的深度:” + 到文本 (局_PMGI层)) ' 1.表示没有索引 2.表示有一层的PMGI数据块 调试输出 (“根索引的块号:” + 到文本 (取字节集数据 (局_字节集, #整数型, 局_位置))) 调试输出 (“第一个PMGL的块号:” + 到文本 (取字节集数据 (局_字节集, #整数型, 局_位置))) 调试输出 (“最后一个PMGL的块号:” + 到文本 (取字节集数据 (局_字节集, #整数型, 局_位置))) 调试输出 (“未知用途:” + 到文本 (取字节集数据 (局_字节集, #整数型, 局_位置))) 程_目录块数 = 取字节集数据 (局_字节集, #整数型, 局_位置) 调试输出 (“目录块数:” + 到文本 (程_目录块数)) .如果真 (局_PMGI层 = 2) 程_目录块数 = 程_目录块数 - 1 .如果真结束 调试输出 (“语言ID:” + 到文本 (取字节集数据 (局_字节集, #整数型, 局_位置)) + “ 英语”) 调试输出 (“Guid:” + 到文本 (字节集_到十六进制 (取字节集中间 (局_字节集, 局_位置, 16)))) 局_位置 = 局_位置 + 16 .计次循环首 (4, ) 调试输出 (“未知用途:” + 到文本 (取字节集数据 (局_字节集, #整数型, 局_位置))) .计次循环尾 () 局_字节集 = 取字节集中间 (局_字节集, 85, 程_Header2长度 - 84) 读取数据块 (局_字节集) .子程序 读取数据块 .参数 参_Header字节集, 字节集 .局部变量 局_字节集, 字节集 .局部变量 局_位置, 整数型 .局部变量 局_计次, 整数型 .局部变量 局_项目数, 整数型 .局部变量 局_计次n, 整数型 .局部变量 局_QuickRefLen, 整数型 .局部变量 局_int, 字节集 .计次循环首 (程_目录块数, 局_计次) 局_字节集 = 取字节集中间 (参_Header字节集, 程_目录块大小 × (局_计次 - 1) + 1, 程_目录块大小) 调试输出 (“======数据块” + 到文本 (局_计次) + “======”) 调试输出 (“标识:” + 到文本 (取字节集左边 (局_字节集, 4))) 局_位置 = 5 局_QuickRefLen = 取字节集数据 (局_字节集, #整数型, 局_位置) 调试输出 (“QuickRefLen:” + 到文本 (局_QuickRefLen)) 调试输出 (“未知用途(恒为0):” + 到文本 (取字节集数据 (局_字节集, #整数型, 局_位置))) 调试输出 (“前一个列表块的块号:” + 到文本 (取字节集数据 (局_字节集, #整数型, 局_位置))) ' 如果这是第一个块,该值为-1” 调试输出 (“后一个列表块的块号:” + 到文本 (取字节集数据 (局_字节集, #整数型, 局_位置))) ' 如果这是最后一块,该值为-1” 局_项目数 = 取字节集数据 (取字节集右边 (局_字节集, 2), #短整数型, ) 调试输出 (“PMGL块项目数:” + 到文本 (局_项目数)) .计次循环尾 ()
猜你喜欢
- 2024-03-21 蓝奏云直链解析纯协议源码
- 2019-07-31 YY号取UID易语言源码
- 2019-07-25 大众点评扫码登录易语言源码
- 2019-07-06 百度云计算图片识别易语言源码
- 2019-07-06 多线程检测手机号是否注册美团易语言源码
- 2019-07-05 获取窗口内鼠标坐标易语言源码
- 2019-06-23 伊对APP协议易语言源码(IOS)
- 2019-06-19 树形框项目切换易语言源码
- 2019-06-18 Windows身份验证易语言源码
- 2019-06-16 自媒体多平台多领域热文采集易语言源码
你 发表评论:
欢迎- 百度站内搜索
- 关注微信公众号
- 网站分类
-
- 网站公告
- 电子书书籍
- 程序员工具箱
- 编程工具
- 易语言相关
- 网络相关源码
- 图形图像源码
- 系统工具源码
- 易语言模块源码
- 易语言支持库
- 数据库类源码
- 易语言例程
- 易语言游戏开发
- 易语言模块
- 多媒体类源码
- 易语言资源网
- 易语言视频教程
- JS分析教程
- 易语言图文教程
- 易语言常见问题及笔记
- 工具源码
- 易语言版本
- 网络编程
- javascript
- PHP编程
- html
- 正则表达式
- 面试题
- nodejs
- 其它综合
- 脚本专栏
- python
- 按键精灵相关
- 按键精灵图文教程
- 按键精灵视频教程
- 按键精灵Q语言
- 按键精灵安卓版
- golang
- 游戏安全
- 火山相关
- 火山安卓软件
- 火山常见问题及笔记
- 火山安卓源码
- 火山视频教程
- 火山PC版本下载
- 火山PC视窗例程
- 互联网那些事
- 引流推广
- 项目揭秘
- 网络营销
- 营销软件
- QQ营销软件
- 娱乐软件
- 机器人插件
- 培训教程
- 技术教程
- 活动线报
- 数据库
- Redis
- Access
- MongoDB
- Mysql
- 问答
- 其它
- 易语言
- 需求
- 在线教程
- 多线程培训班
- 觅风易语言教程
- 模拟系列教程
- 集中营易语言教程
- 历史数据
- 随机tag
已有5位网友发表了看法:
易语言教程 评论于 [2019-11-04 18:06:32] 回复
CHM解析 易语言
易语言教程 评论于 [2020-02-01 00:36:36] 回复
易语言怎么写软件里面的帮助文档
通信测试 评论于 [2020-03-15 19:00:19] 回复
易语言chm
程序代码 评论于 [2020-03-23 10:24:35] 回复
CHM解析
程序代码 评论于 [2020-03-23 10:25:21] 回复
分析易语言源码