[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 46

 

Здравствуйте! Нужна помощь в переделке кода. Основную часть кода креплю в виде файла. Код строит таблицу. Я понял как вставлять свои значения в Content - содержание таблицы, но безуспешно попытался сделать подобное с цветом шрифта.

И так, необходимо сделать управление цветом текста, как сделано с Content:

   // Готовим массив с содержимым таблицы      
      for(int i=0;i<20;i++)
      {
       for(int j=0;j<2;j++)
       {
        Content[i][j]="Колонка "+(j+1)+", строка "+(i+1);
       }
      }

т.е. примерно так:

aContentTextColor [i][j] // i, j номер колонки и строки - присваивать им цвет
Файлы:
1.mq4  8 kb
 
Kondratiev_A_A:

Здравствуйте! Нужна помощь в переделке кода. Основную часть кода креплю в виде файла. Код строит таблицу. Я понял как вставлять свои значения в Content - содержание таблицы, но безуспешно попытался сделать подобное с цветом шрифта.

И так, необходимо сделать управление цветом текста, как сделано с Content:

т.е. примерно так:

увеличьте кол-во элементов по "строкам" (например for(int j=0;j<4;j++) и в объявлении массива,тоже, соотвественно ) и пишите во 2-й и 3-й (по номерам) элементы коды цветов в удобном для последующей интерпретации виде

или под цвет можно завести второй массив той же размерности, что с контентом

 
smshev:

увеличьте кол-во элементов по "строкам" (например for(int j=0;j<4;j++) и в объявлении массива,тоже, соотвественно ) и пишите во 2-й и 3-й (по номерам) элементы коды цветов в удобном для последующей интерпретации виде

или под цвет можно завести второй массив той же размерности, что с контентом

Спасибо за ответ!

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

С первым вариантом недопонял, но чувствую, что это не подойдет - не компактно наверно получится)

 
Kondratiev_A_A:

Спасибо за ответ!

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

С первым вариантом недопонял, но чувствую, что это не подойдет - не компактно наверно получится)

поясню первый вариат:

объявите массив не, к примеру, < string Content[100][2] >, а <string Content [100][3]>, в цикле обработки кроме Вашей строки <Content[i][j]="Колонка "+(j+1)+", строка "+(i+1);>

добавьте еще < Content[i][j+1]="Green" > если достаточно одного цвета на всю строку. ну или ="1",в зависимости от того, как Вы там решите кодировать цвета

 
smshev:

поясню первый вариат:

объявите массив не, к примеру, < string Content[100][2] >, а <string Content [100][3]>, в цикле обработки кроме Вашей строки <Content[i][j]="Колонка "+(j+1)+", строка "+(i+1);>

добавьте еще < Content[i][j+1]="Green" > если достаточно одного цвета на всю строку. ну или ="1",в зависимости от того, как Вы там решите кодировать цвета


Теперь ясно о чем речь, спасибо!
 
Lians:

atztek, ну так и смотрите по коду, если вы знаете как выглядит код функции и она расположена вот так:

ЗЫ: если функция находится в INIT() или DEINIT() это можно попробовать и без кода узнать :)

Некоторые операции, которые функции разрешено выполнять в deinit запрещено в start, и т.д. (она используется несколько раз в различных частях кода). Думал может есть команда которая позволяет проверить.
А вообще, все решилось путем добавления еще одной внешней переменной к списку переменных функции.

 
smshev:

поясню первый вариат:

объявите массив не, к примеру, < string Content[100][2] >, а <string Content [100][3]>, в цикле обработки кроме Вашей строки <Content[i][j]="Колонка "+(j+1)+", строка "+(i+1);>

добавьте еще < Content[i][j+1]="Green" > если достаточно одного цвета на всю строку. ну или ="1",в зависимости от того, как Вы там решите кодировать цвета


К сожалению это оказалось мне не ясным, зачем количество колонок менять с 2 на 3? И зачем присваивать значение (строковое причем) Green? Мне не понятно...
 
atztek:

Некоторые операции, которые функции разрешено выполнять в deinit запрещено в start, и т.д. (она используется несколько раз в различных частях кода). Думал может есть команда которая позволяет проверить.
А вообще, все решилось путем добавления еще одной внешней переменной к списку переменных функции.

Лучше задать на глобальном уровне переменную, которой присваивать значение в зависимости от того, в какой функции находится программа. Тогда отпадает необходимость следить за передаваемым в пользовательскую функцию параметром, что есть потенциальный источник ошибок.
 

Ребят подскажите пожалуйста!

Нужно чтобы программка вела SL в десяти пунктах от цены и при закрытии по уровню SL меняла ордер на встречный. Как это можно сделать?

 
alsu:
Лучше задать на глобальном уровне переменную, которой присваивать значение в зависимости от того, в какой функции находится программа. Тогда отпадает необходимость следить за передаваемым в пользовательскую функцию параметром, что есть потенциальный источник ошибок.
Верно, но все же можно совершить ошибки при присвоении глобальной переменной различных значений ;-)
Спасибо!
Причина обращения: