[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 311

 
chief2000:

- 是否可以找出文件中数组的元素数量?在这种情况下,一般来说如何避免不必要的行动?


FileSize(handle)除以元素大小=元素数量?
 
Figar0:

FileSize(handle)除以项目大小=项目数?

这是一个假设吗?

你如何知道二进制文件中一个项目的大小?也许它的某些部分不仅仅被元素所占据?

 
chief2000:

如果你把计数设置得太高,你会得到很多空值(对吗?)

文件中似乎说

Функция возвращает количество фактически прочитанных элементов.
 
chief2000:

这是一个假设吗?

你如何知道二进制文件中一个项目的大小?也许它的某些部分不仅仅被元素所占据?


一个项目的大小取决于你在那里写什么,要么是4个,要么是8个。 你的写作过程是什么样子的?
 
Roger:

文件中似乎说

如果一个文件有1000个元素,count=20,它实际上将读取20个。

但如果count=5000会怎样?

不清楚他们说的 "在读取数据之前,数组必须有足够的大小 "是什么意思--按元素的数量将所有元素读入数组会更容易,然后如果有必要,你可以截断数组,等等。

 
Figar0:

项目的大小取决于你在那里写什么,要么是4个,要么是8个。 你的写作过程是什么样子的?

我使用(写作和阅读是两个独立的步骤)。

 FileWriteArray( int handle, object array[], int start, int count) 
 
chief2000:

我使用(写作和阅读是两个独立的步骤)。


intFileWriteArray( int handle, object array[], int start, int count)

该函数将数组写到一个二进制文件中。像int, bool, datetime和color这样的数组被写成 4字节 整数。double类型的数组被写成浮点数。 8字节 浮点数。

我已经概述了你需要知道的内容。如果一个双数的数组被写入文件,那么用文件的大小除以8就可以得到文件中数组元素 的数量。

 
Figar0:

intFileWriteArray( int handle, object array[], int start, int count)

该函数将数组写到一个二进制文件中。像int、bool、datetime和color这样的数组被逐个写入元素,如 4字节 整数。double类型的数组被写成浮点数。 8字节 浮点数。

我已经强调了你应该感兴趣的内容。如果一个数组的双倍数被写入文件,那么将文件的大小除以8就可以得到文件中数组元素的数量。

现在在一个文本查看器中打开一个保存的文件--这就是它的样子。

它看起来有大约50个元素(应该有这么多元素),但其大小为2432字节。显然,它在里面储存了 "空白"。

 
大家好。请告知。我怎样才能在一个单独窗口的指标中使用MQL4,不从零开始画直方图,而是从指定的值开始画。我希望Ishimoku指标在一个单独的窗口中画出其他时间段的数值。
 
chief2000: 显然,它把 "空白 "储存在里面。
它能储存你放进去的东西)没有什么奇迹。