Project1

标题: 如何输出与读取TXT文件内的数据? [打印本页]

作者: 暴风の龙    时间: 2007-7-5 05:17
标题: 如何输出与读取TXT文件内的数据?
如何在工程中实现把变量或字符串输出到TXT文件中
并且如何在工程中读取数值进行操作?

TXT文件写入后的格式大概是
变量1
变量2
变量3
……(变量总数没有定量)
END

请问该如何逐行的读取这些数值? [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 暴风の龙    时间: 2007-7-5 05:17
标题: 如何输出与读取TXT文件内的数据?
如何在工程中实现把变量或字符串输出到TXT文件中
并且如何在工程中读取数值进行操作?

TXT文件写入后的格式大概是
变量1
变量2
变量3
……(变量总数没有定量)
END

请问该如何逐行的读取这些数值? [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: simounF    时间: 2007-7-5 05:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: kaze    时间: 2007-7-5 05:28
  1. 整个教学我基本上就是解释一下范例教学游戏,请大家先下载范例《WORDS_PAZZLE》

  2. 文件结构:

  3. 除了正常的文件结构之外,建立了文件夹WORDS,里面存放了几本单词。可以自己换txt文档。

  4. 事件解释:

  5. 1、读取文件:脚本:

  6. f = File.open("WORDS/CET4.txt")
  7. #——打开CET4.txt的书

  8. ls=f.readlines;$q=[];$a=[]                 
  9. #——ls这个变量纪录cet4.txt里面的每一行信息,$q , $a 是两个数组,在这里初始化,用来记录问题和答案。

  10. for i in 0...ls.size  #——循环
  11. if (ls[i].split(/\[/)[0] != nil) and (ls[i].split(/\[/)[1] != nil) #——如果ls当前行在"["这个符号左右都有文字的话
  12. $q.push(ls[i].split(/\[/)[0]) #——把"["左边的东西记录到$q,也就是问题里面去
  13. $a.push(ls[i+1]) #——把当前行下面一行的东西记录到$a,也就是答案里面去
  14. end;end;

  15. f.close
  16. #——关闭文件

  17. 完成以上内容,$q,$a对应储存了cet4.txt所有的问题和答案。至此,所有核心已经全部完成,剩下的就是小技巧了。

  18. 2、选择书本章节

  19. 其实就是设置出题范围而已,比如$q的大小是2000题,循环1-1000和1001-2000就是两个章节了

  20. 3、设置选择项 + 判断选项是否正确

  21. 参考这个教学:shownews.asp?id=185,然后看看本游戏设置就明白了。

  22. 在设置选择项的时候,根据答案随便将1-3中某一个选项设置为正确答案,其他2个选项随便给出答案。正确选项记录在$right_answer里面,所以只要将3个选项全像游戏那样设置好条件分歧即可。

  23. 4、设置对话

  24. Window_Message里面定义了\q[数字]和\a[数字],对于学习IO的各位,修改对话框这个应该是很基本的东西了。功能就是self.contents.draw_text(x,32*y,1000,32,$q[数字]),self.contents.draw_text(x,32*y,1000,32,$a[数字]),仅此而已。

  25. 其他说明:

  26. 注意,请将txt文件存为UTF-8比较好。使用windows的记事本,另存为,可以选择编码方法。
复制代码
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 暴风の龙    时间: 2007-7-5 05:30
谢谢楼上的了……我还真没注意到这个教程……
研究去
作者: 暴风の龙    时间: 2007-7-5 05:33
看完,还有一个问题,这个有读取的格式,那写入的格式是什么呢?
作者: simounF    时间: 2007-7-5 05:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: kaze    时间: 2007-7-5 05:45
还有个叫
WORDS_PAZZLE
的范例去主站上下
作者: 暴风の龙    时间: 2007-7-5 05:54
以下引用simounF于2007-7-4 21:39:02的发言:

f = File.open(path, "wb")
f.write(变量.to_s + "\n")
f.close

问个,这个\n是做什么用的?
还有这个存取形式是水平的
如何一行行的放置数据?
还有读取时为什么老是有\n这个字符出现?
作者: simounF    时间: 2007-7-5 06:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: 暴风の龙    时间: 2007-7-5 13:10
以下引用simounF于2007-7-4 22:29:14的发言:

\n 是回车符,要是一行存一个变量的话当然结尾要加回车了
加了回车变数字也没关系的 p "340\n".to_i

为什么我加了还是会排成一行的.....?混乱中...




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1