Скачать MetaTrader 5

Выпадающий список для звуков во внешний параметр

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Artyom Kuraev
950
Artyom Kuraev  

Здравствуйте!

Подскажите, пожалуйста,как в mql4 во внешний параметр вынести настройку звукового файла?

Простым string-овым значением уже не катит. Хочу сделать через группу ENUM. Но какую группу выбрать - не могу понять. При написании extern SIGNAL_BASE_NAME sound=1; выдает ошибку.

Список, который я хочу получить, есть в стандартном наборе терминала (см.рисунок).

Выпадающий список
Alexey Viktorov
11306
Alexey Viktorov  
delfik71091:

Здравствуйте!

Подскажите, пожалуйста,как в mql4 во внешний параметр вынести настройку звукового файла?

Простымstring-овым значением уже не катит. Хочу сделать через группу ENUM. Нокакую группу выбрать - не могу понять. При написании externSIGNAL_BASE_NAME sound=1; выдает ошибку.

Список, который я хочу получить, есть в стандартном наборе терминала (см.рисунок).


SIGNAL_BASE_NAME это из другой оперы, это их торговых сигналов.

В данном случае лучше написать свой ENUM.

LRA
423
LRA  
//+----------------------------------------+
//| Скрипт для выбора звука   -С-Проба.mq4 |
//+----------------------------------------+
#property show_inputs
enum Звуки
{
  Соединение,    // 0
  Рассоединение, // 1
  Почта,         // 2 ....
  Эксперт
};

extern Звуки Звук=0;

void OnStart()
{
  switch (Звук) 
  { 
    case 0: PlaySound("connect.wav"); break;
    case 1: PlaySound("disconnect.wav"); break;
    case 2: PlaySound("email.wav");
  }
}
111
Artyom Kuraev
950
Artyom Kuraev  
LRA:

Спасибо!! Как-то я не подумал, а все гениальное просто.
LRA
423
LRA  
//+--------------------------------------------------+
//| Скрипт для выбора звука из массива  -С-Проба.mq4 | Вот еще короче и потому еще проще
//+--------------------------------------------------+ Вместо switch и case использован массив
#property show_inputs
enum Звуки
{
  Соединение,    // 0
  Рассоединение, // 1
  Почта,         // 2
  Эксперт        // ...
};

string Звук[4]={"connect.wav","disconnect.wav","email.wav","expert.wav"};
extern Звуки Номер=2;

void OnStart()
{
  PlaySound(Звук[Номер]);
}
A
4
A  
LRA:
Можно ли сделать то же самое но со стринговыми данными? И если нет, то подскажите, пожалуйста, как правильно сделать выпадающий список для данных типа string. Спасибо.
LRA
423
LRA  

Посмотрите внимательно. Данные уже строковые. Программу прилагаю. Выпадающий список для данных типа string:

string Звук[4]={"connect.wav","disconnect.wav","email.wav","expert.wav"};

В выпадающем списке  можно много чего написать. Делал даже так:

enum ЭтоЛюфт
{
  БезЛюфта,
  Одинарный,
  Двойной,
  Тройной,
  Четыре,
  Пять,
  БольшойШесть,
  ОченьБольшойВосемь=8,
  СамыйБольшойДесять=10
};
Файлы:
demo_1.mq4 1 kb
Alexey Viktorov
11306
Alexey Viktorov  

Удивляет меня такое терпение. Ведь в документации и пример есть, и подробное описание, но не все читать умеют.

А говорят что

Yuriy Asaulenko:

ЗЫ По статистике Майкрософт, русские читают быстрее всех, т.к. на вкладке "Пользовательское соглашение" быстрее других нажимают кнопку "Согласен".

Документация перечисления!

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий