Говорилка (эксперимент) - страница 3

 
sanyooooook:

ЗЫ: прошу прощения за флуд


посмеялся)))
 

Для говорилки требуется писАть? например, "одииин", вместо "один", иначе глотает звуки и не всегда разборчиво, но это уже детали.

 
valenok2003:

Да, мысль интересная. Однако ИМХО её нужно реализовать след образом.

...


Основной смысл в том, что не надо готовить звуковые файлы с фразами, а можно передавать текст в программу. 

 
Integer:


Основной смысл в том, что не надо готовить звуковые файлы с фразами, а можно передавать текст в программу. 

 



Согласен, я понял, однако почему остановилось развитие идеи, где окончательные коды? Это я и имел ввиду.

ps Если реализовать как я описал, то нет необходимости в спикекре указывать валюту и ТФ, а возложить это на программиста. Более того вынеся тексты в глобальные внешние переменные или константы возможность изменения текста появляется у пользователя непрограммиста

Короче - я свою тему закрываю, если не возражаете, буду развивать вашу идею. 

 

Прилагаю говорящий iSlope для иллюстрации полезности речевого оповещения.

Файлы:
islope.zip  73 kb
 
Да пожалуйста, делайте что хотите.
 
Кстати, можно сделать, что бы был какой-нибудь выбор, использовать ли программу-говорилку или готовый звуковой файл.
 
 выходим из стадии эксперимента )))
 

где-то так

//+-------
//+------------------------------------------------------------------+
//|   valenok2003@mail.ru                                2012.11.16
//+------------------------------------------------------------------+
//| speech_creater() создаёт из текстовой строки имя GV переменной
//| в качестве значения переменной записывается очерёдность произнесения текста
//+------------------------------------------------------------------+
void speech_creater(string _Output_Speech){
   string _Function = "speech_creater():";
//-----------------
   double _Num_Massage = 0;
   string _GV_Name = "";
   string _Signature = "_spk_";
   // всего GV-переменных
   int _Cnt_GV = GlobalVariablesTotal();
   // выделяем наибольшее значение среди переменных с сигнатурой 
   for(int _i = 0; _i < _Cnt_GV; _i++){
      if(StringFind(GlobalVariableName(_i),_Signature,0)==-1) continue;
      else if(GlobalVariableGet(GlobalVariableName(_i)) > _Num_Massage) 
         _Num_Massage = GlobalVariableGet(GlobalVariableName(_i));
   }
   //присваиваем новому сообщению очерёдность = старший+1 
   _Num_Massage++;
   // формируем имя переменной... вроде как MQL4 понимает русские буквы
   // заменяем пробелы на подчеркивания
   int _Cnt_Char = StringLen(_Output_Speech);
   for(_i = 0; _i < _Cnt_Char; _i++){
      if(StringGetChar(_Output_Speech, _i) == ' ') _Output_Speech = StringSetChar(_Output_Speech, _i, '_');
   }   
   _GV_Name = _Signature + _Output_Speech;
   GlobalVariableSet(_GV_Name, _Num_Massage); 
//-----------------
   return;
}
//+-------------------------------------------------------------------
//+-------
Декодер в понедельник 
 

Какая максимальная длина имени GV переменной, подскажите.

Очевидно в кодере требуется разбивать  строки  на более короткие, в соответствии с максимально возможной длиной имени.

 
32 символа
Причина обращения: