aboutsummaryrefslogtreecommitdiff
path: root/TimeHACK.Main/OS/Win95/Win95Apps/WinClassicCalculator.cs
diff options
context:
space:
mode:
authorlempamo <[email protected]>2017-07-14 17:29:22 -0500
committerGitHub <[email protected]>2017-07-14 17:29:22 -0500
commit4b7db2e4223640e15507c1f07d139654fd0c4318 (patch)
tree66f4e89cd6c53b093fd00b395aaea832ec3bf83c /TimeHACK.Main/OS/Win95/Win95Apps/WinClassicCalculator.cs
parentd8adb912b065de9a4d8a4260915332946ac0d96d (diff)
parent14d1d663f5c6f5f98719223c41005e96a0ac6830 (diff)
downloadhistacom2-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.cs268
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)
- {
-
- }
}
}