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