Exemplo n.º 1
0
 private void processingExeption(string message)
 {
     buttonLock();
     textBox_Enter.Text = message;
     textBox_Enter.Tag  = false;
     enterOperator      = null;
     executableOperator = new KeyVal <bool, MyOperator>(false, enterOperator);
 }
Exemplo n.º 2
0
 // ввод цифровых клавиш
 private void buttDigit_Click(object sender, EventArgs e)
 {
     previousOperatorChecks(sender, e);                                                      // проверка на предшествующий оператор (если '=', то обнуление регистров)
     if ((bool)textBox_Enter.Tag == false)                                                   // проверяем, был ли введён первый символ
     {
         executableOperator = new KeyVal <bool, MyOperator>(false, enterOperator);           // добавляем операцию в очередь и помечаем, что она еще не произведена
         textBox_Enter.Text = ((Button)sender).Text;
         textBox_Enter.Tag  = ((Button)sender).Text != "0" ? true : false;                   // помечаем, что первый символ введён
     }
     else if (textBox_Enter.Text.Length < 16)
     {
         textBox_Enter.Text += ((Button)sender).Text;
     }
     buttonUnlocking();
 }
Exemplo n.º 3
0
        private void Form1_Load(object sender, EventArgs e)
        {
            enterOperator      = null;                                                  // показываем, что метод оператора не выбран
            executableOperator = new KeyVal <bool, MyOperator>(false, enterOperator);   // начальная инициализация пары значений, в которой хранятся делигат выполняемого метода и информация о его выполнении
            textBox_Enter.Text = "0";
            textBox_Enter.Tag  = false;                                                 // показываем, что ввод цифр еще не производился
            // инициализация поля Tag кнопок арифметических бинарных операций объектами делигата хранящими соответствующие методы
            butt_sum.Tag   = new MyOperator(sum);
            butt_sub.Tag   = new MyOperator(substaction);
            butt_multi.Tag = new MyOperator(multiplication);
            butt_div.Tag   = new MyOperator(division);

            butt_MR.Enabled     = false;
            butt_MC.Enabled     = false;
            activateButton      = true;
            activateButtonVC_MR = false;
        }
Exemplo n.º 4
0
 // действие на нажатие '='
 private void butt_Equally_Click()
 {
     try
     {
         executableOperator = new KeyVal <bool, MyOperator>(false, enterOperator);           // добавляем операцию в очередь и помечаем, что она еще не произведена
         if ((bool)textBox_Enter.Tag == true || textBox_Enter.Text == "0")                   // проверяем, был ли введён первый символ
         {
             registrEnter = Convert.ToDouble(textBox_Enter.Text);                            // записываем число в регистр
         }
         clickButtEqually = true;
         arithmeticProcessing();
         textBox_Calculating.Text = "";
         textBuff = registrRes.ToString() + " ";
         buttonUnlocking();
     }
     catch (MyException ex) { throw ex; }
     catch (Exception ex) { throw ex; }
 }