主题:  菜鸟自问自答--fileio的使用

南山东篱摄螂

职务:普通成员
等级:4
金币:10.0
发贴:1840
#12000/11/27 23:31:06
FileIO是DIRECTOR中自带的Xtra,主要负责DR的文件操作。主要功能有:
读写文件、删除、获取文件信息、调用WINDOWS的标准对话框(打开对话框和保存对话框)等。

如果你还不会用那么就请往下看,之后你肯定就会用了,(我保证)如果还不会那就可能有两种可能:1、
你是个不识字的BD :);2、东影默就是比别人聪明一大截!:)
如果你已会用也请往下看,就当给我校对吧!:D

第一步: 你的程序所在的目录下 建立如下目录:Xtra\Media Support 。再把fileIO.x32文件拷进去。
fileIO.x32文件在Director目录中的Xtra\Media Support目录中。

第二步:创建一个FileIO对像;
格式为:
new(Xtra"fileIO")

第三步:使用FileIO中的函数。
一、要使用文件就先要把打开,fileio打开的方法是用
openFile(object me, string fileName, int mode)
Object me :fileio对像
string fileName:文件名,变量类型为字符串
int mode :是一个整数,决定打开文件的方式;0--只读、1--写方式、2--读写方式

返回 在对话框中输入或输入的文件名
类型----字符串(string)



二、调用windows的标准对话框--打开对话框
displayOpen(object me)
调用后它会返回选择的文件名

displaySave(object me, string title, string defaultFileName)
Object me :fileio对像
string title:对话框的标题
string defaultFileName: 缺省文件名

返回 在对话框中输入或输入的文件名(它总是在文件名后面自动地加上扩展名 -txt!有那位大虾能让它不这样做?)
类型----字符串(string)

举一个例子:

global myfile --fileIO 对像变量
set myfile=new(Xtra"FileIo") --创建fileio对像
set file_name=displayOpen(myfile) --显示对话框
if length(file_name)<>0 then
openFile(Myfile,file_name,1) --打开文件
else
--取消
member("display").text="你没有选择一个文件"
end if

三、把文件里的数据读出来
readChar (object me) -- 读取当前文件指针的下一个字节,返回的是一个 char
readLine (object me) -- 读取当前文件指针的下一行,返回的是一个字符串(string)
readFile (object me) -- 读取整个文件里的内容(从开头到文件的结束标志 EOF 之间的所有内容),并存放在返回的字串中
readWord (object me) -- 读取当前文件指针的下一个词(用空格分开的一段字符串),返回的是一个字串(string)
readToken (object me, string skip, string break) -- read the next token and return it as a string
四、把数据写进文件中去
createFile(object me, string fileName) -- 创建一个文件
string fileName:要创建的文件名

writeChar(object me, string theChar) -- 把一个字节写入文件中
string theChar:要写入的字节

writeString(object me, string theString) -- 把一个字串(以 null 结束)写入文件中
string theString:要写入的字符串

五、关闭文件
closeFile (object me) 关闭文件

例子:
set intput_string="abc" --初始化
set outputfile=new(xtra"fileio") --输出文件对像
set inputfile=new(xtra"fileio") --输入文件对像
-- 打开文件的操作 代码同前面的例子
set file_name=displayopen(inputfile)
openFile(inputfile,file_name,1)
set input_string=readline(inputfile) --把读取一行
set outputfile_name=displaysave(outputfile,"创建一个新文件","out_file") --调用一个保存对话框

if length(outputfile_name)<>0 then
createfile(outputfile,outputfile_name) --创建文件
else
--处理没有输入文件名
end if
openFile(outputfile,outputfile_name,0)--以写的方式打开刚创建的文件
writeString(outputfile,intput_string) --把字符串写文件内

closefile(outputfile) --关闭文件
closefile(inputfile)

(请等待下篇)



南山东篱摄螂

职务:普通成员
等级:4
金币:10.0
发贴:1840
#22000/11/28 23:19:35
上一篇有几个错误和遗漏的地方给大家带来了不便,真是不好意思了。
现在我反它修正过来,并补齐,希望这篇文章能对大家有用,谢谢


FileIO是DIRECTOR中自带的Xtra,主要负责DR的文件操作。主要功能有:
读写文件、删除、获取文件信息、调用WINDOWS的标准对话框(打开对话框和保存对话框)等。

如果你还不会用那么就请往下看,之后你肯定就会用了,(我保证)如果还不会那就可能有两种可能:1、
你是个不识字的BD :);2、东影默就是比别人聪明一大截!:)
如果你已会用也请往下看,就当给我校对吧!:D

第一步: 你的程序所在的目录下 建立如下目录:Xtra\Media Support 。再把fileIO.x32文件拷进去。
fileIO.x32文件在Director目录中的Xtra\Media Support目录中。

第二步:创建一个FileIO对像;
格式为:
new(Xtra"fileIO")

第三步:使用FileIO中的函数。
一、要使用文件就先要把打开,fileio打开的方法是用

openFile(object me, string fileName, int mode)
Object me :fileio对像
string fileName:文件名,变量类型为字符串
int mode :是一个整数,决定打开文件的方式;0--读写方式、1--读方式、2--写入方式
返回 在对话框中输入或输入的文件名
类型----字符串(string)

setFilterMask (object me, string mask) 设置对话框的文件类型过滤,
string mask:文件格式过滤格式文本;变量类型为字符串。
格式为:“文件类型说明,文件类型” 。每一组有两个内容,内容之间用逗号间隔,每一组之间也是用逗号间隔。
“文件类型说明”是一个不能包括逗号(“,”)的字串;“文件类型”是一个文件类型说明,如:*.doc
如果你看不懂上面的,那就看看下面的例子,我想你就会明白了。

例如:"纯文本文件(txt),*.txt,DIRECTOR文件,*.dir,所有文件,*.*"


二、调用windows的标准对话框--打开对话框
displayOpen(object me)
调用后它会返回选择的文件名

displaySave(object me, string title, string defaultFileName)
Object me :fileio对像
string title:对话框的标题
string defaultFileName: 缺省文件名

返回 在对话框中输入或输入的文件名(它总是在文件名后面自动地加上扩展名 -txt!有那位大虾能让它不这样做?)
类型----字符串(string)

举一个例子:

global myfile --fileIO 对像变量
set myfile=new(Xtra"FileIo") --创建fileio对像
setFilterMask(myfile,"纯文本文件(txt),*.txt,DIRECTOR文件,*.dir,所有文件,*.*")--设置文件类型过滤
set file_name=displayOpen(myfile) --显示对话框
if length(file_name)<>0 then
openFile(Myfile,file_name,1) --打开文件
else
--取消
member("display").text="你没有选择一个文件"
end if

三、把文件里的数据读出来
readChar (object me) -- 读取当前文件指针的下一个字节,返回的是一个 char
readLine (object me) -- 读取当前文件指针的下一行,返回的是一个字符串(string)
readFile (object me) -- 读取整个文件里的内容(从开头到文件的结束标志 EOF 之间的所有内容),并存放在返回的字串中
readWord (object me) -- 读取当前文件指针的下一个词(用空格分开的一段字符串),返回的是一个字串(string)

readToken (object me, string skip, string break) -- read the next token and return it as a string
(这个是什么呢?我也不知道!)

四、把数据写进文件中去
createFile(object me, string fileName) -- 创建一个文件
string fileName:要创建的文件名

writeChar(object me, string theChar) -- 把一个字节写入文件中
string theChar:要写入的字节

writeString(object me, string theString) -- 把一个字串(以 null 结束)写入文件中
string theString:要写入的字符串

五、关闭文件
closeFile (object me) 关闭文件

例子:
set intput_string="abc" --初始化
set outputfile=new(xtra"fileio") --输出文件对像
set inputfile=new(xtra"fileio") --输入文件对像
-- 打开文件的操作 代码同前面的例子
set file_name=displayopen(inputfile)
openFile(inputfile,file_name,1)
set input_string=readline(inputfile) --把读取一行
set outputfile_name=displaysave(outputfile,"创建一个新文件","out_file") --调用一个保存对话框

if length(outputfile_name)<>0 then
createfile(outputfile,outputfile_name) --创建文件
else
--处理没有输入文件名
end if
openFile(outputfile,outputfile_name,0)--以写的方式打开刚创建的文件
writeString(outputfile,intput_string) --把字符串写文件内

closefile(outputfile) --关闭文件
closefile(inputfile)

六、在文件内部散步!

getPosition (object me) 取得文件指针当前的位置
返回一个整数

setPosition (object me, int position) 设置文件指针的位置
int position:整数,指定指针的目标位置

getLength (object me) 取得文件的长度,
object me :FileIO对象,在使用GetLength前object me必需指向一个已打开的文件

七、那些代码都做了什么?

我写了一大堆的代码!可是我不知道它们都干了什么!也不知道它们帮我达到目的了吗?
还是让它们自己报告诉吧!请看:

status (object me) -- 返回最后一个执行的状态代码,从它可能看出成功与否和出错信息。
返回值是一个整数。

有了状态码可是我看不懂!不要紧,找个翻译!
error (object me, int error) 返回出错代码对应的出错信息。
返回值为字符串



rainy_5d

职务:普通成员
等级:2
金币:1.0
发贴:225
#32000/11/29 0:12:25
very 3Q,呵呵,很需要。