Пример #1
0
        // PUBLIC
        /// <summary>
        /// Dos the enter instruction.
        /// </summary>
        /// <returns>The enter instruction.</returns>
        /// <param name="instruction">Instruction.</param>
        public float doEnterInstruction(Instruction aInstruction)
        {
            //
            float lastDisplayValue_float = iScientificCalculatorModel.displayValue;
            float nextDisplayValue_float;

            if (aInstruction.instructionType == InstructionType.Operand)
            {
                //PUT NEW # TO THE RIGHT OF THE EXISTING DISPLAY #
                if (iScientificCalculatorModel.calculatorState == CalculatorState.AppendingOperands)
                {
                    nextDisplayValue_float = float.Parse(lastDisplayValue_float.ToString() + Constants.GetOperandValueByKeyCode(aInstruction.keyCode).ToString());
                }
                else
                {
                    nextDisplayValue_float = float.Parse(Constants.GetOperandValueByKeyCode(aInstruction.keyCode).ToString());
                    iScientificCalculatorModel.calculatorState = CalculatorState.AppendingOperands;
                }
            }
            else
            {
                nextDisplayValue_float = (float)aInstruction.execute(lastDisplayValue_float);
                iScientificCalculatorModel.calculatorState = CalculatorState.NotAppendingOperands;
            }

            return(nextDisplayValue_float);
        }
		// PUBLIC
		/// <summary>
		/// Dos the enter instruction.
		/// </summary>
		/// <returns>The enter instruction.</returns>
		/// <param name="instruction">Instruction.</param>
		public float doEnterInstruction (Instruction aInstruction)
		{
			//
			float lastDisplayValue_float = iScientificCalculatorModel.displayValue;
			float nextDisplayValue_float;
			
			if (aInstruction.instructionType == InstructionType.Operand) {
				
				//PUT NEW # TO THE RIGHT OF THE EXISTING DISPLAY #
				if (iScientificCalculatorModel.calculatorState == CalculatorState.AppendingOperands) {
					nextDisplayValue_float 	= float.Parse (lastDisplayValue_float.ToString() + Constants.GetOperandValueByKeyCode (aInstruction.keyCode).ToString());
				} else {
					nextDisplayValue_float 	= float.Parse (Constants.GetOperandValueByKeyCode (aInstruction.keyCode).ToString());
					iScientificCalculatorModel.calculatorState = CalculatorState.AppendingOperands;
				}
				
			} else {
				
				nextDisplayValue_float = (float)aInstruction.execute (lastDisplayValue_float);
				iScientificCalculatorModel.calculatorState = CalculatorState.NotAppendingOperands;
				
			}

			return nextDisplayValue_float;

		}