让我们讨论一下编辑部的联合项目--为什么以及它们的发展方向 - 页 13 1...678910111213141516 新评论 Vladimir Pastushak 2018.01.10 07:57 #121 Artyom Trishkin: 已经有了答案。通过编译语言的定义。应该有多种语言的东西--例如设置--是为每种语言编写的。然后#ifdef来帮助。 我有点疑惑,是否可以根据终端语言,以编程方式改变EA设置的语言? Artyom Trishkin 2018.01.10 08:12 #122 Vladimir Pastushak: 我有点疑惑,是否可以根据终端语言以编程方式改变EA设置的语言?在程序层面上的编程--没有。在编译层面,是的。 Vladimir Pastushak 2018.01.10 08:20 #123 Artyom Trishkin:在方案层面上,没有。在编译层面,是的。也就是说,如果我在程序中有54个设置,我需要用不同的语言制作几个版本的程序,有不同的描述和不同的链接,我不需要为每个版本翻译和组合设置? Artyom Trishkin 2018.01.10 08:25 #124 Vladimir Pastushak: 也就是说,如果我在程序中有54个设置,而我需要用不同的语言制作几个版本的程序,有不同的描述和不同的链接,我是否需要翻译这些设置,并为每个版本合并它们?是的,我知道。程序在运行过程中所显示的一切都可以与终端语言相联系,而设置--只与代码本身相关。要做到这一点,你需要在程序中制作几个版本的输入参数,并在编译过程中通过定义它们来选择所需的设置语言。 Vladimir Pastushak 2018.01.10 08:29 #125 Artyom Trishkin:我必须这样做。一个程序运行时输出的所有东西都可以与终端语言挂钩,而设置只与代码本身挂钩。要做到这一点,你需要在程序中制作几个版本的输入参数,并在编译时通过定义选择所需的设置语言。我不知道怎么做......我的知识似乎有一个缺口,我可以要求一个小例子吗? Artyom Trishkin 2018.01.10 08:30 #126 Vladimir Pastushak: 我不知道怎么做......我的知识似乎有一个缺口,我可以要求一个小例子吗?例子。//+------------------------------------------------------------------+ //| defines | //+------------------------------------------------------------------+ #define __MQL_COMPILE_LANG__ // закомментировать для компиляции в eng //+------------------------------------------------------------------+ //| Русский язык компиляции | //+------------------------------------------------------------------+ #ifdef __MQL_COMPILE_LANG__ enum ENUM_INPUT_YES_NO { INPUT_YES = 1, // Да INPUT_NO = 0 // Нет }; enum ENUM_INPUT_ON_OFF { INPUT_ON = 1, // Вкл INPUT_OFF = 0 // Выкл }; enum ENUM_INPUT_START_DAY_OF_WEEK { INPUT_WEEK_START_ON_SUNDAY, // Воскресение INPUT_WEEK_START_ON_MONDAY, // Понедельник }; enum ENUM_USE_SYMBOL_LIST_FROM { INPUT_SYMBOLS_CURRENT, // Текущий INPUT_SYMBOLS_FROM_DEFINES_LIST, // Из заданного списка INPUT_SYMBOLS_FROM_MARKET_WATCH // Из обзора рынка }; enum ENUM_USE_MAGIC_LIST_FROM { INPUT_MAGIC_ONE, // Один заданный INPUT_MAGIC_FROM_DEFINES_LIST // Из заданного списка }; enum ENUM_MONTH_NAME { MONTH_JANUARY, // Январь MONTH_FEBRUARY, // Февраль MONTH_MARCH, // Март MONTH_APRIL, // Апель MONTH_MAY, // Май MONTH_JUNE, // Июнь MONTH_JULY, // Июль MONTH_AUGUST, // Август MONTH_SEPTEMBER, // Сентябрь MONTH_OCTOBER, // Октябрь MONTH_NOVEMBER, // Ноябрь MONTH_DECEMBER // Декабрь }; //+------------------------------------------------------------------+ //| Английский язык компиляции | //+------------------------------------------------------------------+ #else enum ENUM_INPUT_YES_NO { INPUT_YES = 1, // Yes INPUT_NO = 0 // No }; enum ENUM_INPUT_ON_OFF { INPUT_ON = 1, // On INPUT_OFF = 0 // Off }; enum ENUM_INPUT_START_DAY_OF_WEEK { INPUT_WEEK_START_ON_SUNDAY, // Sunday INPUT_WEEK_START_ON_MONDAY, // Monday }; enum ENUM_USE_SYMBOL_LIST_FROM { INPUT_SYMBOL_CURRENT, // Current INPUT_SYMBOLS_FROM_DEFINES_LIST, // From the specified list INPUT_SYMBOLS_FROM_MARKET_WATCH // From the market watch }; enum ENUM_USE_MAGIC_LIST_FROM { INPUT_MAGIC_ONE, // One specified INPUT_MAGIC_FROM_DEFINES_LIST // From the specified list }; enum ENUM_MONTH_NAME { MONTH_JANUARY, // January MONTH_FEBRUARY, // February MONTH_MARCH, // March MONTH_APRIL, // April MONTH_MAY, // May MONTH_JUNE, // June MONTH_JULY, // July MONTH_AUGUST, // August MONTH_SEPTEMBER, // September MONTH_OCTOBER, // October MONTH_NOVEMBER, // November MONTH_DECEMBER // December }; #endif Vladimir Pastushak 2018.01.10 09:39 #127 Artyom Trishkin:例子。谢谢你!我明白了,我以为有更简单的东西......。如果我忘了拿出俄文版,我就把它拿出来,编译英文版,如果我忘了拿出来,我就得到一个相同语言的文件......我现在做事的方式有点不同,我在努力消除我临时犯的错误......我做了我的模板-项目,它看起来像这样项目专家代码文件夹程序代码包括文件夹俄语中的设置英文的设置俄文版文件夹俄语版本的程序英文版本的程序文件夹英文版本的程序这让我有点害怕,开发人员开始在项目中做所有的事情,并立即将程序描述放在项目的主页面上,这比代码中的描述更优先。有一个风险是,为了创建一个程序的不同版本,你必须做不同的项目,并生成一堆文件夹和文件... Koldun Zloy 2018.01.12 15:20 #128 Alexey Volchanskiy: 为什么?那么,在历史上,由于计算机很弱,并且使用了分裂式编译,因此,李氏集团已经这样做了。此外,你可以以编译的格式+.h中的头文件传递给客户很简单,这很方便。而且从好的方面看,它在今天仍有意义。 Alexey Volchanskiy 2018.01.12 17:06 #129 Artyom Trishkin: 已经有了一个答案。通过编译语言定义。应该有一种以上语言的东西--例如设置--是为每种语言编写的。然后#ifdef来帮助。长期以来,我一直把设置放在一个单独的.mqh文件中。有一个多平台的核心.mq4/5,它在理想情况下是不变的,除了插件,大部分也是多平台的类定义。用这种方法制作一个新的机器人要容易得多,你只需要继承信号类并编写你自己的打开/关闭算法。还有一些化妆品+糖。 这都是我自己做的,因为有关EA创造的 课程是我强烈不喜欢SB的几件事之一。 Alexey Volchanskiy 2018.01.12 17:09 #130 Vladimir Pastushak: 谢谢你!我明白了,我以为有更简单的东西......。如果我忘了拿出俄文版,我就下载节选,编译英文版,如果我忘了拿出节选,我就得到一个相同语言的文件......。我现在做事的方式有点不同,我在努力消除我临时犯的错误......我做了我的模板-项目,它看起来像这样项目专家代码文件夹程序代码包括文件夹俄语中的设置英文的设置俄文版文件夹俄语版本的程序英文版本的程序文件夹英文版本的程序这让我有点害怕,开发人员开始在项目中做所有的事情,并立即将程序描述放在项目的主页面上,这比代码中的描述更优先。这意味着,要创建同一程序的不同版本,你将不得不制作不同的项目,并增加大量的文件夹和文件。我同意,我不写这个领域的东西,这是多余的。 1...678910111213141516 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
已经有了答案。通过编译语言的定义。应该有多种语言的东西--例如设置--是为每种语言编写的。
我有点疑惑,是否可以根据终端语言以编程方式改变EA设置的语言?
在程序层面上的编程--没有。在编译层面,是的。
在方案层面上,没有。在编译层面,是的。
也就是说,如果我在程序中有54个设置,我需要用不同的语言制作几个版本的程序,有不同的描述和不同的链接,我不需要为每个版本翻译和组合设置?
也就是说,如果我在程序中有54个设置,而我需要用不同的语言制作几个版本的程序,有不同的描述和不同的链接,我是否需要翻译这些设置,并为每个版本合并它们?
是的,我知道。
程序在运行过程中所显示的一切都可以与终端语言相联系,而设置--只与代码本身相关。要做到这一点,你需要在程序中制作几个版本的输入参数,并在编译过程中通过定义它们来选择所需的设置语言。
我必须这样做。
一个程序运行时输出的所有东西都可以与终端语言挂钩,而设置只与代码本身挂钩。要做到这一点,你需要在程序中制作几个版本的输入参数,并在编译时通过定义选择所需的设置语言。
我不知道怎么做......我的知识似乎有一个缺口,我可以要求一个小例子吗?
我不知道怎么做......我的知识似乎有一个缺口,我可以要求一个小例子吗?
例子。
例子。
谢谢你!我明白了,我以为有更简单的东西......。
如果我忘了拿出俄文版,我就把它拿出来,编译英文版,如果我忘了拿出来,我就得到一个相同语言的文件......
我现在做事的方式有点不同,我在努力消除我临时犯的错误......
我做了我的模板-项目,它看起来像这样
项目专家
这让我有点害怕,开发人员开始在项目中做所有的事情,并立即将程序描述放在项目的主页面上,这比代码中的描述更优先。
有一个风险是,为了创建一个程序的不同版本,你必须做不同的项目,并生成一堆文件夹和文件...
为什么?那么,在历史上,由于计算机很弱,并且使用了分裂式编译,因此,李氏集团已经这样做了。此外,你可以以编译的格式+.h中的头文件传递给客户
很简单,这很方便。
而且从好的方面看,它在今天仍有意义。
已经有了一个答案。通过编译语言定义。应该有一种以上语言的东西--例如设置--是为每种语言编写的。
长期以来,我一直把设置放在一个单独的.mqh文件中。有一个多平台的核心.mq4/5,它在理想情况下是不变的,除了插件,大部分也是多平台的类定义。
用这种方法制作一个新的机器人要容易得多,你只需要继承信号类并编写你自己的打开/关闭算法。还有一些化妆品+糖。
这都是我自己做的,因为有关EA创造的 课程是我强烈不喜欢SB的几件事之一。
谢谢你!我明白了,我以为有更简单的东西......。
如果我忘了拿出俄文版,我就下载节选,编译英文版,如果我忘了拿出节选,我就得到一个相同语言的文件......。
我现在做事的方式有点不同,我在努力消除我临时犯的错误......
我做了我的模板-项目,它看起来像这样
项目专家
这让我有点害怕,开发人员开始在项目中做所有的事情,并立即将程序描述放在项目的主页面上,这比代码中的描述更优先。
这意味着,要创建同一程序的不同版本,你将不得不制作不同的项目,并增加大量的文件夹和文件。
我同意,我不写这个领域的东西,这是多余的。