diff options
| author | EverythingWindows <[email protected]> | 2022-11-18 16:58:37 +0700 |
|---|---|---|
| committer | EverythingWindows <[email protected]> | 2022-11-18 16:58:37 +0700 |
| commit | 996601e9cc2874b7aa6e38772bbb7ac23eed6413 (patch) | |
| tree | 26f54064983e2a20d487488784697ae5ad8e5e4e /ShiftOS-TheRevival/TerminalApplications/External/BasicCalculator/App_BC.vb | |
| parent | 4beaaa1988db67f89ed55d52738fe0d465d6482f (diff) | |
| download | shiftos-therevival-old-996601e9cc2874b7aa6e38772bbb7ac23eed6413.tar.gz shiftos-therevival-old-996601e9cc2874b7aa6e38772bbb7ac23eed6413.tar.bz2 shiftos-therevival-old-996601e9cc2874b7aa6e38772bbb7ac23eed6413.zip | |
Moving majority functions of apps from TerminalExternalApp into its own separate module and fixing bug on ability to set hostname and username to blank
Diffstat (limited to 'ShiftOS-TheRevival/TerminalApplications/External/BasicCalculator/App_BC.vb')
| -rw-r--r-- | ShiftOS-TheRevival/TerminalApplications/External/BasicCalculator/App_BC.vb | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/ShiftOS-TheRevival/TerminalApplications/External/BasicCalculator/App_BC.vb b/ShiftOS-TheRevival/TerminalApplications/External/BasicCalculator/App_BC.vb new file mode 100644 index 0000000..06525cb --- /dev/null +++ b/ShiftOS-TheRevival/TerminalApplications/External/BasicCalculator/App_BC.vb @@ -0,0 +1,86 @@ +Module App_BC + 'Basic Calculator's RAM + Public BC_ReadNumbers As Integer + Public BC_Numbers1 As String + Public BC_Numbers2 As String + Public BC_ThriceMoreValue As Integer + Public BC_ThriceMoreCount As Integer + Public BC_CurrentNumber As String + Public BC_Result As Integer + Public BC_Operation2 As String + + Public Sub BC_Start() + Console.DefaultPrompt = "> " + ResetLine("bc (Basic Calcultator)") + NewLine("Copyright, Free Software Foundation.") + NewLine("ShiftOS port by DevX.") + NewLine("This is free software with ABSOLUTELY NO WARRANTY.") + NewLine(Nothing) + Console.CurrentInterpreter = "bc" + Console.ShouldChange = True + End Sub + + Public Sub BC_Calculate() + BC_ReadNumbers = 0 + BC_ThriceMoreValue = 1 + BC_Numbers1 = Nothing + BC_Numbers2 = Nothing + BC_Operation2 = Nothing + BC_CurrentNumber = Nothing + BC_Result = Nothing + Dim GetText As String + Try + Do + GetText = command.Chars(BC_ReadNumbers) + Select Case GetText + Case "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" + BC_CurrentNumber = BC_CurrentNumber & GetText + Case "+", "-", "*", "/", "^" + Dim BC_Numbers3 As Integer + Select Case BC_ThriceMoreValue + Case 1 + BC_Numbers1 = BC_CurrentNumber + BC_CurrentNumber = Nothing + BC_Operation2 = GetText + BC_ThriceMoreValue = BC_ThriceMoreValue + 1 + Case >= 2 + BC_Numbers2 = BC_CurrentNumber + BC_Counting(BC_Numbers1, BC_Numbers2, BC_Operation2) + BC_Numbers3 = BC_Result + BC_Numbers1 = BC_Numbers3 + BC_Numbers2 = Nothing + BC_CurrentNumber = Nothing + BC_ThriceMoreValue = BC_ThriceMoreValue + 1 + End Select + BC_Operation2 = GetText + Case "." + NewLine("Decimals aren't supported yet!") + Case Else + 'BC_Counting(BC_Numbers1, BC_Numbers2, BC_Operation2) + End Select + BC_ReadNumbers = BC_ReadNumbers + 1 + Loop + Catch ex As Exception + BC_Numbers2 = BC_CurrentNumber + BC_CurrentNumber = Nothing + End Try + BC_Counting(BC_Numbers1, BC_Numbers2, BC_Operation2) + BC_ThriceMoreValue = Nothing + NewLine(BC_Result) + End Sub + + Public Sub BC_Counting(FirstNum As Integer, SecondNum As Integer, Operation As String) + Select Case Operation + Case "+" + BC_Result = FirstNum + SecondNum + Case "-" + BC_Result = FirstNum - SecondNum + Case "*" + BC_Result = FirstNum * SecondNum + Case "/" + BC_Result = FirstNum / SecondNum + Case "^" + BC_Result = FirstNum ^ SecondNum + End Select + End Sub +End Module |
