Показать сообщение отдельно
  #5 (permalink)  
Старый 25.10.2016, 15:31
Профессор
Отправить личное сообщение для Bond Посмотреть профиль Найти все сообщения от Bond
 
Регистрация: 16.06.2013
Сообщений: 172

Функция Operation(op) срабатывает когда нажимается кнопка + - * / =
По сути здесь вся главная магия и происходит
В комменте так и написано
// обработчик нажатия
// кнопки действия
Функция принимает один параметр - значение кнопки что бы знать какая кнопка была нажата, собственно это и есть переменная PendingOp и она принимает новое значение после нажатия кнопок действия в этой строке
PendingOp = Op;

и по ней же проверяется какое действие производить над переменной currents.

Переменная Currents - это промежуточный результат вычисления и он выводится в поле только тогда когда нажата кнопка "=" и флаг нового числа == false (то есть когда пользователь нажал к примеру 3+3 и =) эти строки
Fcalc.ReadOut.value = Currents; //Здесь выводится в поле промежуточный результат вычисления


или же когда нажато не "=" и флаг нового числа == true ( то есть когда пользоваель нажал 3+3 и еще раз "+" или другое кроме =); в этих строках
if (FlagNewNum && PendingOp != "=")
		{
			Fcalc.ReadOut.value = Currents;
		}


Если же нажата одна из кнопок + - * / = то вычисляется новое значение currents. здесь

if ( '+' == PendingOp ) // Если ранее был нажат плюс
				Currents += parseFloat(Readout); // то к текущему промежуточному значению добавляем значение поля 
			else if ( '-' == PendingOp )
				Currents -= parseFloat(Readout); //  А здесь минусуем и т.д
			else if ( '/' == PendingOp )
				Currents /= parseFloat(Readout);
			else if ( '*' == PendingOp )
				Currents *= parseFloat(Readout);
                        else
				Currents = parseFloat(Readout);
			Fcalc.ReadOut.value = Currents; //Здесь выводится в поле промежуточный результат вычисления
			PendingOp = Op;

Не знаю доступно ли объяснил ))

Последний раз редактировалось Bond, 25.10.2016 в 17:30.
Ответить с цитированием