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

 

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

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

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

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

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

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

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

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

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


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

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

 
//+----------------------------------------+
//| Скрипт для выбора звука   -С-Проба.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
 
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(Звук[Номер]);
}
 
LRA:
Можно ли сделать то же самое но со стринговыми данными? И если нет, то подскажите, пожалуйста, как правильно сделать выпадающий список для данных типа string. Спасибо.
 

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

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

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

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

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

А говорят что

Yuriy Asaulenko:

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

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

Причина обращения: