Project1
标题:
请教关于RM读取文件的问题
[打印本页]
作者:
赛露休斯
时间:
2010-8-18 02:54
标题:
请教关于RM读取文件的问题
请问RM有没有办法直接读取一个rar或zip压缩包内的文件?
具体可以怎么做?
作者:
紫苏
时间:
2010-8-18 05:47
zip 的话,内置的没有,别人写的 gem 有:
http://rubyzip.sourceforge.net/classes/Zip/ZipFile.html
rar 就不知道有没有人写过了,可以参考、研究 Unrar 的源代码:
http://www.rarlabs.com/rar_add.htm
这里有 rar 的解压算法,可以用 Ruby 重组一下
网上搜一下相信也能找到很多
作者:
赛露休斯
时间:
2010-8-18 06:34
本帖最后由 赛露休斯 于 2010-8-18 06:51 编辑
回复
紫苏
的帖子
找到了zip.rb等文件,不过里面的代码好像不能直接放到rmxp里,不知道怎么弄?
作者:
紫苏
时间:
2010-8-18 08:30
本帖最后由 紫苏 于 2010-8-18 08:32 编辑
回复
赛露休斯
的帖子
看核心算法,然后提取到自己的工程里,这是比较高效的做法
如果想直接用现成的,也可以把所有 require 的文件一一都包含在你的工程里,其中包括这个项目的文件和用到了的标准库的文件,但是有些涉及底层的库又是 C 的 so 库,那样就需要用夏娜的那个可以 require so 库的 DLL,之后就可以在 RM 里使用了
注意要先 $: << Dir.getwd,把当前工作路径添加到包含路径列表中
作者:
IamI
时间:
2010-8-18 08:43
乱入:要用rb最简单的方法是打开,复制所有代码,粘贴……
作者:
赛露休斯
时间:
2010-8-18 11:36
本帖最后由 赛露休斯 于 2010-8-18 11:37 编辑
回复
紫苏
的帖子
每个rb文件都用ruby运行了一下居然还真有几个能运行,不过require的文件中有很多都找不到,rmxp不能require吗?
不知道能不能直接用C++编写的unzip,然后用夏娜那个dll运行和读取
作者:
IamI
时间:
2010-8-18 11:44
RM对于Ruby干了许多坏事,比如线程操作,和require方法。
本地C++编写的Unzip当然直接用了= =||要用的话最简单还是粘代码吧
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1