设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 4825|回复: 12
打印 上一主题 下一主题

[已经解决] 如何根据变量来显示文本文档中的信息

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
13 小时
注册时间
2015-3-9
帖子
12
跳转到指定楼层
1
发表于 2015-3-10 00:43:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
9星屑
本帖最后由 深水炸弹 于 2015-3-10 18:52 编辑

我这有医院病人的病例情况的文本文档(txt文档),每一行都有一个病人的信息: 病例号,姓名,病情,入院时间,出院时间等信息

21548  张三  单核细胞增多症  2014.1.2  2014.2.20  康复出院
54881  李四  急性阑尾炎         2014.5.3  2014.5.7    正常
35221  王五  心动过缓             2014.2.1  2014.8.5   出院观察

以上分别是 病例号,姓名,症状,入院时间,出院时间,备注
我想在RM中,输入$game_variables[40]=某个病例号,然后显示所有该病例号的那行信息情况。注:病例号有重复,长度有可能不一样

最佳答案

查看完整内容

我可以帮忙做下。 不过有些更详细的信息需要LZ进一步提供。 1.作为输入的txt文档的内容格式是怎样的?方便的话传上来看一看。 2.输入病例号之后,是直接出一行原始信息,还是得到一个数据库对象(通过调用属性来获得相关信息)? [hr] 在没有提供以上信息的情况下,需要的脚本可能是这样: class Patient_Data attr_accessor :patient_id attr_accessor :name attr_accessor :symptom attr_accessor :time_check_in attr ...

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

2
发表于 2015-3-10 00:43:43 | 只看该作者
本帖最后由 RyanBern 于 2015-3-12 17:00 编辑

我可以帮忙做下。
不过有些更详细的信息需要LZ进一步提供。
1.作为输入的txt文档的内容格式是怎样的?方便的话传上来看一看。
2.输入病例号之后,是直接出一行原始信息,还是得到一个数据库对象(通过调用属性来获得相关信息)?


在没有提供以上信息的情况下,需要的脚本可能是这样:
RUBY 代码复制
  1. class Patient_Data
  2.   attr_accessor :patient_id
  3.   attr_accessor :name
  4.   attr_accessor :symptom
  5.   attr_accessor :time_check_in
  6.   attr_accessor :time_check_out
  7.   attr_accessor :note
  8.   attr_accessor :original_data
  9.   def self.init
  10.     # 文件的相对路径
  11.     filename = "Input.txt"
  12.     $data_patients = []
  13.     File.foreach(filename) do |line|
  14.       original_data = line.chomp
  15.       $data_patients << Patient_Data.new(original_data)
  16.     end
  17.   end
  18.   def initialize(str)
  19.     arr = str.split(" ")
  20.     @patient_id = arr[0]
  21.     @name = arr[1]
  22.     @symptom = arr[2]
  23.     @time_check_in = arr[3]
  24.     @time_check_out = arr[4]
  25.     @note = arr[5]
  26.     @original_data = str
  27.   end
  28.   def self.find_data_by_id
  29.     result = $data_patients.select{|item| item.patient_id == $game_variables[40].to_s}
  30.     return result.map{|item| item.original_data}
  31.   end
  32. end

使用时先调用Patient_Data.init来初始化。
然后根据$game_variables[40]来寻找信息,下面这句可以把符合条件的都显示出来。
RUBY 代码复制
  1. p Patient_Data.find_data_by_id

准备txt的时候一定要把其编码改成UTF8,否则会出现乱码。
另外,准备txt的时候要在第一行加上一组无关的信息,例如加上"0 0 0 0 0 0",否则第一组数据无法正常读取,具体原因我也不知道为什么。
例如:
0 0 0 0 0 0
21057 张三 单核细胞增多症 2014.05.01 2014.06.18 后期无症状
……


范例: Project6.rar (187.69 KB, 下载次数: 95)

点评

已附加范例  发表于 2015-3-10 19:54
第29行报错了,麻烦你了  发表于 2015-3-10 16:41
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
13 小时
注册时间
2015-3-9
帖子
12
3
 楼主| 发表于 2015-3-10 09:47:51 | 只看该作者
RyanBern 发表于 2015-3-10 09:31
我可以帮忙做下。
不过有些更详细的信息需要LZ进一步提供。
1.作为输入的txt文档的内容格式是怎样的?方便 ...

病例号的字符和后面的字符是用空格隔开的
比如:21057 张三 单核细胞增多症 2014.05.01 2014.06.18 后期无症状
以上分别是:病例号,姓名,症状,住院时间,出院时间,备注
中间都是用单个空格隔开的,我也可以改成其他符号

我只需要显示出那行内容就可以了,前面加个文字“信息如下”就可以了,或者不要
回复

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33434
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

4
发表于 2015-3-10 10:00:01 | 只看该作者
一个简单的范例
Project2.rar (187.93 KB, 下载次数: 83)

评分

参与人数 2星屑 +160 收起 理由
深水炸弹 + 10 谢谢啊,但这只能给一个人悬赏,超级感谢.
RyanBern + 150 塞糖

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
13 小时
注册时间
2015-3-9
帖子
12
5
 楼主| 发表于 2015-3-10 10:02:10 | 只看该作者
RyanBern 发表于 2015-3-10 09:31
我可以帮忙做下。
不过有些更详细的信息需要LZ进一步提供。
1.作为输入的txt文档的内容格式是怎样的?方便 ...

那要怎么输完后就弹出来呢,我脚本不是很懂。麻烦你了
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
13 小时
注册时间
2015-3-9
帖子
12
6
 楼主| 发表于 2015-3-10 10:09:16 | 只看该作者
芯☆淡茹水 发表于 2015-3-10 10:00
一个简单的范例

病例号有重复的,需要把所有重复的都显示出来,我看了下范例,只能显示第一个
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
13 小时
注册时间
2015-3-9
帖子
12
7
 楼主| 发表于 2015-3-10 10:24:10 | 只看该作者
RyanBern 发表于 2015-3-10 09:31
我可以帮忙做下。
不过有些更详细的信息需要LZ进一步提供。
1.作为输入的txt文档的内容格式是怎样的?方便 ...

01.result = $data_patients.select{|item| item.patient_id == $game_variables[40]}
这行报错了

点评

更新在2L,脚本代码覆盖掉原来的即可。使用方法也有改动  发表于 2015-3-10 10:39
刚才一直在改,现在看看有没有问题  发表于 2015-3-10 10:26
回复

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33434
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

8
发表于 2015-3-10 10:38:48 | 只看该作者
深水炸弹 发表于 2015-3-10 10:09
病例号有重复的,需要把所有重复的都显示出来,我看了下范例,只能显示第一个 ...

嘛~怎么落后了。顺便帮RB问下,其实读取以及编号什么的都没问题,关键是LZ需要用什么方式显示出来?
直接 p ? 还是用对话框?还是建个场景用窗口显示,选择病例号列表,对应的显示出与病例号相同的所有病例。

点评

直接P是不是方便呢,形式无所谓的,只要内容能显示出来,谢谢了  发表于 2015-3-10 11:56
和你相反,热衷于 UI 功能,但 UI 美工就是渣了。用默认窗口显出来就行了啊。万一相同病例过多,用其他方式恐怕显示不完  发表于 2015-3-10 10:58
p出来貌似?我不喜欢做UI其实  发表于 2015-3-10 10:52
xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
13 小时
注册时间
2015-3-9
帖子
12
9
 楼主| 发表于 2015-3-10 11:09:11 | 只看该作者
RyanBern 发表于 2015-3-10 09:31
我可以帮忙做下。
不过有些更详细的信息需要LZ进一步提供。
1.作为输入的txt文档的内容格式是怎样的?方便 ...

还是报错,能给我个具体的范例嘛,麻烦你了
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
155
在线时间
332 小时
注册时间
2013-7-6
帖子
356
10
发表于 2015-3-10 11:52:04 | 只看该作者
本帖最后由 wolves 于 2015-3-10 11:53 编辑

敢问LZ是在rm默认脚本下添加一个功能还是直接实现这一个功能而不需要rpg系统呢
还有就是这个文本文档是不是utf-8格式的

点评

格式可以改  发表于 2015-3-10 12:27
偶是熬夜学编程的傻子
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-14 19:08

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表