Напоролся на такой глюк. В функции OnTimer :
// Этот код не работает - при дебаге он пропускается, а при работе игнорируется - sutki>0 && sutki<1 . Т.е если знак больше в первом условии и во втором уже не важно какой знак.
if (sutki>0 && sutki<1) { sutki=0; }
...
int sutki=0;
if (sutki>0 && sutki<1) { sutki=0; }
я вот даже представить не могу как такое условие может сработать..и в этом плане - целиком солидарен с компилятором, это условие должно игнорироваться как константно-ложное в компил-тайме
Напоролся на такой глюк
Может Вам нужно "Или", а не "И"?
Или не знаю, что между двумя целыми числами, у которых шаг изменения единица, можно найти.
Напоролся на такой глюк. В функции OnTimer :
// Этот код не работает - при дебаге он пропускается, а при работе игнорируется - sutki>0 && sutki<1 . Т.е если знак больше в первом условии и во втором уже не важно какой знак.
if (sutki>0 && sutki<1) { sutki=0; }
// Такой код работает. т.е. если первое условие sutki>=0 со знаком >=
if (sutki>=0 && sutki<1) { sutki=0; }
// Такой код работает т.е. если условие одно и знак больше то sutki > 0 - работают.
if ( sutki > 0 ) { sutki=0; }
Вот попробуйте. Будет у вас этот код работать ? Не важно что в самой функции. главное именно знак > в первом условии if ().
int sutki=0;
if (sutki>0 && sutki<1) { sutki=0; }
Сегодня уже этот код работает. Вчера не хотел. И mt перезагружал. А сегодня всё норм. Тем более веселее глюк. ну ладна.
Это будет работать только при условии, если переменная со странным названием " sutki" будет иметь число больше "0", но меньше "1"
К примеру sutki=0.5;
if (sutki>0 && sutki<1) { sutki=0; }
Напоролся на такой глюк. В функции OnTimer :
// Этот код не работает - при дебаге он пропускается, а при работе игнорируется - sutki>0 && sutki<1 . Т.е если знак больше в первом условии и во втором уже не важно какой знак.
Вы не правы! Это конъюнкция. Она истинна только если оба конъюнкта истинны. Вот таблица истинности:

В Вашем случае высказывание А эквивалентно выражению sutki>0, а высказывание В эквивалентно выражению sutki<1
То есть, если знак больше в первом условии, то чертовски важен знак во втором условии.
Если бы формула была не "А и В", а "А или Б", то при истинности А уже было бы не важно значение истинности В. Понимаете о чём я? Это не глюк, это не верное понимание булевой алгебры.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Напоролся на такой глюк. В функции OnTimer :
// Этот код не работает - при дебаге он пропускается, а при работе игнорируется - sutki>0 && sutki<1 . Т.е если знак больше в первом условии и во втором уже не важно какой знак.
if (sutki>0 && sutki<1) { sutki=0; }
// Такой код работает. т.е. если первое условие sutki>=0 со знаком >=
if (sutki>=0 && sutki<1) { sutki=0; }
// Такой код работает т.е. если условие одно и знак больше то sutki > 0 - работают.
if ( sutki > 0 ) { sutki=0; }
Вот попробуйте. Будет у вас этот код работать ? Не важно что в самой функции. главное именно знак > в первом условии if ().
int sutki=0;
if (sutki>0 && sutki<1) { sutki=0; }