lelouch_vi 2 Ответов: 1

Как отобразить историю калькулятора win 10?


Привет, мне нужна небольшая помощь. Я пытаюсь сделать похожий калькулятор win 10 для своего проекта, но я не могу понять логику истории (я не знаю, как это называется, это просто похоже на историю того, что вы делаете. Метка, которая находится чуть выше текстового поля и отображает все расчеты, которые вы сделали.)

Что я уже пробовал:

Я использую этот код для отображения выполненных вычислений в этой истории (
опять же я не знаю как это назвать)

Private Sub operation_Click(sender As Object, e As EventArgs) Handles btnMultiply.Click, btnMinus.Click, btnDivide.Click, btnAdd.Click

       Dim btnOperation As Guna.UI.WinForms.GunaButton = DirectCast(sender, Guna.UI.WinForms.GunaButton)

       If input <> 0 Then

           btnEquals.PerformClick()
           expression = True
           operation = btnOperation.Text
           txtHistory.Text = input & "if" & operation

       Else

           operation = btnOperation.Text
           input = Double.Parse(txtInput.Text)
           expression = True
           txtHistory.Text = input & "else" & operation

       End If


   End Sub


Я передаю свои операции, такие как сложение, умножение,деление, вычитание одной кнопке.
проблема в том, что я не понимаю логики, как калькулятор win 10 отображает предыдущие вычисления, выполняемые непрерывно?

Richard MacCutchan

Вам нужно создать строку для хранения деталей. Каждый раз, когда на калькуляторе нажимается кнопка, вы добавляете этот символ в строку. Если символ является одним из операторов, то добавьте пробел перед ним и за ним. В противном случае просто добавляйте числа по мере их ввода.

lelouch_vi 2

Привет Ричард Маккатчан,

спасибо за ответ, но, честно говоря, я не знаю, как его начать. Я понял вашу точку зрения, которая очень проста и ясна, но я не знаю, с чего начать. Должен ли я использовать массив или список? Нужно ли запускать цикл для их отображения?

Richard MacCutchan

Это зависит от того, чего вы пытаетесь достичь. Если вы просто хотите показать, что набирает пользователь, то это сделает простая строка. Если вы хотите иметь возможность вернуться к предыдущей части суммы, то вам нужно зафиксировать фактические значения и операторы в форме, позволяющей воссоздать часть вычисления. Есть много примеров, которые Google найдет для вас.

1 Ответов

Рейтинг:
12

RickZeeland

Исходный код калькулятора Windows можно найти здесь: GitHub - microsoft/calculator: Windows Calculator: простой, но мощный калькулятор, который поставляется вместе с Windows[^]
Возможно, вы сможете узнать, как это работает, просмотрев исходный код.
Также ознакомьтесь с информацией в папке Docs: калькулятор/ApplicationArchitecture.md at master · microsoft/калькулятор · GitHub[^]


Maciej Los

5ed!