小程序 窗体消息(整数 窗口,整数 消息,整数 参数,整数 数据)
判断(消息)
为 窗口关闭 {停止(0)}
为 单击左键{左键点击(参数)}
为 窗口缩放{缩放窗口(数据)}
为 点击右键{窗口置顶(窗口)展示菜单(菜单.1,0,数据 &$FFFF, 数据>>16,窗口,0)}
否则{处理窗口(窗口,消息,参数,数据)}
结束;
数据表 修复{整数 位置;文本 名称[16]}
整数 配置,行字,型号,选型,标记,指针,代码,位置;
整数 首,尾=-1,字,高度=650,顶行,选字=60,掩码=$40000000;文本 名称[120],路径[32];
文件框类 文件框(长度=76,路长=64);颜色框类 选色(长度=36)
字体框类 字框(长度=60,标记=$101);逻辑字体类 字号;查找替换类 查换(长度=40,标记=$78,查找=2,替长=2)
小程序 窗体启动
重置 修复(100)
文件框.路径=路径;
文件框.分类 = "文本文档'\0'*.txt'\0'";
选色.窗口=窗体
字框.窗口=?
查换.窗口=?
字框.字体=字号
选色.数组=?
查换.查找="顶替";
查换.替换="替换";
配置=申请内存(5120)
行字=?+80
型号=?+300
选型=?+640
标记=?+640
代码=?+860
模块名称(0,配置,80)
配置(文字长度(配置)-3)&=$696E69
添加项("型号",型号,架构,0)
添加选项(型号,选型,种类)
字=名称;显示行号
读取消息
结束;
小程序 读设置(整数 段名,整数 键名,整数 内容)
读取文字(段名,键名,空,内容,640, 配置)
结束;
小程序 左键点击(整数 参数)
判断(参数)
为 2显示内容
为 3保存内容
为 4停止(0)
为 5,1001编辑操作($304)
为 6,1002编辑操作($454)
为 7,1003编辑操作($300)
为 8,1004编辑操作($301)
为 9,1005编辑操作($302)
为 1006编辑操作($303)
为 10搜索内容
为 11替换内容
为 12更改颜色
为 13更改字体
为 14编译程序
为 19更换颜色($FF)
为 20更换颜色($FF00)
为 21更换颜色($FF0000)
为 22更换颜色($FFFF)
为 23更换颜色($FFFF00)
为 24更换颜色($FF00FF)
为 $10011选择型号
为 $4000001显示行号
结束;
小程序 编辑操作(整数 消息)
发送消息(文档,消息,0,0)
结束;
小程序 更换颜色(整数 颜色)
清零(名称,60)名称(12)&=颜色;
发送消息(文档,$444,1,@选字)
结束;
小程序 选择型号
型号=发送消息(架构, 取组合项,0,0)
型号=发送消息(架构, 组合数据,型号,0)
添加选项(型号,选型,种类)
结束;
小程序 更改颜色
如果(颜色选框(选色))更换颜色(选色.颜色)
结束;
小程序 更改字体
整数 字体;
如果(字体选框(字框)){
字体=新建字体(字号)
发送消息(文档,指定字体,字体,0)
发送消息(文档,$443,0,字框.颜色)
发送消息(行号,指定字体,字体,1)}
结束;
小程序 缩放窗口(整数 数据)
高度=数据>>16 -26;数据=(数据 &$FFFF)- 40
移动窗口(文档,40,25,数据,高度,0)
移动窗口(行号,0,25,40,高度,0)
结束;
小程序 显示行号
整数 内容=行字,行=高度/12,数=发送消息(文档,编辑上字,0,0)+1
如果(数=顶行)返回;顶行=数;行+数
循环{格式化(内容,"%d\r\n",数)
内容+文字长度(内容)数++}(数=行)
改窗口字(行号,行字)
结束;
小程序 显示内容
整数 文件,内容,长度;路径=0;
如果(文件选框(文件框))
{文件=开文件(路径,0);
长度=文件大小(文件,0)
内容=申请内存(长度)
读文件(文件,内容,长度)
改窗口字(文档,内容)
改窗口字(窗体,名称)
关文件(文件)}
结束;
小程序 保存内容
整数 文件,内容,长度;
如果(文字长度(路径)=0)保存选框(文件框)
文件=建文件(路径,0)
长度=窗口字长(文档)
内容=申请内存(长度)
取窗口字(文档,内容,长度)
写文件(文件,内容,长度)
关文件(文件)
结束;
小程序 添加项(整数 段名,整数 内容,整数 控件,整数 编号)
读设置(段名,空,内容)
循环在(内容(0)){
读设置(段名,内容,名称);
发送消息(控件, 组合添加, 0,名称)
发送消息(控件, 组合附加, 编号,内容)
编号++;内容+文字长度(内容)+1}
如果(编号)发送消息(控件, 选组合项, 0, 0)
结束;
小程序 添加选项(整数 段名,整数 内容,整数 控件)
读设置(段名,空,内容)发送消息(控件,组合清除,0,0)
循环在(内容(0)){
发送消息(控件, 组合添加, 0,内容)
内容+文字长度(内容)+1}
发送消息(控件, 选组合项, 0, 0)
结束;
小程序 搜索内容
整数 长度=取窗口字(搜索,名称,64)
如果(长度>0){发送消息(文档,编辑所选,0,@首)
位置=发送消息(文档,$438,5,@首)
如果(位置<0)信息框(0,"已搜索完毕",0,0)
否则{设置焦点(文档)
发送消息(文档,编辑选中,位置,位置+长度)}}
结束;
小程序 替换内容
整数 长度=发送消息(文档,$43E,0,名称)
搜索选框(查换)
结束;
小程序 替换文本(整数 内容)
重查@
内容=查找文字(内容,"``")
如果(内容){内容%=$A0D;内容+2;跳到 重查}
结束;
小程序 编译程序
整数 行=0,数=发送消息(文档,编辑行数,0,0)
循环(行<数){名称=120
发送消息(文档,编辑取行,行,名称)
如果(名称(0)>64)解析代码
行++}
结束;
小程序 解析代码
整数 功能,操作,参数
功能=分割文本(名称," ")
操作=分割文本(0," ")
参数=分割文本(0," ")
替换文本(参数)
改窗口字(窗体,参数)
信息框(0,功能,操作,0)

结束;


费先生
1 声望0 粉丝