错误、漏洞、问题 - 页 2732 1...272527262727272827292730273127322733273427352736273727382739...3184 新评论 Artyom Trishkin 2020.04.30 07:04 #27311 Vladimir Karputov: 开始搜索(任何搜索,任何名称)并立即停止搜索。这将出现一个搜索栏,你可以选择文件类型。 哎呀...谢谢你。 Igor Makanu 2020.04.30 08:50 #27312 Artyom Trishkin: 我知道我需要找到视频文件。一切都是。绝对的。至于它们是什么类型和名称,让机器自己去看。 很难猜测机器如何搜索,但在DOS中如何搜索(按Win+R,写cmd),像这样。 dir/b/s *.3 g2 *.3 gp *.3 gp2 *.3 gpp *.3 gpp2 *.asf *.asx *.avi *.bin *.dat *.drv *.f4v *.flv *.gtp *.h264 *.m4v *.mkv *.mod *.moov *.mov *.mp4 *.mpeg *.mpg *.mts *.rm *.rmvb *.spl *.srt *.stl *.swf *.ts *.vcd *.vid *.vid *.vid *.vob *.webm *.wm *.wmv *.yuv > d:\filename.txt 我在谷歌上搜索了第一个网站http://fileext.ru/video, 将其粘贴到Excel中,使其成列,然后再粘贴到记事本中。 最后一个参数,用于写入带有路径和文件名的搜索数据 d:\filename.txt 我检查过了,是工作....但我的二进制与视频无关 )))) Stanislav Korotky 2020.05.02 10:24 #27313 在没有互联网的情况下,用MQL5云保护进行的编译似乎会使编辑器挂起。起初,它轻轻地挂起(即编辑器可用于其他操作,但编译命令在等待完成,如果有超时,不清楚要等待多久)。如果按了 "取消 "按钮,它就会紧紧地挂起来。 Igor Makanu 2020.05.02 14:50 #27314 我想从.dll返回字符串到MQL4(MQL5完全没有问题)。 我已经犯了很多错误,所以我需要问一些知识性的问题:什么是内存中的字符串阵列?- 什么是字符串的数组? string s_arr_1[]; // эти массивы чем-нибудь отличаются? string s_arr_2[10]; Vladimir Simakov 2020.05.02 15:16 #27315 Igor Makanu: 我想从.dll返回字符串到MQL4(MQL5完全没有问题)。 我已经犯了很多错误,所以我需要问一些知识性的问题:什么是内存中的字符串阵列?- 什么是字符串的数组? 字符串数组是一个字符串对象的数组。在某个地方,一个开发者写道,有两个字段:一个指向字符串的指针和32位分配的内存大小。一般来说,把这样的事情写在官方文档里就好了,这样就不会被人猜到。 Sergey Dzyublik 2020.05.02 15:44 #27316 Igor Makanu: 什么是内存中的字符串数组?- 什么是字符串阵列? 关于MASSIVE数据结构。 我描述的是MT5,MT4也应该是这样,可能有些地方会不同,但应该是接近的。 一般来说,阵列由两部分组成:描述和数据,但也可能只由数据组成。 数据是为数组元素分配的内存。 描述 - 包含以下字段的结构,该序列不被保存。 flags - 一组描述阵列的标志:IsDynamic, IsSetAsSerrias, IsIndexBuffer, ... size - 数组中创建的元素数量。 capacity - 阵列中保留元素的数量。 构造函数指针 - 指向数组元素的构造函数的指针。 解构器指针 - 指向数组元素的解构器函数的指针。 data pointer - 指向数组开始的指针。 string s_arr_1[];- 动态数组,由一个描述和一个数据数组组成。string s_arr_2[10]; - 数组的类型取决于字符串的位置。 如果作为局部变量 使用,它是一个静态数组,由一个描述和一个数据数组组成,依次位于堆栈中。 如果作为结构/类中的一个字段使用,它只是一个数据数组(描述部分缺失)。 Igor Makanu 2020.05.02 16:01 #27317 Sergey Dzyublik: 关于数据结构MASSIVE。 这是记忆中对MT5的描述,对MT4也应该如此,可能有些地方会不同,但应该很接近。 一般来说,阵列由两部分组成:描述和数据,但也可能只由数据组成。 数据是为数组元素分配的内存。 描述 - 包含以下字段的结构,该序列不被保存。 flags - 一组描述阵列的标志:IsDynamic, IsSetAsSerrias, IsIndexBuffer, ... size - 数组中创建的元素数量。 capacity - 阵列中保留元素的数量。 构造函数指针 - 指向数组元素的构造函数的指针。 解构器指针 - 指向数组元素的解构器函数的指针。 data pointer - 指向一个数组开始的指针。 string s_arr_1[];- 动态数组,由一个描述和一个数据数组组成。string s_arr_2[10]; - 数组类型取决于字符串的位置。 如果作为局部变量 使用,它是一个静态数组,由一个描述和一个数据数组组成,依次位于堆栈中。 如果作为结构/类中的一个字段使用,它只是一个数据数组(描述部分缺失)。 谢谢你! 有一个希望,也许存在来自WinAPI的一些标准结构,但显然它不可能与字符串相同。 SZZ:我已经修复了与dll的交换,但和以前一样分两次调用--请求dll中的动作并返回字符串所需的缓冲区大小,第二次调用时将字符串复制到准备好的缓冲区中,好吧,问题是局部的,但我希望我能够简化解决方案。 弗拉基米尔-西马科夫。 字符串数组是一个字符串对象的数组。在某个地方,一些开发者写道,有两个字段:一个指向字符串的指针和32位的分配内存大小。一般来说,在官方文档中写出这样的东西是很好的,这样就不会让人猜到。 主要问题是,MQL4和5是非常不同的程序 )))) MQL4中的字符串在.Net中被StringBuilderClass 完美解析,所以你是对的,字符串不是一个内存位置,而是一个对象。 Sergey Dzyublik 2020.05.02 16:11 #27318 что из себя представляет массив строк в памяти? - что такое массив строк?! 关于数据结构 STR。 我根据记忆对MT5进行了描述,同样的情况应该也适用于MT4,可能有些地方会有所不同,但应该很接近。 该行由描述+数据组成。 描述包含以下字段。 buffer_len - 为字符串分配的缓冲区大小。 unicode_str指针 - 指向数据结构 中unicode_str字段(offset+8)的指针。 数据包含以下字段。 flags - 一组描述字符串的标志:static(0x03)/dynamic(0x01), 可能是编码... len - 字符串长度; unicode_str - unicode_str字符串,由描述中的unicode_str指针直接指向。 Vladimir Simakov 2020.05.02 16:41 #27319 Sergey Dzyublik: 关于数据结构 STR。 我根据记忆对MT5进行了描述,同样的情况应该也适用于MT4,可能有些地方会有所不同,但应该很接近。 该行由描述+数据组成。 描述包含以下字段。 buffer_len - 为字符串分配的缓冲区大小。 unicode_str指针 - 指向数据结构 中unicode_str字段(offset+8)的指针。 该数据包含以下字段。 flags - 一组描述字符串的标志:static(0x03)/dynamic(0x01), 可能是编码... len - 字符串长度; unicode_str - unicode_str字符串,由描述中的unicode_str指针直接指向。 问题。是在什么地方描述的还是你自己分析的? [删除] 2020.05.02 20:10 #27320 Igor Makanu: 我想从.dll返回字符串到MQL4(MQL5完全没有问题)。 我已经犯了很多错误,所以我需要问一些知识性的问题:什么是内存中的字符串阵列?- 什么是字符串的数组? 只传递一个Uchar数组而不是一个字符串数组。这样做更容易。 例如,你可以这样转换。 int StringArrayToCharArray(string &stringArr[],uchar &c[]) { uchar temp[]; int pos=0; for (int i=0; i<ArraySize(stringArr); i++) { ArrayFree(temp); StringToCharArray(stringArr[i],temp); ArrayCopy(c,temp,pos); pos+=ArraySize(temp); } return pos; } //+------------------------------------------------------------------+ int CharArrayToStringArray(string &stringArr[],uchar &c[]) { ArrayFree(stringArr); int pos=0; int j=0; for (; pos<ArraySize(c); j++) { ArrayResize(stringArr,j+1); stringArr[j]=CharArrayToString(c,pos); while(c[pos]!=0) pos++; pos++; } return j; } 对MQL4和MQL5的作用相同 附加的文件: ArrayStringToCharArray.mq4 4 kb ArrayStringToCharArray.mq5 4 kb 1...272527262727272827292730273127322733273427352736273727382739...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
开始搜索(任何搜索,任何名称)并立即停止搜索。这将出现一个搜索栏,你可以选择文件类型。
我知道我需要找到视频文件。一切都是。绝对的。至于它们是什么类型和名称,让机器自己去看。
很难猜测机器如何搜索,但在DOS中如何搜索(按Win+R,写cmd),像这样。
我在谷歌上搜索了第一个网站http://fileext.ru/video, 将其粘贴到Excel中,使其成列,然后再粘贴到记事本中。
最后一个参数,用于写入带有路径和文件名的搜索数据 d:\filename.txt
我检查过了,是工作....但我的二进制与视频无关 ))))
我想从.dll返回字符串到MQL4(MQL5完全没有问题)。
我已经犯了很多错误,所以我需要问一些知识性的问题:什么是内存中的字符串阵列?- 什么是字符串的数组?
我想从.dll返回字符串到MQL4(MQL5完全没有问题)。
我已经犯了很多错误,所以我需要问一些知识性的问题:什么是内存中的字符串阵列?- 什么是字符串的数组?
什么是内存中的字符串数组?- 什么是字符串阵列?
关于MASSIVE数据结构。
我描述的是MT5,MT4也应该是这样,可能有些地方会不同,但应该是接近的。
一般来说,阵列由两部分组成:描述和数据,但也可能只由数据组成。
string s_arr_1[];- 动态数组,由一个描述和一个数据数组组成。数据是为数组元素分配的内存。
描述 - 包含以下字段的结构,该序列不被保存。
string s_arr_2[10]; - 数组的类型取决于字符串的位置。
如果作为局部变量 使用,它是一个静态数组,由一个描述和一个数据数组组成,依次位于堆栈中。
如果作为结构/类中的一个字段使用,它只是一个数据数组(描述部分缺失)。
关于数据结构MASSIVE。
这是记忆中对MT5的描述,对MT4也应该如此,可能有些地方会不同,但应该很接近。
一般来说,阵列由两部分组成:描述和数据,但也可能只由数据组成。
string s_arr_1[];- 动态数组,由一个描述和一个数据数组组成。数据是为数组元素分配的内存。
描述 - 包含以下字段的结构,该序列不被保存。
string s_arr_2[10]; - 数组类型取决于字符串的位置。
如果作为局部变量 使用,它是一个静态数组,由一个描述和一个数据数组组成,依次位于堆栈中。
如果作为结构/类中的一个字段使用,它只是一个数据数组(描述部分缺失)。
谢谢你!
有一个希望,也许存在来自WinAPI的一些标准结构,但显然它不可能与字符串相同。
SZZ:我已经修复了与dll的交换,但和以前一样分两次调用--请求dll中的动作并返回字符串所需的缓冲区大小,第二次调用时将字符串复制到准备好的缓冲区中,好吧,问题是局部的,但我希望我能够简化解决方案。
字符串数组是一个字符串对象的数组。在某个地方,一些开发者写道,有两个字段:一个指向字符串的指针和32位的分配内存大小。一般来说,在官方文档中写出这样的东西是很好的,这样就不会让人猜到。
主要问题是,MQL4和5是非常不同的程序 ))))
MQL4中的字符串在.Net中被StringBuilderClass 完美解析,所以你是对的,字符串不是一个内存位置,而是一个对象。
关于数据结构 STR。
我根据记忆对MT5进行了描述,同样的情况应该也适用于MT4,可能有些地方会有所不同,但应该很接近。
数据包含以下字段。该行由描述+数据组成。
描述包含以下字段。
关于数据结构 STR。
我根据记忆对MT5进行了描述,同样的情况应该也适用于MT4,可能有些地方会有所不同,但应该很接近。
该数据包含以下字段。该行由描述+数据组成。
描述包含以下字段。
问题。是在什么地方描述的还是你自己分析的?
我想从.dll返回字符串到MQL4(MQL5完全没有问题)。
我已经犯了很多错误,所以我需要问一些知识性的问题:什么是内存中的字符串阵列?- 什么是字符串的数组?
只传递一个Uchar数组而不是一个字符串数组。这样做更容易。
例如,你可以这样转换。
对MQL4和MQL5的作用相同