主题:  如何读外部的文本文件?

zhangfanpc

职务:普通成员
等级:1
金币:0.0
发贴:10
注册:2001/10/8 10:33:26
#12001/11/12 16:59:47
如何读外部的文本文件?
例如:一个人有:姓名,年龄.性别等等.在一个文本里.如何分别读取?
谢谢!



草原风

职务:版主
等级:5
金币:13.0
发贴:3489
注册:2001/2/17 19:47:06
#22001/11/12 21:39:36
用回车来区别,分第一段,第二段分别读取不同的段可以实现分别读取



marker

职务:普通成员
等级:1
金币:0.0
发贴:65
注册:2001/11/7 15:56:52
#32001/11/12 22:16:52
草兄说的也不尽然,因为楼顶的兄弟所提出的问题可能性和随意性太大。文本文件的写法没有说明,所以是否是一行一个内容还是写在一起都不一定。时间关系,只能列出一种情况的方法,请允许我假设一下:
在E:\Myfile\mytext.txt中有你所说的资料,其中有“本人姓别:男,年龄:25”等等

你可以把E:\Myfile\mytext.txt创建好,输入“本人姓别:男,年龄:25”等等,再做一个按扭和两个文本,把这三个东东放在舞台上,然后把下面的Behaivor赋给按钮,基本可以达到你的要求。时间关系,我只是说明一种方法,仅供参考。

property pstring,mytext,MytestList
on mouseup me
MytestList=[]
fobj=xtra("fileio").new()
textfile="E:\Myfile\mytext.txt"
openfile(fobj,textfile,1)
if status(fobj) then
alert "Open file Error" && textfile
else
mytext=readfile(fobj)
member("myfile").text=mytext
repeat with i=1 to length(member("myfile").text)
add MytestList,char i of member("myfile").text
end repeat
closefile(fobj)
end if
fobj=0
searchsex
end


on searchsex me
pXing="性"
pBie="别"
repeat with i=1 to length(member("myfile").text)-2
Xing=getAt(mytestlist,i)
Bie=getAt(mytestlist,i+1)
if pXing=Xing and pBie=Bie then
set member("sex").text=getAt(mytestlist,i+3)
updatestage
end if
end repeat
end

编辑历史:[这消息被marker编辑过(编辑时间2001-11-14 11:43:48)]


我就是我

职务:版主
等级:6
金币:14.0
发贴:5466
注册:2004/1/13 17:02:03
#42001/11/12 23:15:55
你这个比较复杂了
我觉得很简单就是像草原风说的具体操作就是这样
set txts=getnettext("*.xt")
put nettextresult(txts) into aa
member(i).text=line (?) to (?) of aa----?号表示的就是你所要放入的行数,当然当你的行数很多的时候,可以加一些判断和算法来实现你每次导入相同的行数

如有说错之处请指出,谢谢

编辑历史:[这消息被fei编辑过(编辑时间2001-11-12 23:18:32)]


marker

职务:普通成员
等级:1
金币:0.0
发贴:65
注册:2001/11/7 15:56:52
#52001/11/14 11:45:03
fei兄的代码非常精练。可能是我们的理解不同。
引用:

如何读外部的文本文件?
例如:一个人有:姓名,年龄.性别等等.在一个文本里.如何分别读取?
谢谢!



我认为这个问题的重点是 “分别读取” ,如果文本文件是这样:
===========================
姓名:张飞
性别:男
年龄:30
工作简历:**年**月--**工作
==========================
每一项都独占一行,没问题。

但如果文本文件是这样:

==========================
姓名:张飞 性别:男 年龄:30
工作简历:**年**月--**工作
==========================

那么按行读取(比如读取第一行)就不能达到 “分别读取” 的要求了。所以我想要有一个查找关键字段的问题。
请指教。多谢!!