-
Kilkennycat © (26.05.17 22:11) [0]if ((INBuffer[1] == 0x81) && (INBuffer[2] == 0x01))
{
PushbuttonPressed = false;
}
if ((INBuffer[1] == 0x81) && (INBuffer[2] == 0x00))
{
PushbuttonPressed = true;
}
От компании Микрочип, из примера. -
Inovet © (26.05.17 22:42) [1]В данном случае может и нормально, только надо было else if для второго варианта.
Если это для микроконтроллеров ещё актуально, то так неоптимально. -
Игорь Шевченко © (26.05.17 22:47) [2]Смотря во что это компилируется
-
Это на Паскале? ((
-
Kilkennycat © (27.05.17 00:16) [4]это сишарп, обычное винформ-приложение.
-
KilkennyCat © (27.05.17 00:31) [5]
> Inovet © (26.05.17 22:42) [1]
> В данном случае может и нормально,
Как раз в данном случае нормально было быif (INBuffer[1] == 0x81)
PushbuttonPressed = (INBuffer[2] == 0x00);
- это даже нагляднее, так как показывает какой элемент массива на что влияет (в данном случае, первый элемент - признак данных для кнопки, второй - состояние кнопки), но даже без ентого - всего два условия.
> только надо было else if для второго варианта.
Там попадались дальше и такие:if (PIR2bits.BCLIF)
{
return ( -1);
}
else if (WriteI2C(control))
еще веселее. Зачем else if после return? Для наглядности кода? Но это исходник библиотеки, туда не лезут особо, и это - код для мк... -
KilkennyCat © (27.05.17 00:33) [6]
> Зачем else if после return?
c if конечно, тут я неточно сказал, лишнее лишь else -
ухты © (27.05.17 15:48) [7]
> лишнее лишь else
а никакой разницы -
TohaNik © (27.05.17 20:23) [8]Жах
Это личное....:) -
NoUser © (28.05.17 02:15) [9]> это сишарп, обычное винформ-приложение.
? ? ?
> и это - код для мк...
Не понял. -
DayGaykin © (29.05.17 08:52) [10]Вы ещё наш код не видели. И счастье вам, что не увидите!
-
Юрий Зотов © (29.05.17 14:25) [11]> Kilkennycat © (26.05.17 22:11)
Если PushbuttonPressed - свойство с сеттером, а в этом сеттере выполняются еще какие-то побочные действия, то сабж может иметь право на жизнь. -
>if (INBuffer[1] == 0x81)
> PushbuttonPressed = (INBuffer[2] == 0x00);
- это даже нагляднее, так как показывает какой элемент массива на что влияет (в данном случае, первый элемент - признак данных для кнопки, второй - состояние кнопки), но даже без ентого - всего два условия.
это немного не то что в оригинале. не знаю логику, для чего писалось, и возможные значения... но если нужно было - для 0 true, для 1 false, для остальных (< 0, > 1) не менять текущего, то у тебя логическая ошибка.