跳至内容

文件函数

文件函数

这是一组文档工作函数。

出于安全考虑,工作文件必须严格由MQL5语言管理。使用MQL5实施文件操作的文件意味着,不能在文件沙箱外。

有两个目录(附带子目录)放置工作文档:

  • terminal_data_folder\MQL5\FILES\(终端菜单中选择浏览"文件" - “打开数据目录”) ;
  • 安装在电脑中所有终端的普通文件夹-通常在C:\Documents and Settings\All Users\Application Data\MetaQuotes\Terminal\Common\Files目录中。

获得目录名称的程序方式,使用TerminalInfoString()函数,使用ENUM_TERMINAL_INFO_STRING 表达式:

//--- 存储程序端数据的文件夹
   string terminal_data_path=TerminalInfoString(TERMINAL_DATA_PATH);
//--- 客户端常用文件夹
   string common_data_path=TerminalInfoString(TERMINAL_COMMONDATA_PATH);

禁止从其他目录使用文件。

文件函数允许使用所谓的“命名管道”。为此,只需用合适的参数调用FileOpen()函数。

函数功能
FileSelectDialog创建一个文件或文件夹打开/创建对话框
FileFindFirst依照指定过滤器启动目录中的文件搜索
FileFindNext继续通过FileFindFirst()函数启动的搜索
FileFindClose结束搜索程序
FileOpen打开指定名字和标记的文件
FileDelete删除指定文件
FileFlush将输入/输出文件缓冲区的所有数据写入磁盘
FileGetInteger获得文件的整型属性
FileIsEnding读取过程中定义文件末端
FileIsLineEnding读取过程中定义文本行末端
FileClose关闭之前打开的文件
FileIsExist检测文件存在性
FileCopy从本地或者共享文件夹复制原文件到另一个文件
FileMove移动或者重命名文件
FileReadArray读取除了BIN类型文件字符串外的任何类型数组
FileReadBool读取CSV类型文件当前位置字符串直到定界符(或者直到文本行末端)和转换读取的字符串到布尔型值
FileReadDatetime读取CSV类型文件以"YYYY.MM.DD HH:MI:SS”, “YYYY.MM.DD” or “HH:MI:SS"格式字符串并且转换它到日期时间值
FileReadDouble从文件指针当前位置读取双精度值
FileReadFloat从文件指针当前位置读取浮点值
FileReadInteger从文件指针当前位置读取整型,短整型或者字符型值
FileReadLong从文件指针当前位置读取一个长整型值
FileReadNumber从CSV类型文件读取当前位置字符串直到定界符(或者直到文本行末端)并且转换读取字符串到双精度值
FileReadString在文件中文件指针当前位置读取字符串
FileReadStruct文件指针当前位置读取二进制文件内容到作为参量传递的结构
FileSeek根据指定位置有关的指定二进制数移动文件指针位置
FileSize返回相应打开文件大小
FileTell返回相应打开文件的文件指针的当前位置
FileWrite向CSV或者TXT类型文件写入数据
FileWriteArray写入字符串以外任何类型数组到BIN类型文件
FileWriteDouble从文件指针当前位置写入双精度型值到二进制文件
FileWriteFloat从文件指针当前位置写入浮点型值到二进制文件
FileWriteInteger从文件指针当前位置写入整型值到二进制文件
FileWriteLong从文件指针当前位置写入长整型值到二进制文件
FileWriteString从文件指针当前位置写入字符串参量值到BIN或者TXT文件
FileWriteStruct从文件指针当前位置写入作为参量传递的结构到二进制文件
FileLoad指定二进制文件的所有数据读入数值类型或简单结构的传递数组
FileSave将传递数组所有元素写入二进制文件作为参数
FolderCreate在文件目录创建一个文件夹
FolderDelete清除选定目录。如果文件夹不是空的,那么无法清除。
FolderClean删除指定文件夹中所有文件

如果文件打开使用 FileOpen()函数编写,那么路径中所有指定的子文件夹将会创建。