欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

FileUnlimited - MetaTrader 5 库

author emer | 340 人阅读 | 0 人评论 |

FileUnlimited - library for MetaTrader 5

FileUnlimited - library for MetaTrader 5

用于使用 WinAPI 处理文件而不受位置限制的库。

目前实现的是只读模式。该库将被更新。

我试图使类的使用尽可能简单。

应用示例(脚本):

#include 
#include 

#定义CP_UTF161200

空白 启动时()
{
  细绳姓名 =“TheXpert\\Test.txt”;
  细绳路径=终端信息字符串终端数据路径) +“\\MQL5\\文件\\”+ 姓名;
   
  整数h文件 =文件打开(姓名,文件写入|文件_TXT,'', CP_UTF16);
  如果(h文件==INVALID_HANDLE)
   {
      打印“文件未打开。”);
      返回;
   }
   
  布尔值写布尔=错误的, 读取布尔 =真的;
  长的长写 = -4369549, 长读 =0;
  双倍的写双 = -4369549.245, 读双 =0;
  日期时间写入日期时间 =2596824987, 读取日期时间 =0;
  颜色写入颜色=蓝色,读取颜色=白色;
  细绳写字符串 =“2r4i6bf4wb9tb69vw”, 读取字符串 =””;
   
  文件写入(hFile, writeBool);
  文件写入(hFile, writeLong);
  文件写入(hFile, writeDouble);
  文件写入(hFile, writeDatetime);
  文件写入(h文件,写入颜色);
  文件写入(hFile, writeString);

  文件关闭(h文件);
   
  // ----------------------------------------------------------  // 从这里开始使用读取库。  // ----------------------------------------------------------   ConstFile* 文件 = OpenConstFile(路径);
  如果检查指针(文件)!=POINTER_INVALID)
   {
      文件.Read(readBool);
      打印“读布尔=”, 读布尔);

      文件.Read(readLong);
      打印“读长=”,长读);

      文件.Read(readDouble);
      打印“读双=”,读双);

      文件.Read(readDatetime);
      打印“读取日期时间=”,读取日期时间);

      文件.Read(readColor);
      打印“读取颜色=”,读取颜色);

      文件.Read(readString);
      打印“读取字符串=”,读取字符串);
      
      删除文件;
   }
  别的   {
      打印“无法打开位于路径的 ConstFile -- ”, 小路);
   }
}

该库仅使用 Unicode 文件运行,这就是为什么我们有CP_UTF16 代码页(由于某种原因,它在语言常量中不可用)。

请在评论或评论中通知所有检测到的错误这个线程

欢迎提出意见、建议和建设性批评。

让我们做一些对每个人都有用的东西吧!


附件下载

📎 fileunlimited.mqh (0.44 KB)

📎 fileunlimitedconstants.mqh (10.74 KB)

📎 stringutils.mqh (0.61 KB)

📎 constfileunlimited.mq5 (12.87 KB)

📎 fileunlimitedtest.mq5 (1.84 KB)

Source: MQL5 #386

🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录