PB 常用函数与封装函数列表(九 、文件操作相关)
九 、文件操作相关
9.1 FileOpen 函数
以指定的读写方式打开指定的文件,同时返回该文件的句柄
语法
FileOpen(filename{,filemode{,fileaccess{,filelock{,writemode,{creator,filetype}}}}})
参数
filename–>string类型,指定要打开文件的名称,其中可以包含路径 filemode–>FileMode枚举类型,可选项,指定文件打开方式 LineMode! - 缺省值,行模式 StreamMode! - 流模式 fileaccess–>FileAccess枚举类型,可选项,指定文件访问方式。 Read! - 缺省值,只读方式,这样打开的文件只能进行读操作; Write! - 只写方式,这样打开的文件只能进行写操作 filelock–>FileLock枚举类型,可选项,指定文件加锁方式 n LockReadWrite! - 缺省值,只有打开该文件的用户能够访问该文件,其它用 户对该文件的访问均被拒 n LockRead! - 只有打开该文件的用户能够读该文件,但其它任何用户均可写该文件 n LockWrite! - 只有打开该文件的用户能够写该文件,但其它任何用户均可读该文件 n Shared! - 所有用户均可读写该文件 writemode–>WriteMode枚举类型,可选项 Write! 该参数指定在指定文件已经存在时数据的添加方式 Append! - 缺省值,将数据添加到原文件尾部 Replace! - 覆盖原有数据 creator–>可选项,用于Macintosh机,使用四个字符的字符串指定文件的创建者。指定该参数后,必须同时 指定filetype参数 filetype–>可选项,用于Macintosh机,使用四个字符的字符串指定文件类型
返回值
Integer
成功时返回打开文件的句柄,随后的文件操作函数利用该句柄完成对文件的操作
发生错误时函数返回-1
如果任何参数的值为NULL,函数返回NULL
举个栗子
int li_file_no string ls_getpath_data ls_getpath_data = "F:xiezhr.txt" li_file_no = FileOpen(ls_getpath_data,LineMode!,Write!,Shared!,Append!)
9.2 FileWrite 函数
向指定文件中写数据
语法
FileWrite (fileno , variable )
参数
fileno–>integer类型,指定文件句柄(由FileOpen()函数得到) variable–>string或blob类型,其值将写入fileno参数指定的文件
返回值
Integer
成功时返回写入文件的字符或字节数,发生错误时返回-1
如果任何参数的值为NULL,函数返回NULL
举个栗子
int li_file_no string ls_getpath_data string ls_writed string ls_err ls_writed = "个人公众号:XiezhrSpace" ls_getpath_data = "F:xiezhr.txt" li_file_no = FileOpen(ls_getpath_data,LineMode!,Write!,Shared!,Append!) if li_file_no = 0 then ls_err ="不能打开文件!" FileClose(li_file_no) return -1 else if FileWrite(li_file_no, ls_writed) < 0 then ls_err = "写文件出错!" FileClose(li_file_no) return -1 end if end if
9.3 FileRead 函数
从指定文件中读取数据
语法
FileRead ( fileno, variable )
参数
fileno–>integer类型,指定文件句柄(由FileOpen()函数得到) variable–>string或blob类型的变量,用于保存读取的数据
返回值
Integer
成功时返回读取的字符数或字节数;
如果在读取任何字符前读到了文件结束符(EOF),函数返回-100
当指定文件以行模式打开时,如果在读取任何字符之前遇到了回车(CR)或换行(LF)字符,函数返回0
如果发生其它错误,返回-1
如果任何参数的值为NULL,函数返回NULL
举个栗子
将xiezhr.txt 文件中的内容读取出来放到变量ls_Input 中
int li_FileNum string ls_path string ls_Input ls_path = "F:xiezhr.txt" li_FileNum = FileOpen(ls_path, LineMode!) FileRead(li_FileNum, ls_Input)
9.4 FileClose 函数
关闭先前用FileOpen()函数打开的文件
语法
FileClose ( fileno )
参数
fileno–>integer,指定要关闭文件的文件句柄,该句柄使用FileOpen()函数打开文件时得到
返回值
Integer
成功时返回1,发生错误时返回-1
如果fileno参数的值为NULL,函数返回NULL
9.5 FileExists 函数
检查指定的文件是否存在
语法
FileExists ( filename )
参数
filename–>string类型,指定要检查存在性的文件的文件名,其中可以包含路径
返回值
Boolean
如果指定文件存在时返回TRUE,不存在时返回FALSE
如果filename参数的值为NULL,函数返回NULL
9.6 FileDelete 函数
删除指定的文件
语法
FileDelete ( filename )
参数
filename–>string类型,指定要删除文件的文件名,其中可以包含路径
返回值
Boolean
成功时返回TRUE,发生错误时返回FALSE
如果filename参数的值为NULL,函数返回NULL
9.7 FileLength 函数
得到指定文件的长度(以字节为单位)
语法
FileLength ( filename )
参数
filename–>string类型,指定要得到其长度的文件的文件名,其中可以包含路径
返回值
Long
成功时返回指定文件的长度(以字节为单位)
如果指定的文件不存在,函数返回-1
如果filename参数的值为NULL,函数返回NULL
9.8 FileSeek 函数
将文件指针移动到指定位置。读写文件时相应函数会自动移动文件指针
语法
FileSeek ( fileno, position, origin )
参数
fileno–>integer类型,指定文件句柄(由FileOpen()函数得到)
position–>long类型,指定相对于origin参数指定位置的新位置偏移量,以字节为单位
origin–>eekType枚举类型,指定从哪里开始移动文件指针,即指针移动的基准
FromBeginning! - 缺省值,从文件开头移动指针
FromCurrent!- 从当前位置移动文件指针
FromEnd!- 从文件结尾处移动文件指针
9.9 GetFileOpenName 函数
显示打开文件对话框,让用户选择要打开的文件
语法
GetFileOpenName(title,pathname,filename{,extension{,filter}})
参数
title–>string类型,指定对话框的标题 pathname–>string类型变量,用于保存该对话框返回的文件路径及文件名 filename–>string类型变量,用于保存该对话框返回的文件名 extension–>string类型,可选项,使用1到3个字符指定缺省的扩展文件名 filter–>string类型,可选项,其值为文件名掩码,指定显示在该对话框的列表框中供用户选择的文件名满
返回值
Integer
成功时返回1
当用户单击了对话框上的“Cancel”按钮时函数返回0,发生错误时返回-1。
如果任何参数的值为NULL,函数返回NULL
9.10 GetFileSaveName 函数
显示保存文件对话框,让用户选择要保存到的文件
语法
GetFileSaveName(title,pathname,filename{,extension{,filter}})
参数
title–>string类型,指定对话框的标题 pathname–>string类型变量,用于保存该对话框返回的文件路径及文件名 filename–>string类型变量,用于保存该对话框返回的文件名 extension–>string类型,可选项,使用1到3个字符指定缺省的扩展文件名 filter–>string类型,可选项,其值为文件名掩码,指定显示在该对话框的列表框中供用户选择的文件名满足的条件(比如*.,.TXT,*.EXE等)
返回值
Integer
成功时返回1,当用户单击了对话框上的“Cancel”按钮时函数返回0,发生错误时返回-1
如果任何参数的值为NULL,函数返回NULL