Aleksey Rodionov: нужно получить все варианты написания слова с разным вариантом регистра, например: чашка, чАшка, ЧаШКа ...
#property strict string Слово="чАШа"; // Начальное написание безразлично void start() { for(int НомерКомбинации=0; НомерКомбинации<pow(2, StringLen(Слово)); НомерКомбинации++) { for(int Позиция=0; Позиция<StringLen(Слово); Позиция++) if() Alert("НомерКомбинации=",НомерКомбинации, " ", Слово); } }
сейчас схожу в аптеку и доделаю. Осталось 2 строки исправить: if() и следующую. Профитом поделитесь?
e33:
=) Это для другого проекта, не знаю к кому обратится уже, просто почему то если залогинелся через ПК с выделенной линией интернет UserName подтягивается корректно под которым зашел, а если подключится по WiFi к локальному серверу то UserName под которым залогинелся уже не подтягивается, а тянется например "вАся", если с другого ноута по wifi и логин другой то "васЯ"сейчас схожу в аптеку и доделаю. Осталось 2 строки исправить: if() и следующую. Профитом поделитесь?
хотя должно непосредственно имя пользователя тянутся. Такая беда если по WiFi подключатся.
#property strict string Слово="чаша"; // Начальное написание void start() { string Буква; for(int НомерКомбинации=0; НомерКомбинации<pow(2, StringLen(Слово)); НомерКомбинации++) { string Слово2=""; for(int Позиция=0; Позиция<StringLen(Слово); Позиция++) { Буква=StringSubstr(Слово,Позиция,1); if((НомерКомбинации & (int)pow(2,Позиция))>0) StringToUpper(Буква); Слово2=Слово2+Буква; } Alert(Слово2," ",НомерКомбинации); } }Наверное надо на Ява-Скрипт ?
Бухгалтера подтянулись на форум?
Привет!
А причем тут Чашка?
Можно пойти более простым путем - преобразовать все символы к нижнему или верхнему регистру, сравнивая результат с эталоном.
Ihor Herasko:
Можно пойти более простым путем - преобразовать все символы к нижнему или верхнему регистру, сравнивая результат с эталоном.
продемонстрируйте
Можно пойти более простым путем - преобразовать все символы к нижнему или верхнему регистру, сравнивая результат с эталоном.
StringToCharArray дописывает один лишний символ в массив.
//+------------------------------------------------------------------+ //| Test_1.mq5 | //| Copyright 2012, CompanyName | //| http://www.companyname.net | //+------------------------------------------------------------------+ #property script_show_inputs input string word="Old"; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { uchar arr_Lower[]; Print(""); Print("Длина слова: ",StringLen(word)); Print("StringToCharArray -> ",StringToCharArray(word,arr_Lower)); int size=ArraySize(arr_Lower); for(int i=0;i<size;i++) { Print("#",i,": ",CharToString(arr_Lower[i])); } }
Результат: длина слова - 3 символа, а в массив пишется четыре:
Test_1 (EURUSD,M15) Test_1 (EURUSD,M15) Длина слова: 3 Test_1 (EURUSD,M15) StringToCharArray -> 4 Test_1 (EURUSD,M15) #0: O Test_1 (EURUSD,M15) #1: l Test_1 (EURUSD,M15) #2: d Test_1 (EURUSD,M15) #3:
Последний символ - это "терминальный ноль". Вопрос: он всегда пишется? Или есть нюансы?
e33:
продемонстрируйте
продемонстрируйте
Тут, как бы, и демонстрировать нечего ))
#property script_show_inputs input string i_sValue = "ЧаШкА"; // Слово "чашка" в любом регистре //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { string sTemp = i_sValue; if (!StringToLower(sTemp)) { Alert("Ошибка преобразования строки. №", GetLastError()); return; } Alert((sTemp == "чашка")? "Правильно" : "Неправильно"); }
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Несколько дней не могу найти ресурс или прогу, если знает кто напишите *.
В общем мне нужно, что бы получить все варианты написания одного слова с разным вариантом регистра, например: чашка, чАшка, ЧаШКа и т.д.