Добрый всем день. Подскажите кто чем сможет.
Вводится текст формата "11:30,12:45". Надо разделить по парам час 11 минуты 30 - час 12 минуты 45. Пробелов нет, разделители точка с запятой и запятая. Сама функция возвращает да или нет, лежит ли текущее время в этом промежутке.
В чем сложность?
StringSplit
Получает из указанной строки подстроки по заданному разделителю и возвращает количество полученных подстрок.
int StringSplit( const string string_value, // строка для поиска подстрок const ushort separator, // разделитель, по которому в строке будут искаться подстроки string & result[] // массив, переданный по ссылке, для получения найденных подстрок );
1.) Посредством StringSplit разделите на 2 строки. Эти строки преобразуйте в 2 переменные datatime.
2.) Сравнивайте Текущее время с переменными полученными из строк.
можно сразу переводить в нужное время и сравнивать с текущим
а для чего разделять чч:мм ?
можно сразу переводить в нужное время и сравнивать с текущим
Хорошо. Есть такой момент, у меня 2 разделителя: это ; и , как разделять при помощи двух? Допусти запись в таком виде 21:00;22:05 или в таком 21:00,22:05
Хорошо. Есть такой момент, у меня 2 разделителя: это ; и , как разделять при помощи двух? Допусти запись в таком виде 21:00;22:05 или в таком 21:00,22:05
string TimeBegin="00:00"; string TimeEnd="00:00"; dtBegin=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+TimeBegin); dtEnd =StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+TimeEnd);
там прбел
ну, как то так
оп, это для 4 наверное и для 5ки как то так
Хорошо. Есть такой момент, у меня 2 разделителя: это ; и , как разделять при помощи двух? Допусти запись в таком виде 21:00;22:05 или в таком 21:00,22:05
Ключевое слово ИЛИ. Если в одной строке не присутствуют разные разделители, то ничего сложного нет.
Если функция StringGetCharacter
ushort StringGetCharacter( string string_value, // строка int pos // позиция символа в строке );
вернула -1, то надо применить другой разделитель и продолжить. Это один вариант.
Второй вариант это найти второй разделитель функцией StringFind, заменить его функцией StringReplace
int StringReplace( string& str, // строка, в которой будет осуществляться замена const string find, // искомая подстрока const string replacement // подстрока, которая будет вставлена в найденные места );
и продолжить извлечение подстрок.
- www.mql5.com
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый всем день. Подскажите кто чем сможет.
Вводится текст формата "11:30,12:45". Надо разделить по парам час 11 минуты 30 - час 12 минуты 45. Пробелов нет, разделители точка с запятой и запятая. Сама функция возвращает да или нет, лежит ли текущее время в этом промежутке.