文件函数

这是一组文档工作函数。

出于安全考虑,工作文件必须严格由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()函数编写,那么路径中所有指定的子文件夹将会创建。