.版本 2
.支持库 iext2
.程序集 窗口程序集1
.程序集变量 已经激活机器人, 逻辑型
.子程序 __启动窗口_创建完毕
.局部变量 临时文件名, 文本型
库路径 = 读配置项 (“.\config.ini”, “系统配置”, “Thesaurus”, )
.如果真 (库路径 = “”)
信息框 (“文件损坏,请重新下载!”, 16, )
结束 ()
.如果真结束
加载资源皮肤 (#皮肤)
Aero特效 (真)
置托盘图标 (图标, 标题)
刷新词条 ()
读系统配置 ()
.子程序 _词条管理_被选择
选择夹1.现行子夹 = 1
.子程序 _系统设置_被选择
选择夹1.现行子夹 = 2
.子程序 _说明_被选择
选择夹1.现行子夹 = 3
.子程序 _捐助_被选择
选择夹1.现行子夹 = 4
.子程序 _关于_被选择
选择夹1.现行子夹 = 5
.子程序 __启动窗口_可否被关闭, 逻辑型
.如果真 (信息框 (“您确定要关闭?”, 64 + #确认取消钮, ) = #取消钮)
返回 (假)
.如果真结束
.子程序 _时钟1_周期事件
标签13.文本颜色 = 多项选择 (取随机数 (1, 9), #黄色, #蓝色, #青蓝, #青绿, #品红, #紫色, #紫红, #黑色, #红色)
标签14.文本颜色 = 多项选择 (取随机数 (1, 9), #黄色, #蓝色, #青蓝, #青绿, #品红, #紫色, #紫红, #黑色, #红色)
标签15.文本颜色 = 多项选择 (取随机数 (1, 9), #黄色, #蓝色, #青蓝, #青绿, #品红, #紫色, #紫红, #黑色, #红色)
标签16.文本颜色 = 多项选择 (取随机数 (1, 9), #黄色, #蓝色, #青蓝, #青绿, #品红, #紫色, #紫红, #黑色, #红色)
标签17.文本颜色 = 多项选择 (取随机数 (1, 9), #黄色, #蓝色, #青蓝, #青绿, #品红, #紫色, #紫红, #黑色, #红色)
标签18.文本颜色 = 多项选择 (取随机数 (1, 9), #黄色, #蓝色, #青蓝, #青绿, #品红, #紫色, #紫红, #黑色, #红色)
标签19.文本颜色 = 多项选择 (取随机数 (1, 9), #黄色, #蓝色, #青蓝, #青绿, #品红, #紫色, #紫红, #黑色, #红色)
标签20.文本颜色 = 多项选择 (取随机数 (1, 9), #黄色, #蓝色, #青蓝, #青绿, #品红, #紫色, #紫红, #黑色, #红色)
标签21.文本颜色 = 多项选择 (取随机数 (1, 9), #黄色, #蓝色, #青蓝, #青绿, #品红, #紫色, #紫红, #黑色, #红色)
.子程序 _最小化到托盘_被选择
显示主界面.标题 = “显示主界面”
延时 (100)
可视 = 假
可视 = 假
.子程序 __启动窗口_托盘事件
.参数 操作类型, 整数型
.如果真 (操作类型 = 2)
显示主界面.标题 = “隐藏主界面”
获取焦点 ()
可视 = 真
位置 = 1
.如果真结束
.如果真 (操作类型 = 3)
弹出托盘菜单 (托盘菜单)
.如果真结束
.子程序 __启动窗口_位置被改变
.如果真 (位置 = 2)
显示主界面.标题 = “显示主界面”
延时 (100)
可视 = 假
.如果真结束
.子程序 _词条管理1_被选择
可视 = 真
位置 = 1
获取焦点 ()
_词条管理_被选择 ()
.子程序 _系统设置1_被选择
可视 = 真
位置 = 1
获取焦点 ()
_系统设置_被选择 ()
.子程序 _说明1_被选择
可视 = 真
位置 = 1
获取焦点 ()
_说明_被选择 ()
.子程序 _捐助1_被选择
可视 = 真
位置 = 1
获取焦点 ()
_捐助_被选择 ()
.子程序 _关于1_被选择
可视 = 真
位置 = 1
获取焦点 ()
_关于_被选择 ()
.子程序 _显示主界面_被选择
.如果 (显示主界面.标题 = “显示主界面”)
可视 = 真
位置 = 1
获取焦点 ()
显示主界面.标题 = “隐藏主界面”
.否则
位置 = 2
.如果结束
.子程序 _按钮6_被单击
.如果真 (列表框1.现行选中项 = -1)
信息框 (“请先选择一个项目!”, 16, )
返回 ()
.如果真结束
.如果真 (信息框 (“您确定要删除此词条吗?”, 64 + #确认取消钮, ) = #取消钮)
返回 ()
.如果真结束
写配置项 (库路径, 列表框1.取项目文本 (列表框1.现行选中项), , )
列表框1.删除项目 (列表框1.现行选中项)
.子程序 _按钮2_被单击
.局部变量 回答, 文本型
.局部变量 i, 整数型
.如果真 (编辑框1.内容 = “”)
信息框 (“问题不能为空!”, 16, )
返回 ()
.如果真结束
.如果真 (列表框2.取项目数 () < 1)
信息框 (“回答不能为空!”, 16, )
返回 ()
.如果真结束
.如果真 (编辑框2.内容 = “”)
编辑框2.内容 = “1”
.如果真结束
.计次循环首 (列表框2.取项目数 (), i)
回答 = 回答 + 列表框2.取项目文本 (i - 1) + “|:|”
.计次循环尾 ()
回答 = 取文本左边 (回答, 取文本长度 (回答) - 3)
写配置项 (库路径, 子文本替换 (编辑框1.内容, #换行符, “\n”, , , 真), “回答”, 回答)
.如果真 (单选框1.选中 = 真)
写配置项 (库路径, 子文本替换 (编辑框1.内容, #换行符, “\n”, , , 真), “方式”, “完全匹配”)
.如果真结束
.如果真 (单选框2.选中 = 真)
写配置项 (库路径, 子文本替换 (编辑框1.内容, #换行符, “\n”, , , 真), “方式”, “问匹配设置”)
.如果真结束
.如果真 (单选框3.选中 = 真)
写配置项 (库路径, 子文本替换 (编辑框1.内容, #换行符, “\n”, , , 真), “方式”, “设置匹配问”)
.如果真结束
写配置项 (库路径, 子文本替换 (编辑框1.内容, #换行符, “\n”, , , 真), “优先级”, 编辑框2.内容)
刷新词条 ()
编辑框1.内容 = “”
列表框2.清空 ()
.子程序 刷新词条
.局部变量 库内容, 文本型
.局部变量 库内容数组, 文本型, , "0"
.局部变量 i, 整数型
列表框1.清空 ()
库内容 = 到文本 (读入文件 (库路径))
库内容数组 = 分割文本 (库内容, #换行符, )
.计次循环首 (取数组成员数 (库内容数组), i)
库内容 = 库内容数组
.如果真 (取文本左边 (库内容, 1) = “[” 且 取文本右边 (库内容, 1) = “]”)
库内容 = 取文本左边 (库内容, 取文本长度 (库内容) - 1)
库内容 = 取文本右边 (库内容, 取文本长度 (库内容) - 1)
列表框1.加入项目 (库内容, )
.如果真结束
.计次循环尾 ()
.子程序 _按钮5_被单击
列表框2.清空 ()
.子程序 _按钮4_被单击
.如果真 (列表框2.现行选中项 = -1)
信息框 (“请先选择一个项目!”, 16, )
返回 ()
.如果真结束
列表框2.删除项目 (列表框2.现行选中项)
.子程序 _按钮3_被单击
.局部变量 输入内容, 文本型
输入内容 = 输入 (“请输入回答内容:”, “新建回答”, )
.如果真 (输入内容 = “”)
返回 ()
.如果真结束
列表框2.加入项目 (输入内容, )
.子程序 _列表框1_列表项被选择
.局部变量 回答, 文本型, , "0"
.局部变量 i, 整数型
列表框2.清空 ()
编辑框1.内容 = 子文本替换 (列表框1.取项目文本 (列表框1.现行选中项), “\n”, #换行符, , , 真)
.如果 (寻找文本 (读配置项 (库路径, 编辑框1.内容, “回答”, ), “|:|”, , 假) > 0)
回答 = 分割文本 (读配置项 (库路径, 编辑框1.内容, “回答”, ), “|:|”, )
.计次循环首 (取数组成员数 (回答), i)
列表框2.加入项目 (回答 , )
.计次循环尾 ()
.否则
列表框2.加入项目 (读配置项 (库路径, 编辑框1.内容, “回答”, ), )
.如果结束
编辑框2.内容 = 读配置项 (库路径, 编辑框1.内容, “优先级”, )
.如果真 (编辑框2.内容 = “”)
编辑框2.内容 = “1”
.如果真结束
.如果真 (读配置项 (库路径, 编辑框1.内容, “方式”, ) = “完全匹配”)
单选框3.选中 = 假
单选框2.选中 = 假
单选框1.选中 = 真
.如果真结束
.如果真 (读配置项 (库路径, 编辑框1.内容, “方式”, ) = “问匹配设置”)
单选框3.选中 = 假
单选框1.选中 = 假
单选框2.选中 = 真
.如果真结束
.如果真 (读配置项 (库路径, 编辑框1.内容, “方式”, ) = “设置匹配问”)
单选框1.选中 = 假
单选框2.选中 = 假
单选框3.选中 = 真
.如果真结束
.子程序 _编辑框3_内容被改变
写配置项 (“.\config.ini”, “系统配置”, “默认回答”, 子文本替换 (编辑框3.内容, #换行符, “\n”, , , 真))
.子程序 _单选框4_被单击
写配置项 (“.\config.ini”, “系统配置”, “回复类型”, “回复好友消息”)
.子程序 _单选框5_被单击
写配置项 (“.\config.ini”, “系统配置”, “回复类型”, “回复群消息”)
.子程序 _单选框6_被单击
写配置项 (“.\config.ini”, “系统配置”, “回复类型”, “回复全部消息”)
.子程序 读系统配置
编辑框3.内容 = 子文本替换 (读配置项 (“.\config.ini”, “系统配置”, “默认回答”, ), “\n”, #换行符, , , 真)
.如果真 (读配置项 (“.\config.ini”, “系统配置”, “回复类型”, ) = “回复好友消息”)
单选框4.选中 = 真
单选框5.选中 = 假
单选框6.选中 = 假
.如果真结束
.如果真 (读配置项 (“.\config.ini”, “系统配置”, “回复类型”, ) = “回复群消息”)
单选框4.选中 = 假
单选框5.选中 = 真
单选框6.选中 = 假
.如果真结束
.如果真 (读配置项 (“.\config.ini”, “系统配置”, “回复类型”, ) = “回复全部消息”)
单选框4.选中 = 假
单选框5.选中 = 假
单选框6.选中 = 真
.如果真结束
编辑框4.内容 = 读配置项 (“.\config.ini”, “系统配置”, “激活语句”, 编辑框4.内容)
编辑框5.内容 = 读配置项 (“.\config.ini”, “系统配置”, “关闭语句”, 编辑框5.内容)
编辑框6.内容 = 子文本替换 (读配置项 (“.\config.ini”, “系统配置”, “欢迎内容”, ), “\n”, #换行符, , , 真)
.子程序 _编辑框4_内容被改变
写配置项 (“.\config.ini”, “系统配置”, “激活语句”, 编辑框4.内容)
.子程序 _编辑框5_内容被改变
写配置项 (“.\config.ini”, “系统配置”, “关闭语句”, 编辑框5.内容)
.子程序 _编辑框6_内容被改变
写配置项 (“.\config.ini”, “系统配置”, “欢迎内容”, 子文本替换 (编辑框6.内容, #换行符, “\n”, , , 真))
.子程序 _按钮1_被单击
超级编辑框彩色内容 (超级编辑框1, #墨绿, “ 我 ” + 到文本 (取小时 (取现行时间 ())) + “:” + 到文本 (取分钟 (取现行时间 ())) + “:” + 到文本 (取秒 (取现行时间 ())))
超级编辑框彩色内容 (超级编辑框1, #黑色, #换行符 + “ ” + 超级编辑框2.内容 + #换行符 + #换行符)
发送消息_ (超级编辑框1.取窗口句柄 (), 277, 7, 0)
.如果真 (已经激活机器人 = 假 且 编辑框4.内容 ≠ “”)
.如果 (对比激活 (超级编辑框2.内容, 编辑框4.内容))
已经激活机器人 = 真
.否则
超级编辑框彩色内容 (超级编辑框1, #灰色, “ 请先发送激活语句激活天籁机器人(此提示在QQ中不会提示)” + #换行符 + #换行符)
返回 ()
.如果结束
.如果真结束
.如果真 (编辑框5.内容 ≠ “” 且 对比激活 (超级编辑框2.内容, 编辑框5.内容))
.如果 (编辑框4.内容 ≠ “”)
已经激活机器人 = 假
超级编辑框彩色内容 (超级编辑框1, #灰色, “ 已经成功关闭天籁机器人(此提示在QQ中不会提示)” + #换行符 + #换行符)
超级编辑框2.内容 = “”
返回 ()
.否则
超级编辑框彩色内容 (超级编辑框1, #灰色, “ 请先设置激活提问(此提示在QQ中不会提示)” + #换行符 + #换行符)
超级编辑框2.内容 = “”
返回 ()
.如果结束
.如果真结束
超级编辑框彩色内容 (超级编辑框1, #青蓝, “ 机器人天籁 ” + 到文本 (取小时 (取现行时间 ())) + “:” + 到文本 (取分钟 (取现行时间 ())) + “:” + 到文本 (取秒 (取现行时间 ())))
超级编辑框彩色内容 (超级编辑框1, #黑色, #换行符 + “ ” + 智能分析 (超级编辑框2.内容) + #换行符 + #换行符)
发送消息_ (超级编辑框1.取窗口句柄 (), 277, 7, 0)
超级编辑框2.内容 = “”
.子程序 _按钮9_被单击
超级编辑框1.内容 = “”
.子程序 _按钮7_被单击
时钟2.时钟周期 = 50
按钮7.禁止 = 真
按钮8.禁止 = 假
.子程序 _按钮8_被单击
时钟2.时钟周期 = 0
按钮7.禁止 = 假
按钮8.禁止 = 真
.子程序 _时钟2_周期事件
.局部变量 临时句柄, 整数型
.局部变量 框内容, 文本型, , "0"
.局部变量 i, 整数型
.局部变量 行内容, 文本型
.局部变量 接收内容, 文本型
.局部变量 矩形, 矩形_
临时句柄 = 取指定点窗口句柄_ (取屏幕宽度 () ÷ 2, 取屏幕高度 () ÷ 2)
.如果真 (取窗口类名_ (临时句柄) ≠ “TXGuiFoundation”)
返回 ()
.如果真结束
时钟2.时钟周期 = 0
框内容 = 分割文本 (取QQ聊天框内容 (临时句柄), #换行符, )
.计次循环首 (取数组成员数 (框内容), i)
行内容 = 框内容 [取数组成员数 (框内容) - (i - 1)]
.如果真 (单选框4.选中) ' 仅回复好友消息
.如果真 (寻找文本 (行内容, “ ”, , 假) > 0 且 寻找文本 (行内容, 到文本 (取小时 (取现行时间 ())) + “:” + 到文本 (取分钟 (取现行时间 ())), , 假) > 0 且 寻找文本 (行内容, “(”, , 假) > 0 且 寻找文本 (行内容, “)”, , 假) > 0)
取窗口矩形_ (临时句柄, 矩形)
PostMessage (临时句柄, 513, 0, 合并整数 (矩形.右边 - 矩形.左边 - 10, 10))
PostMessage (临时句柄, 514, 0, 合并整数 (矩形.右边 - 矩形.左边 - 10, 10))
时钟2.时钟周期 = 50
返回 ()
.如果真结束
.如果真结束
.如果真 (单选框5.选中) ' 仅回复群消息
.如果真 (寻找文本 (行内容, “ ”, , 假) > 0 且 寻找文本 (行内容, 到文本 (取小时 (取现行时间 ())) + “:” + 到文本 (取分钟 (取现行时间 ())), , 假) > 0 且 寻找文本 (行内容, “(”, , 假) = -1 且 寻找文本 (行内容, “)”, , 假) = -1)
取窗口矩形_ (临时句柄, 矩形)
PostMessage (临时句柄, 513, 0, 合并整数 (矩形.右边 - 矩形.左边 - 10, 10))
PostMessage (临时句柄, 514, 0, 合并整数 (矩形.右边 - 矩形.左边 - 10, 10))
时钟2.时钟周期 = 50
返回 ()
.如果真结束
.如果真结束
.如果真 (寻找文本 (行内容, “ ”, , 假) > 0 且 寻找文本 (行内容, 到文本 (取小时 (取现行时间 ())) + “:” + 到文本 (取分钟 (取现行时间 ())), , 假) > 0)
跳出循环 ()
.如果真结束
接收内容 = 行内容 + #换行符 + 接收内容
.计次循环尾 ()
.如果真 (取文本右边 (接收内容, 2) = #换行符)
接收内容 = 取文本左边 (接收内容, 取文本长度 (接收内容) - 2)
.如果真结束
.如果真 (已经激活机器人 = 假 且 编辑框4.内容 ≠ “”)
.如果 (对比激活 (超级编辑框2.内容, 编辑框4.内容))
已经激活机器人 = 真
.否则
取窗口矩形_ (临时句柄, 矩形)
PostMessage (临时句柄, 513, 0, 合并整数 (矩形.右边 - 矩形.左边 - 10, 10))
PostMessage (临时句柄, 514, 0, 合并整数 (矩形.右边 - 矩形.左边 - 10, 10))
时钟2.时钟周期 = 50
返回 ()
.如果结束
.如果真结束
.如果真 (编辑框5.内容 ≠ “” 且 对比激活 (超级编辑框2.内容, 编辑框5.内容))
.如果 (编辑框4.内容 ≠ “”)
已经激活机器人 = 假
取窗口矩形_ (临时句柄, 矩形)
PostMessage (临时句柄, 513, 0, 合并整数 (矩形.右边 - 矩形.左边 - 10, 10))
PostMessage (临时句柄, 514, 0, 合并整数 (矩形.右边 - 矩形.左边 - 10, 10))
时钟2.时钟周期 = 50
超级编辑框2.内容 = “”
返回 ()
.否则
.如果结束
.如果真结束
发送QQ消息 (临时句柄, 智能分析 (接收内容))
延时 (200)
取窗口矩形_ (临时句柄, 矩形)
PostMessage (临时句柄, 513, 0, 合并整数 (矩形.右边 - 矩形.左边 - 10, 10))
PostMessage (临时句柄, 514, 0, 合并整数 (矩形.右边 - 矩形.左边 - 10, 10))
时钟2.时钟周期 = 50
.子程序 取窗口类名_, 文本型
.参数 窗口句柄, 整数型
.局部变量 缓冲区, 文本型
缓冲区 = 取空白文本 (256)
取得类名称_ (窗口句柄, 缓冲区, 256)
返回 (删首尾空 (缓冲区))
.子程序 _超级编辑框2_按下某键, 逻辑型
.参数 键代码, 整数型
.参数 功能键状态, 整数型
.如果真 (键代码 = #回车键)
_按钮1_被单击 ()
返回 (假)
.如果真结束
.子程序 _按钮10_被单击
.局部变量 输入内容, 文本型
.如果真 (列表框2.现行选中项 = -1)
信息框 (“请先选择一个项目!”, 16, )
返回 ()
.如果真结束
输入内容 = 输入 (“请编辑回答内容:”, “编辑回答”, 列表框2.取项目文本 (列表框2.现行选中项))
.如果真 (输入内容 = “”)
返回 ()
.如果真结束
列表框2.置项目文本 (列表框2.现行选中项, 输入内容)
.子程序 _超级编辑框1_鼠标右键被放开, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.如果 (超级编辑框1.被选择文本 = “”)
复制.禁止 = 真
.否则
复制.禁止 = 假
.如果结束
.如果 (超级编辑框1.内容 = “”)
全选.禁止 = 真
清屏.禁止 = 真
.否则
全选.禁止 = 假
清屏.禁止 = 假
.如果结束
弹出菜单 (测试右键菜单, , )
.子程序 _复制_被选择
置剪辑板文本 (超级编辑框1.被选择文本)
.子程序 _全选_被选择
超级编辑框1.被选择字符数 = -1
.子程序 _清屏_被选择
超级编辑框1.内容 = “”
.子程序 _超级编辑框2_鼠标右键被放开, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.如果 (超级编辑框2.被选择文本 = “”)
复制1.禁止 = 真
剪切.禁止 = 真
.否则
复制1.禁止 = 假
剪切.禁止 = 真
.如果结束
.如果 (超级编辑框2.内容 = “”)
全选1.禁止 = 真
清空.禁止 = 真
.否则
全选1.禁止 = 假
清空.禁止 = 假
.如果结束
粘贴.禁止 = 取剪辑板文本 () = “”
弹出菜单 (测试输入菜单, , )
.子程序 _复制1_被选择
超级编辑框2.复制 ()
.子程序 _剪切_被选择
超级编辑框2.剪切 ()
.子程序 _粘贴_被选择
超级编辑框2.粘贴 ()
.子程序 _全选1_被选择
超级编辑框2.被选择字符数 = -1
.子程序 _清空_被选择
超级编辑框2.内容 = “”
.子程序 _列表框1_鼠标右键被放开, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.如果 (列表框1.现行选中项 = -1)
编辑词条.禁止 = 真
删除词条.禁止 = 真
.否则
新建词条.禁止 = 假
编辑词条.禁止 = 假
.如果结束
弹出菜单 (词条管理列表框, , )
.子程序 _新建词条_被选择
编辑框1.内容 = “”
列表框2.清空 ()
.子程序 _删除词条_被选择
_按钮6_被单击 ()
.子程序 _编辑词条_被选择