|
- .版本 2
- .程序集 程序集1
- .子程序 _启动子程序, 整数型
- .如果真 (是否为调试版 ())
- 信息框 (“请编译后运行!”, 0, , )
- 返回 (0)
- .如果真结束
- .如果 (取自身末尾数据到文件 (“数据.bin”, 1073741824))
- 信息框 (“提取成功!”, 0, , )
- .否则
- 信息框 (“提取失败!”, 0, , )
- .如果结束
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 取自身末尾数据到文件, 逻辑型, 公开, 编译后使用cmd的copy /b 命令将数据与自身程序合并 (静态编译若无法运行请更换链接器,不支持独立编译)
- .参数 文件名, 文本型, , 如果文件存在将清除并覆盖
- .参数 末尾字节数, 整数型
- .局部变量 自身文件名, 文本型
- .局部变量 自身文件号, 整数型
- .局部变量 自身长度, 整数型
- .局部变量 输出文件号, 整数型
- .局部变量 字节集缓存, 字节集
- .局部变量 缓存大小, 整数型
- 自身文件名 = 取运行目录 () + “\” + 取执行文件名 ()
- 自身长度 = 取文件尺寸 (自身文件名)
- .如果真 (末尾字节数 > 自身长度 或 末尾字节数 ≤ 0 或 文件名 = “” 或 是否为调试版 ())
- 返回 (假)
- .如果真结束
- 自身文件号 = 打开文件 (自身文件名, #读入, #禁止写)
- .如果真 (自身文件号 = 0)
- 返回 (假)
- .如果真结束
- .如果真 (移动读写位置 (自身文件号, #文件首, 取文件长度 (自身文件号) - 末尾字节数) = 假)
- 关闭文件 (自身文件号)
- 返回 (假)
- .如果真结束
- 输出文件号 = 打开文件 (文件名, #重写, #禁止写)
- .如果真 (输出文件号 = 0)
- 关闭文件 (自身文件号)
- 删除文件 (文件名)
- 返回 (假)
- .如果真结束
- .判断循环首 (真)
- 字节集缓存 = 读入字节集 (自身文件号, 16777216)
- .如果真 (取字节集长度 (字节集缓存) = 0)
- 跳出循环 ()
- .如果真结束
- .如果真 (写出字节集 (输出文件号, 字节集缓存) = 假)
- 关闭文件 (输出文件号)
- 关闭文件 (自身文件号)
- 删除文件 (文件名)
- 返回 (假)
- .如果真结束
- .判断循环尾 ()
- 关闭文件 (输出文件号)
- 关闭文件 (自身文件号)
- 返回 (真)
复制代码 |
|