Приветствую!
Два вопроса в одном:
1. Как реализовать табуляцию для Print()?
2. Как узнать длину строки в пикселах?
Задача: получить вывод в виде таблицы:
MODE_MARGINREQUIRED = 1164.32 Размер свободных средств, необходимых для открытия 1 лота на покупку
MODE_MARGINHEDGED = 0 Маржа, взимаемая с перекрытых ордеров в расчете на 1 лот
MODE_MARGINMAINTENANCE = 0 Размер залоговых средств для поддержки открытых ордеров в расчете на 1 лот
MODE_MARGININIT = 0 Начальные залоговые требования для 1 лота
MODE_MARGINCALCMODE = 0 Способ расчета залоговых средств. 0 - Forex; 1 - CFD; 2 - Futures; 3 - CFD на индексы
MODE_PROFITCALCMODE = 0 Способ расчета прибыли. 0 - Forex; 1 - CFD; 2 - Futures
Подобная тема для Comment() обсуждалась здесь - https://www.mql5.com/ru/forum/122109/page6
Почему-то '\t' не работает - https://docs.mql4.com/ru/basis/types/integer/symbolconstantsИспользовать PrintFormat и задействовать флаги выравнивания и ширины полей
PrintFormat("%15s = %f ","MODE_MARGIN_REQUIRED",1164.32);
Использовать PrintFormat и задействовать флаги выравнивания и ширины полей
PrintFormat("%15s = %f ","MODE_MARGIN_REQUIRED",1164.32);
Спасибо, добрый человек!
Кое-что проясняется, буду дальше курить.
МетаКвотавцев понять и простить бы, но даже с первым не получается! Вот как понять - https://docs.mql4.com/ru/common/printformat?! Примеров нормальных и наглядных жалко?!
Сишная справка по printf() куда более понятная - https://cpp.com.ru/shildt_spr_po_c/08/0804.html
- docs.mql4.com
Использовать PrintFormat и задействовать флаги выравнивания и ширины полей
PrintFormat("%15s = %f ","MODE_MARGIN_REQUIRED",1164.32);
Ровнее не стала табличка, табуляции нет. При одинаковой строке форматирования:
"--> %30s = %-10s: %20s = %-10s: %20s = %-30s"
в коде:
for(int i=0; i<GlobalVariablesTotal(); i++) PrintFormat("--> %30s = %-10s: %20s = %-10s: %20s = %-30s", "GlobalVariableName(" + (string)i + ")", (string)GlobalVariableName(i), "GlobalVariableGet", (string)GlobalVariableGet(GlobalVariableName(i)), "GlobalVariableTime", (string)GlobalVariableTime(GlobalVariableName(i))); for(int i=0; i<SymbolsTotal(false); i++) if(StringFind(SymbolName(i, false), "USD") >= 0) PrintFormat("--> %30s = %-10s: %20s = %-10s: %20s = %-30s", (string)SymbolName(i, false), (string)StringFind(SymbolName(i, false), "USD"), "MODE_PROFITCALCMODE - ", (string)MarketInfo(_Symbol, MODE_PROFITCALCMODE), "MODE_MARGINCALCMODE - ", (string)MarketInfo(_Symbol, MODE_MARGINCALCMODE) );
Результат весьма кривой, табуляцией не пахнет к сожалению:
Ровнее не стала табличка, табуляции нет. При одинаковой строке форматирования:
в коде:
Результат весьма кривой, табуляцией не пахнет к сожалению:
Ровнее не стала табличка, табуляции нет. При одинаковой строке форматирования:
в коде:
Результат весьма кривой, табуляцией не пахнет к сожалению:
но ведь ровнее стало чем было ? :-)
1. Таблица (журнал) выводится шрифтом с не-фиксированным размером. Вожет быть где-то в настройках темы, можно задать шрифт Courier например
2. Свои журналы лучше писать в свои файлы, а в общий журнал только действительно важное.
а зачем Вам на нули смотреть?
но ведь ровнее стало чем было ? :-)
1. Таблица (журнал) выводится шрифтом с не-фиксированным размером. Вожет быть где-то в настройках темы, можно задать шрифт Courier например
2. Свои журналы лучше писать в свои файлы, а в общий журнал только действительно важное.
Нет, не ровнее, просто там были заглавные символы и ширина сильно менялась от кол-ва символов "I".
Да, второй вариант видимо правильный.
А решение могло бы быть только если знать ширину (допустим в пикселях) для всех символов и парсить каждую строку, тогда бы получилось.
А решение могло бы быть только если знать ширину (допустим в пикселях) для всех символов и парсить каждую строку, тогда бы получилось.
Нет, все равно не получилось бы подстроить произвольный текст.
Пишите в файл, проще всего.
тема не про нули
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Приветствую!
Два вопроса в одном:
1. Как реализовать табуляцию для Print()?
2. Как узнать длину строки в пикселах?
Задача: получить вывод в виде таблицы:
MODE_MARGINREQUIRED = 1164.32 Размер свободных средств, необходимых для открытия 1 лота на покупку
MODE_MARGINHEDGED = 0 Маржа, взимаемая с перекрытых ордеров в расчете на 1 лот
MODE_MARGINMAINTENANCE = 0 Размер залоговых средств для поддержки открытых ордеров в расчете на 1 лот
MODE_MARGININIT = 0 Начальные залоговые требования для 1 лота
MODE_MARGINCALCMODE = 0 Способ расчета залоговых средств. 0 - Forex; 1 - CFD; 2 - Futures; 3 - CFD на индексы
MODE_PROFITCALCMODE = 0 Способ расчета прибыли. 0 - Forex; 1 - CFD; 2 - Futures
Подобная тема для Comment() обсуждалась здесь - https://www.mql5.com/ru/forum/122109/page6
Почему-то '\t' не работает - https://docs.mql4.com/ru/basis/types/integer/symbolconstants
Скрипт с попыткой табулирования пробелами и результат: