Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2675

 
Alexey Viktorov #:

А вы разве не пользуетесь форматированием кода?

В МЕ4 тоже такое есть.

Никогда. Я использую МЕ только для компиляции. Неудобен он. Я сделал пользовательский синтаксис для Notepad++. Этот редактор в разы лучше метаэдитора.

P.S.

Ну например, в ноутпаде есть возможность подсветить несколькими разными цветами все вхождения нескольких переменных (до 5 штук). Например, вот так:

Раскрасив нужные переменные как я хотел, я прокручиваю код и вижу ВСЕ вхождения - они выделены цветом. И это лишь одно удобство. Но как помогает при поиске ошибок!!!

Я могу сворачивать выделенные блоки кода чтоб легко перемещаться между разными блоками, если код большой... Есть и другие удобства, которых нет в метаэдиторе. Смысла перечислять нету - это нужно пробовать на деле.

 
Да, забыл сказать. Если код большой и непричёсанный, то в ноутпаде можно причесать его через автозамену. А можно так, как говорите Вы, создать в метаэдиторе новый документ, вставить непричёсанный код, причесать его и перекопировать в иной редактор. Тож вариант хороший. Спасибо, кстати, за идею. Я и забыл уже что у метаквотесов в редакторе есть расчёска :))
 
Здравствуйте! Могли бы указать на мою ошибку? Я через ресурсы добавляю шрифт. Далее этот шрифт использую в кнопке. Но почему-то выводится шрифт Arial, вместо того, какой указал я
#resource "\\Files\\FontCustom.ttf"
string fontCustom = "::Files\\FontCustom.ttf";
ButtonCreate(0,"Button",0,20,20,120,40,CORNER_LEFT_UPPER,"3",fontCustom ,10);
Через CharToString тоже пробовал. Не получилось 
 
Не уверен, что МТ может использовать шрифт прямо из файла, не установленный в системе
 
Aleksei Stepanenko #:
Не уверен, что МТ может использовать шрифт прямо из файла не установленный в системе
Файл находится в папке Files МТ5. Я писал код ориентируясь по этой ветке, но там все работает отлично, а у меня нет 
Можно ли интегрировать шрифт с свою ex5 программу? И если можно то как это сделать? - Общее обсуждение - Форум алго-трейдеров MQL5
Можно ли интегрировать шрифт с свою ex5 программу? И если можно то как это сделать? - Для работы mql5-программы необходимо подключить несколько файлов с ttf MQL5.
Можно ли интегрировать шрифт с свою ex5 программу? И если можно то как это сделать? - Для работы mql5-программы необходимо подключить несколько файлов с ttf MQL5.
  • 2014.06.24
  • www.mql5.com
Мое приложение использует различные шрифты для эмитации пользовательского графического интерфейса и мне очень важно единое представление шрифтов на всех машинах пользователей. Ведь не совсем ясно на каком основании пользователь будет устанавливать шрифты со сторонних ресурсов. В Windows перед использованием шрифта его необходимо установить через панель управления - шрифты
 

Понял, так попробуйте сначала готовый код из ветки, если работает - модифицируйте

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Можно ли интегрировать шрифт с свою ex5 программу? И если можно то как это сделать?

Ilyas, 2017.01.23 09:16

MT5, билд 1510

//+------------------------------------------------------------------+
//|                                                         Font.mq5 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property script_show_inputs
#resource "\\Files\\a_LCDNova3DCmObl.ttf"

#include <Canvas\Canvas.mqh>
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
input string InpMessage="Hello world!";   // message
input uint   InpSeconds=10;               // time in seconds
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   ChartSetInteger(0,CHART_SHOW,0);
  
   CCanvas graph;
  
   graph.CreateBitmapLabel(0,0,"FONT",10,30,1320,200,COLOR_FORMAT_ARGB_NORMALIZE);
   graph.FontSet("::Files\\a_LCDNova3DCmObl.ttf",-240);
  
   uint timeout=GetTickCount()+InpSeconds*1000;
  
   while(!IsStopped())
     {
      graph.Erase(0);
      graph.TextOut(0,0,InpMessage + " ("+string((timeout-GetTickCount())/1000)+")",XRGB(255,255,255));
      graph.Update();
      
      if(GetTickCount()>timeout)
         break;
     }
    
   graph.Destroy();
  
   ChartSetInteger(0,CHART_SHOW,1);
  }
//+------------------------------------------------------------------+

Результат:


Архив со шрифтом необходимо распаковать в папку MQL5\Files
Устанавливать шрифт не нужно.


 
Aleksei Stepanenko #:

Понял, так попробуйте сначала готовый код из ветки, если работает - модифицируйте


Понял. В канвасе работает. А если шрифт указывать через: ObjectSetString(chart_ID,name,OBJPROP_FONT,font); , то нет. Вопрос, а можно ли это как-то исправить, чтобы в функции ObjectSetString тоже работало?
 
Вряд ли, канвас должен работать. Другое дело, если Вы хотите менять текст кнопки, то кнопка - это графический объект вне канваса?
 
Aleksei Stepanenko #:
Вряд ли, канвас должен работать. Другое дело, если Вы хотите менять текст кнопки, то кнопка - это графический объект вне канваса?
Да, все верно. Хочу менять текст кнопки, но кнопка - объект вне канваса
 
В графический объектах как раз неустановленный в систему шрифт может и не работать. Не утверждаю. Установите шрифт в Винду и проверьте Ваш код. Если взлетит - то проблема, если нет - то поищите, где что не так. Затем удалите шрифт из системы.