diff options
| author | lempamo <[email protected]> | 2017-07-14 17:29:22 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2017-07-14 17:29:22 -0500 |
| commit | 4b7db2e4223640e15507c1f07d139654fd0c4318 (patch) | |
| tree | 66f4e89cd6c53b093fd00b395aaea832ec3bf83c /TimeHACK.Main/OS/Win95/Win95Apps/WinClassicCalculator.cs | |
| parent | d8adb912b065de9a4d8a4260915332946ac0d96d (diff) | |
| parent | 14d1d663f5c6f5f98719223c41005e96a0ac6830 (diff) | |
| download | histacom2-4b7db2e4223640e15507c1f07d139654fd0c4318.tar.gz histacom2-4b7db2e4223640e15507c1f07d139654fd0c4318.tar.bz2 histacom2-4b7db2e4223640e15507c1f07d139654fd0c4318.zip | |
Merge pull request #126 from jtsshieh/master
Calc
Diffstat (limited to 'TimeHACK.Main/OS/Win95/Win95Apps/WinClassicCalculator.cs')
| -rw-r--r-- | TimeHACK.Main/OS/Win95/Win95Apps/WinClassicCalculator.cs | 268 |
1 files changed, 78 insertions, 190 deletions
diff --git a/TimeHACK.Main/OS/Win95/Win95Apps/WinClassicCalculator.cs b/TimeHACK.Main/OS/Win95/Win95Apps/WinClassicCalculator.cs index 9e923bb..71ded89 100644 --- a/TimeHACK.Main/OS/Win95/Win95Apps/WinClassicCalculator.cs +++ b/TimeHACK.Main/OS/Win95/Win95Apps/WinClassicCalculator.cs @@ -13,6 +13,9 @@ namespace TimeHACK.OS.Win95.Win95Apps { public partial class WinClassicCalculator : UserControl { + double prevnum = 0; + string operation = ""; + bool operation_pressed = false; public WinClassicCalculator() { InitializeComponent(); @@ -30,258 +33,143 @@ namespace TimeHACK.OS.Win95.Win95Apps } txtNumbers.Paint += (sender, args) => Paintbrush.PaintClassicBordersIndented(sender, args, 2); } - public double prevnum = 0; - public bool iszero = true; - public bool neg = false; - public bool isdecimal = false; - public string coperator; - public void appendnum(string num) + private void number_click(object sender, EventArgs e) { - if (iszero == true) - { + if (txtNumbers.Text.Contains("∞")) txtNumbers.Clear(); - txtNumbers.Text += (num); - iszero = false; - } - else + if ((txtNumbers.Text == "0") || (operation_pressed)) + txtNumbers.Text = ""; + operation_pressed = false; + Button num = (Button)sender; + if (num.Text == ".") { - if (iszero == false) - { - txtNumbers.Text += (num); - } + if (!txtNumbers.Text.Contains(".")) + txtNumbers.Text = txtNumbers.Text + num.Text; } - - } - private void Button6_Click(object sender, EventArgs e) - { - appendnum("1"); - } - - private void Button9_Click(object sender, EventArgs e) - { - appendnum("2"); - } - - private void Button21_Click(object sender, EventArgs e) - { - Calculate(); - } - - private void Button12_Click(object sender, EventArgs e) - { - appendnum("3"); - } - - private void Button7_Click(object sender, EventArgs e) - { - appendnum("4"); - } - - private void Button10_Click(object sender, EventArgs e) - { - appendnum("5"); - } - - private void Button13_Click(object sender, EventArgs e) - { - appendnum("6"); - } - - private void Button5_Click(object sender, EventArgs e) - { - appendnum("7"); - } - - private void Button8_Click(object sender, EventArgs e) - { - appendnum("8"); + else + txtNumbers.Text = txtNumbers.Text + num.Text; } - private void Button11_Click(object sender, EventArgs e) + private void Button27_Click(object sender, EventArgs e) { - appendnum("9"); + txtNumbers.Text = "0"; } - private void Button16_Click(object sender, EventArgs e) + private void Button26_Click(object sender, EventArgs e) { - - if (iszero == false) - { - txtNumbers.Text += (0); - } + prevnum = 0; + operation = ""; + operation_pressed = false; + txtNumbers.Text = "0"; } private void Button25_Click(object sender, EventArgs e) { - if (txtNumbers.Text != "0") + if (txtNumbers.Text.Length>0) { - txtNumbers.Text = txtNumbers.Text.Remove(txtNumbers.Text.Length - 1); + txtNumbers.Text = txtNumbers.Text.Remove(txtNumbers.Text.Length - 1, 1); } - if (txtNumbers.TextLength < 1) + if (txtNumbers.Text =="") { txtNumbers.Text = "0"; } - } - private void Button15_Click(object sender, EventArgs e) + private void arithmitic_click(object sender, EventArgs e) { - if (neg == false) + Button num = (Button)sender; + if (txtNumbers.Text.Contains("∞")) + txtNumbers.Clear(); + if (prevnum != 0) { - txtNumbers.Text = "-" + txtNumbers.Text; - neg = true; + if (num.Text == "sqrt") + prevnum = Math.Sqrt(double.Parse(txtNumbers.Text)); + if (num.Text == "1/x") + prevnum = Convert.ToDouble(1.0 / Convert.ToDouble(txtNumbers.Text)); + if (num.Text == "%") + prevnum = Convert.ToDouble(txtNumbers.Text) / 100; + Button21.PerformClick(); + operation = num.Text; + operation_pressed = true; } - else + else if (num.Text == "sqrt") { - txtNumbers.Text = txtNumbers.Text.Replace("-", ""); - neg = false; + prevnum = Math.Sqrt(double.Parse(txtNumbers.Text)); + txtNumbers.Text = prevnum.ToString(); } - } - - private void Button14_Click(object sender, EventArgs e) - { - - if (isdecimal == false) + else if (num.Text == "1/x") { - appendnum("."); - isdecimal = true; + prevnum = Convert.ToDouble(1.0 / Convert.ToDouble(txtNumbers.Text)); + txtNumbers.Text = prevnum.ToString(); } - } - - private void timer1_Tick(object sender, EventArgs e) - { - if (txtNumbers.Text.Contains(".") == false) + else if (num.Text == "%") { - isdecimal = false; + prevnum = Convert.ToDouble(txtNumbers.Text) / 100; + txtNumbers.Text = prevnum.ToString(); } - if (txtNumbers.Text == "0") + else { - iszero = true; + operation = num.Text; + prevnum = double.Parse(txtNumbers.Text); + txtNumbers.Text = "0"; + operation_pressed = true; } } - - private void WinClassicCalculator_Load(object sender, EventArgs e) - { - timer1.Start(); - } - - private void AboutCalculatorToolStripMenuItem_Click(object sender, EventArgs e) - { - - WindowManager wm = new WindowManager(); - wm.StartAboutBox95("Calculator", null, Properties.Resources.WinClassicCalc); - } - - private void Button26_Click(object sender, EventArgs e) - { - prevnum = 0; - txtNumbers.Text = "0"; - isdecimal = false; - iszero = true; - neg = false; - } - - private void Button27_Click(object sender, EventArgs e) - { - txtNumbers.Text = "0"; - isdecimal = false; - iszero = true; - neg = false; - } - public void Calculate() + + private void Button21_Click(object sender, EventArgs e) { - switch (coperator) + if (txtNumbers.Text.Contains("∞")) + txtNumbers.Clear(); + switch (operation) { case "+": - if (prevnum == 0) - { - break; - } txtNumbers.Text = (prevnum + double.Parse(txtNumbers.Text)).ToString(); - prevnum = double.Parse(txtNumbers.Text); break; case "-": - if (prevnum == 0) - { - break; - } txtNumbers.Text = (prevnum - double.Parse(txtNumbers.Text)).ToString(); - prevnum = double.Parse(txtNumbers.Text); break; case "*": - if (prevnum == 0) - { - break; - } txtNumbers.Text = (prevnum * double.Parse(txtNumbers.Text)).ToString(); - prevnum = double.Parse(txtNumbers.Text); break; case "/": - if (prevnum == 0) - { - break; - } txtNumbers.Text = (prevnum / double.Parse(txtNumbers.Text)).ToString(); - prevnum = double.Parse(txtNumbers.Text); break; } + prevnum = Int32.Parse(txtNumbers.Text); + operation = ""; } - private void Button22_Click(object sender, EventArgs e) - { - double sq = double.Parse(txtNumbers.Text); - txtNumbers.Text = Math.Sqrt(sq).ToString(); - } - - private void Button17_Click(object sender, EventArgs e) - { - coperator = "+"; - Calculate(); - prevnum = double.Parse(txtNumbers.Text); - iszero = true; - } - - private void Button19_Click(object sender, EventArgs e) + private void AboutCalculatorToolStripMenuItem_Click(object sender, EventArgs e) { - coperator = "-"; - Calculate(); - prevnum = double.Parse(txtNumbers.Text); - txtNumbers.Text = "0"; + WindowManager wm = new WindowManager(); + wm.StartAboutBox95("Calculator", "Microsoft Calculator", Properties.Resources.WinClassicCalc); } - private void Button20_Click(object sender, EventArgs e) + private void Button15_Click(object sender, EventArgs e) { - coperator = "*"; - Calculate(); - prevnum = double.Parse(txtNumbers.Text); - txtNumbers.Text = "0"; - } - private void Button18_Click(object sender, EventArgs e) - { - coperator = "/"; - Calculate(); - prevnum = double.Parse(txtNumbers.Text); - txtNumbers.Text = "0"; } - private void Button23_Click(object sender, EventArgs e) + private void CopyCtrlCToolStripMenuItem1_Click(object sender, EventArgs e) { - double a; - a = Convert.ToDouble(1.0 / Convert.ToDouble(txtNumbers.Text)); - txtNumbers.Text = Convert.ToString(a); + txtNumbers.Copy(); } - private void Button24_Click(object sender, EventArgs e) + private void PasteCtrlVToolStripMenuItem1_Click(object sender, EventArgs e) { - double a; - a = Convert.ToDouble(txtNumbers.Text) / Convert.ToDouble(100); - txtNumbers.Text = Convert.ToString(a); + string pasteText = Clipboard.GetText(); + string strippedText = ""; + for (int i = 0; i < pasteText.Length; i++) + { + if (char.IsDigit(pasteText[i])) + strippedText += pasteText[i].ToString(); + MessageBox.Show("Test"); + } + if (strippedText!=pasteText) + { + txtNumbers.Text = pasteText; + } } - private void Button12_Click_1(object sender, EventArgs e) - { - - } } } |
