赞 | 0 |
VIP | 13 |
好人卡 | 0 |
积分 | 129 |
经验 | 77844 |
最后登录 | 2024-11-16 |
在线时间 | 1047 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 12946
- 在线时间
- 1047 小时
- 注册时间
- 2007-12-15
- 帖子
- 188
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
专门用来复制文件的脚本,没有找到 RGSS 中复制文件的方法又需要用到,只好自己动手写一个了。
- #==============================================================================
- # ■ file_copy 文件复制 by 洛克人SZ
- #------------------------------------------------------------------------------
- # 用来复制文件的类。
- # 使用方法:file_copy("要复制的文件", "目标文件")
- # 效率很低,复制一个2M多的文件用了1分钟。
- # 主要用来复制一些小文件(存档中的截图)。
- # 没有找到RGSS中复制文件的方法才写的这个类,用了最简单的方法
- # 实现了文件复制的功能。
- # 不太会写说明……
- #==============================================================================
- def file_copy(filename1, filename2)
- # 判断源文件是否存在
- if FileTest.exist?(filename1)
- # 如果目标文件存在则删之,用来避免一些讨厌的问题
- File.delete(filename2) if FileTest.exist?(filename2)
- # 打开源文件
- ofile = File.open(filename1, "rb")
- # 建立临时数据变量数组
- tdata = []
- # 初始化计数用变量
- cou = 0
- # 读取源文件 (每次读入 1 字节)
- ofile.each_byte { |f|
- # 计数 + 1
- cou += 1
- # 将读出的数据添加进临时数据数组
- tdata.push(f.chr)
- # 每读出一万个字节更新一下画面,避免 10s 问题
- if cou == 10000
- # 更新画面
- Graphics.update
- # 计数清零
- cou = 0
- end
- }
- # 打开目标文件
- nfile = File.open(filename2, "wb")
- # 初始化计数用变量
- cou = 0
- # 循环
- for i in 0...tdata.size
- # 计数 + 1
- cou += 1
- # 将临时数据数组中的数据写入目标文件
- nfile.write(tdata[i])
- # 每写入一万个字节更新一下画面,避免 10s 问题
- if cou == 10000
- # 更新画面
- Graphics.update
- # 计数清零
- cou = 0
- end
- end
- # 清除临时变量数据
- tdata = nil
- # 关闭源文件与目标文件
- ofile.close
- nfile.close
- # 返回结果
- return "复制完成!"
- # 源文件不存在的情况下
- else
- # 返回结果
- return "源文件未找到!"
- end
- end
复制代码
以下为66提供教程
test = Win32API.new('kernel32', 'CopyFileA',%(p p l), 'l')
p test.call("game.ini", "faint.ini", 0)
使用:
xxxx = Win32API.new('kernel32', 'CopyFileA',%(p p l), 'l')
xxx = xxxx.call("原文件(相对)", "目标(相对)", 0)
p xxx |
|