- FileSelectDialog
- FileFindFirst
- FileFindNext
- FileFindClose
- FileIsExist
- FileOpen
- FileClose
- FileCopy
- FileDelete
- FileMove
- FileFlush
- FileGetInteger
- FileIsEnding
- FileIsLineEnding
- FileReadArray
- FileReadBool
- FileReadDatetime
- FileReadDouble
- FileReadFloat
- FileReadInteger
- FileReadLong
- FileReadNumber
- FileReadString
- FileReadStruct
- FileSeek
- FileSize
- FileTell
- FileWrite
- FileWriteArray
- FileWriteDouble
- FileWriteFloat
- FileWriteInteger
- FileWriteLong
- FileWriteString
- FileWriteStruct
- FileLoad
- FileSave
- FolderCreate
- FolderDelete
- FolderClean
FileOpen
函数打开文件的指定名称和标签。
int FileOpen(
|
参量
file_name
[in] 文件名称包括子文件夹,如果文件为编辑开放,就会建立子文件夹。
open_flags
[in] 标记的组合 决定文件夹的操作方式,标签如下定义
FILE_READ为阅读展开
FILE_WRITE 为编辑展开
FILE_BIN 二次编辑阅读模式(不会从字符串到字符串转换)
FILE_CSV csv类型文件(所有记录项目转换成统一码字符串或者ansi类型,被定界符分开)
FILE_TXT 简单文本文件(与csv相同,但不考虑定界符)
FILE_ANSI ANSI类型线(单一字节交易品种)
FILE_UNICODE UNICODE类型线(双精度函数字符)
FILE_SHARE_READ 从各自程序中共享阅读
FILE_SHARE_WRITE 从各自程序中共享编辑
FILE_COMMON 所有客户端的共享文件夹中的文件位置 \Terminal\Common\Files.
delimiter='\t'
[in] 在txt或者csv文件中使用分隔符的值,如果csv文件标识符不是指定的,默认到标签,如果txt文件标识符不是制定的,就不使用分隔符。如果分隔符清晰建立成0,不使用分隔符。
codepage=CP_ACP
[in] 代码页的值,最多使用 代码页 提供占用常量。
返回值
如果文件成功打开,函数返回文件处理,然后访问文件数据,失败后返回 INVALID_HANDLE。
注释
出于安全考虑,工作文件必须严格由MQL5语言管理。使用MQL5实 施文件操作的文件意味着,不能在文件沙箱外。
如果文件应该以特定的编码方式(指定包含代码页值的codepage参数)读取,请确保设置FILE_ANSI标识。如果没有指定的FILE_ANSI标识,则文本文件将以Unicode形式读取,而无需进行任何转换。
文件在客户端子文件 MQL5\Files (或者testing_agent_directory\MQL5\Files)中打开,如果FILE_COMMON在制定标签中,文件在所有MT5客户端的共享文件中打开。
"命名管道"可以根据以下规则打开:
- 管道名称是一个字符串,应该有以下显示:"\\servername\pipe\pipename", 这里servername - 网络中的服务器名称,而pipename是管道名称。如果管道用在同一个计算机上,服务器名称可以忽略,但有一个点应该被插入以替代它:"\\.\pipe\pipename"。尝试连接管道的客户应该知道其名称。
- FileFlush() 和 FileSeek() 在从管道读取和写入的顺序操作之间应该在文件开始被调用。
特殊符号'\'应该用于显示字符串。因此,'\' 应该在MQL5应用程序编写名称时,使用双杠。这意味着上面示例应该显示如下代码:"\\\\servername\\pipe\\pipename"。
使用命名管道的更多信息可以查看文章"通过MetaTrader 5沟通使用命名管道,而非DLLs "
示例:
//+------------------------------------------------------------------+
|
另见