Как в свичь перебрать цикл

 

Всем приветик. Вопрос наверно не значительный для знатаков но поку вдумать не могу.

В общем есть число 245 и свичь

witch(ABC)                                  // Заголовок switch
     {                                            // Начало тела switch
      case 1  : Alert("А");break;// Варианты..
      case 2  : Alert("Б");break;
      case 3  : Alert("В");break;
      case 4  : Alert("Г");break;//Здесь представлено
      case 5  : Alert("Д");break;//10 вариантов case,
      case 6  : Alert("Е");break;//но в общем случае
      case 7  : Alert("Ё");break;//количество case
      case 8  : Alert("Ж");break;//не ограничено
      case 9  : Alert("З");break;
      case 10 : Alert("И");break;
      case 11 : Alert("Й");break;// Варианты..
      case 12 : Alert("К");break;
      case 13 : Alert("Л");break;
      case 14 : Alert("М");break;//Здесь представлено
      case 15 : Alert("Н");break;//10 вариантов case,
      case 16 : Alert("О");break;//но в общем случае
      case 17 : Alert("П");break;//количество case
      case 18 : Alert("Р");break;//не ограничено
      case 19 : Alert("С");break;
      case 20 : Alert("Т");break;  
      case 21 : Alert("у");    break;// Варианты..
      case 22 : Alert("ф");    break;
      case 23 : Alert("х");    break;
      case 24 : Alert("ц"); break;//Здесь представлено
      case 25 : Alert("ч");  break;//10 вариантов case,
      case 26 : Alert("ш"); break;//но в общем случае
      case 27 : Alert("Щ");  break;//количество case
      case 28 : Alert("ъ");break;//не ограничено
      case 29 : Alert("Ы");break;
      case 30 : Alert("ь");break; 
      case 31 : Alert("Э");    break;// Варианты..
      case 32 : Alert("Ю");    break;
      case 33 : Alert("Я");    break;
            
      default: Alert("");     // С case не совпало
     }                                            // Конец тела switch
//--------------------------------------------------------------------
   return;                                        // Выход из start()
  }

Нужно перебрать в цикле 245 и найти какой букве в Карусели равно данное значение.

Может лучше использавать какието другие варианты.

 
EugenioKP1983:

Всем приветик. Вопрос наверно не значительный для знатаков но поку вдумать не могу.

В общем есть число 245 и свичь

Нужно перебрать в цикле 245 и найти какой букве в Карусели равно данное значение.

Может лучше использавать какието другие варианты.


А что мешает взять остаток от деления

double  MathMod(
   double  value,      // 245
   double  value2      // 33
   );

Получится

case 14 : Alert("М");break;//Здесь представлено
 
EugenioKP1983:

Всем приветик. Вопрос наверно не значительный для знатаков но поку вдумать не могу.

В общем есть число 245 и свичь

Нужно перебрать в цикле 245 и найти какой букве в Карусели равно данное значение.

Может лучше использавать какието другие варианты.


О чем речь, не понял. Внешне похоже на задачу перекодирования строк MS DOS <=> Windows (кодовые страницы 866 и 1251), которую тоже можно делать по-разному, поэтому приведу компактную замену приведенного свича, может, пригодится:

string SS="АБВГДЕЁЖЗИЙКЛМНОПРСТуфхцчшЩъЫьЭЮЯ";

Alert(SS [ABC-1]);

Завтра обращение к символу в строке по номеру уже станет легальным (https://forum.mql4.com/ru/73562):

"Новая версия платформы MetaTrader 4 build 1010: Расширение возможностей MQL4

В четверг 18 августа 2016 года будет опубликовано обновление платформы MetaTrader 4. Обновление содержит следующие изменения:

...

MQL4: Добавлена поддержка оператора [ ] для строки, что позволит получать символ из строки по индексу. Если указанный индекс выходит за пределы строки, результатом будет 0."

А пока 

Alert(StringSubstr(SS,ABC-1,1));

 
AlexeyVik:

А что мешает взять остаток от деления

Получится


Да супер я так и сделал