diff options
Diffstat (limited to 'ShiftOS/Calculator.vb')
| -rw-r--r-- | ShiftOS/Calculator.vb | 811 |
1 files changed, 811 insertions, 0 deletions
diff --git a/ShiftOS/Calculator.vb b/ShiftOS/Calculator.vb new file mode 100644 index 0000000..270d3b3 --- /dev/null +++ b/ShiftOS/Calculator.vb @@ -0,0 +1,811 @@ +Public Class Calculator + + Public dNumber As Double + Public sOperation As String + Public bHasFirstNumber, bHasSecondNumber, bHasOperation As Boolean + +#Region "Template Code" + Public rolldownsize As Integer + Public oldbordersize As Integer + Public oldtitlebarheight As Integer + Public justopened As Boolean = False + Public needtorollback As Boolean = False + Public minimumsizewidth As Integer = 261 'replace with minimum size + Public minimumsizeheight As Integer = 278 'replace with minimum size + + Private Sub Template_Load(sender As Object, e As EventArgs) Handles MyBase.Load + justopened = True + Me.Left = (Screen.PrimaryScreen.Bounds.Width - Me.Width) / 2 + Me.Top = (Screen.PrimaryScreen.Bounds.Height - Me.Height) / 2 + setupall() + If ShiftOSDesktop.CalculatorCorrupted Then Me.Close() : infobox.showinfo("The Plague.", Me.Name & "has been corrupted by The Plague.") + + ShiftOSDesktop.pnlpanelbuttoncalculator.SendToBack() 'CHANGE NAME + ShiftOSDesktop.setuppanelbuttons() + ShiftOSDesktop.setpanelbuttonappearnce(ShiftOSDesktop.pnlpanelbuttoncalculator, ShiftOSDesktop.tbcalculatoricon, ShiftOSDesktop.tbcalculatortext, True) 'modify to proper name + ShiftOSDesktop.programsopen = ShiftOSDesktop.programsopen + 1 + End Sub + + Public Sub setupall() + setuptitlebar() + setupborders() + setskin() + End Sub + + Private Sub ShiftOSDesktop_keydown(sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown + 'Make terminal appear + If e.KeyCode = Keys.T AndAlso e.Control Then + Terminal.Show() + Terminal.Visible = True + Terminal.BringToFront() + End If + + 'Movable Windows + If ShiftOSDesktop.boughtmovablewindows = True Then + If e.KeyCode = Keys.A AndAlso e.Control Then + e.Handled = True + Me.Location = New Point(Me.Location.X - ShiftOSDesktop.movablewindownumber, Me.Location.Y) + End If + If e.KeyCode = Keys.D AndAlso e.Control Then + e.Handled = True + Me.Location = New Point(Me.Location.X + ShiftOSDesktop.movablewindownumber, Me.Location.Y) + End If + If e.KeyCode = Keys.W AndAlso e.Control Then + e.Handled = True + Me.Location = New Point(Me.Location.X, Me.Location.Y - ShiftOSDesktop.movablewindownumber) + End If + If e.KeyCode = Keys.S AndAlso e.Control Then + e.Handled = True + Me.Location = New Point(Me.Location.X, Me.Location.Y + ShiftOSDesktop.movablewindownumber) + End If + ShiftOSDesktop.log = ShiftOSDesktop.log & My.Computer.Clock.LocalTime & " User moved " & Me.Name & " to " & Me.Location.ToString & " with " & e.KeyCode.ToString & Environment.NewLine + End If + End Sub + + Private Sub titlebar_MouseDown(sender As Object, e As MouseEventArgs) Handles titlebar.MouseDown, lbtitletext.MouseDown, pnlicon.MouseDown, pgtoplcorner.MouseDown, pgtoprcorner.MouseDown + ' Handle Draggable Windows + If ShiftOSDesktop.boughtdraggablewindows = True Then + If e.Button = MouseButtons.Left Then + titlebar.Capture = False + lbtitletext.Capture = False + pnlicon.Capture = False + pgtoplcorner.Capture = False + pgtoprcorner.Capture = False + Const WM_NCLBUTTONDOWN As Integer = &HA1S + Const HTCAPTION As Integer = 2 + Dim msg As Message = _ + Message.Create(Me.Handle, WM_NCLBUTTONDOWN, _ + New IntPtr(HTCAPTION), IntPtr.Zero) + Me.DefWndProc(msg) + End If + ShiftOSDesktop.log = ShiftOSDesktop.log & My.Computer.Clock.LocalTime & " User dragged " & Me.Name & " to " & Me.Location.ToString & Environment.NewLine + End If + End Sub + + Public Sub setupborders() + If ShiftOSDesktop.boughtwindowborders = False Then + pgleft.Hide() + pgbottom.Hide() + pgright.Hide() + Me.Size = New Size(Me.Width - pgleft.Width - pgright.Width, Me.Height - pgbottom.Height) + End If + End Sub + + Private Sub closebutton_Click(sender As Object, e As EventArgs) Handles closebutton.Click + Me.Close() + End Sub + + Private Sub closebutton_MouseEnter(sender As Object, e As EventArgs) Handles closebutton.MouseEnter, closebutton.MouseUp + closebutton.BackgroundImage = Skins.closebtnhover + End Sub + + Private Sub closebutton_MouseLeave(sender As Object, e As EventArgs) Handles closebutton.MouseLeave + closebutton.BackgroundImage = Skins.closebtn + End Sub + + Private Sub closebutton_MouseDown(sender As Object, e As EventArgs) Handles closebutton.MouseDown + closebutton.BackgroundImage = Skins.closebtnclick + End Sub + + Private Sub minimizebutton_Click(sender As Object, e As EventArgs) Handles minimizebutton.Click + ShiftOSDesktop.minimizeprogram(Me, False) + End Sub + + 'Old skinning system - No idea what this does + ''Private Sub titlebar_MouseEnter(sender As Object, e As EventArgs) Handles titlebar.MouseEnter, titlebar.MouseUp, lbtitletext.MouseEnter, pnlicon.MouseEnter, closebutton.MouseEnter, rollupbutton.MouseEnter + '' If ShiftOSDesktop.skinimages(3) = ShiftOSDesktop.skinimages(4) Then Else titlebar.BackgroundImage = ShiftOSDesktop.skintitlebar(1) + ''End Sub + + 'Private Sub titlebar_MouseLeave(sender As Object, e As EventArgs) Handles titlebar.MouseLeave, lbtitletext.MouseLeave, pnlicon.MouseLeave, closebutton.MouseLeave, rollupbutton.MouseLeave + ' If ShiftOSDesktop.skinimages(3) = ShiftOSDesktop.skinimages(4) Then Else titlebar.BackgroundImage = ShiftOSDesktop.skintitlebar(0) + 'End Sub + + Private Sub rollupbutton_Click(sender As Object, e As EventArgs) Handles rollupbutton.Click + rollupanddown() + End Sub + + Private Sub rollupbutton_MouseEnter(sender As Object, e As EventArgs) Handles rollupbutton.MouseEnter, rollupbutton.MouseUp + rollupbutton.BackgroundImage = Skins.rollbtnhover + End Sub + + Private Sub rollupbutton_MouseLeave(sender As Object, e As EventArgs) Handles rollupbutton.MouseLeave + rollupbutton.BackgroundImage = Skins.rollbtn + End Sub + + Private Sub rollupbutton_MouseDown(sender As Object, e As EventArgs) Handles rollupbutton.MouseDown + rollupbutton.BackgroundImage = Skins.rollbtnclick + End Sub + + Public Sub setuptitlebar() + + setupborders() + + If Me.Height = Me.titlebar.Height Then pgleft.Show() : pgbottom.Show() : pgright.Show() : Me.Height = rolldownsize : needtorollback = True + pgleft.Width = Skins.borderwidth + pgright.Width = Skins.borderwidth + pgbottom.Height = Skins.borderwidth + titlebar.Height = Skins.titlebarheight + + If justopened = True Then + Me.Size = New Size(261, 278) 'put the default size of your window here + Me.Size = New Size(Me.Width, Me.Height + Skins.titlebarheight - 30) + Me.Size = New Size(Me.Width + Skins.borderwidth + Skins.borderwidth, Me.Height + Skins.borderwidth) + oldbordersize = Skins.borderwidth + oldtitlebarheight = Skins.titlebarheight + justopened = False + Else + If Me.Visible = True Then + 'Me.Hide() + Me.Size = New Size(Me.Width - (2 * oldbordersize) + (2 * Skins.borderwidth), (Me.Height - oldtitlebarheight - oldbordersize) + Skins.titlebarheight + Skins.borderwidth) + 'Me.Size = New Size(Me.Width - oldbordersize - oldbordersize, Me.Height - oldbordersize) 'Just put a little algebra in the first size setting and comment out the mess + oldbordersize = Skins.borderwidth + oldtitlebarheight = Skins.titlebarheight + 'Me.Size = New Size(Me.Width, Me.Height + Skins.titlebarheight - 30) + 'Me.Size = New Size(Me.Width + Skins. borderwidth + Skins. borderwidth, Me.Height + Skins. borderwidth) + 'rolldownsize = Me.Height + If needtorollback = True Then Me.Height = titlebar.Height : pgleft.Hide() : pgbottom.Hide() : pgright.Hide() + 'Me.Show() + End If + End If + + If Skins.enablecorners = True Then + pgtoplcorner.Show() + pgtoprcorner.Show() + pgtoprcorner.Width = Skins.titlebarcornerwidth + pgtoplcorner.Width = Skins.titlebarcornerwidth + Else + pgtoplcorner.Hide() + pgtoprcorner.Hide() + End If + + If ShiftOSDesktop.boughttitlebar = False Then + titlebar.Hide() + Me.Size = New Size(Me.Width, Me.Size.Height - titlebar.Height) + End If + + If ShiftOSDesktop.boughttitletext = False Then + lbtitletext.Hide() + Else + lbtitletext.Font = New Font(Skins.titletextfontfamily, Skins.titletextfontsize, Skins.titletextfontstyle, GraphicsUnit.Point) + lbtitletext.Text = ShiftOSDesktop.calculatorname 'Remember to change to name of program!!!! + lbtitletext.Show() + End If + + If ShiftOSDesktop.boughtclosebutton = False Then + closebutton.Hide() + Else + closebutton.BackColor = Skins.closebtncolour + closebutton.Size = Skins.closebtnsize + closebutton.Show() + End If + + If ShiftOSDesktop.boughtrollupbutton = False Then + rollupbutton.Hide() + Else + rollupbutton.BackColor = Skins.rollbtncolour + rollupbutton.Size = Skins.rollbtnsize + rollupbutton.Show() + End If + + If ShiftOSDesktop.boughtminimizebutton = False Then + minimizebutton.Hide() + Else + minimizebutton.BackColor = Skins.minbtncolour + minimizebutton.Size = Skins.minbtnsize + minimizebutton.Show() + End If + + If ShiftOSDesktop.boughtwindowborders = True Then + closebutton.Location = New Point(titlebar.Size.Width - Skins.closebtnfromside - closebutton.Size.Width, Skins.closebtnfromtop) + rollupbutton.Location = New Point(titlebar.Size.Width - Skins.rollbtnfromside - rollupbutton.Size.Width, Skins.rollbtnfromtop) + minimizebutton.Location = New Point(titlebar.Size.Width - Skins.minbtnfromside - minimizebutton.Size.Width, Skins.minbtnfromtop) + Select Case Skins.titletextpos + Case "Left" + lbtitletext.Location = New Point(Skins.titletextfromside, Skins.titletextfromtop) + Case "Centre" + lbtitletext.Location = New Point((titlebar.Width / 2) - lbtitletext.Width / 2, Skins.titletextfromtop) + End Select + lbtitletext.ForeColor = Skins.titletextcolour + Else + closebutton.Location = New Point(titlebar.Size.Width - Skins.closebtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - closebutton.Size.Width, Skins.closebtnfromtop) + rollupbutton.Location = New Point(titlebar.Size.Width - Skins.rollbtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - rollupbutton.Size.Width, Skins.rollbtnfromtop) + minimizebutton.Location = New Point(titlebar.Size.Width - Skins.minbtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - minimizebutton.Size.Width, Skins.minbtnfromtop) + Select Case Skins.titletextpos + Case "Left" + lbtitletext.Location = New Point(Skins.titletextfromside + pgtoplcorner.Width, Skins.titletextfromtop) + Case "Centre" + lbtitletext.Location = New Point((titlebar.Width / 2) - lbtitletext.Width / 2, Skins.titletextfromtop) + End Select + lbtitletext.ForeColor = Skins.titletextcolour + End If + + 'Change when Icon skinning complete + If ShiftOSDesktop.boughtshiftneticon = True Then ' Change to program's icon + pnlicon.Visible = True + pnlicon.Location = New Point(ShiftOSDesktop.titlebariconside, ShiftOSDesktop.titlebaricontop) + pnlicon.Size = New Size(ShiftOSDesktop.titlebariconsize, ShiftOSDesktop.titlebariconsize) + pnlicon.Image = ShiftOSDesktop.calculatoricontitlebar 'Replace with the correct icon for the program. + End If + + End Sub + + Public Sub rollupanddown() + If Me.Height = Me.titlebar.Height Then + pgleft.Show() + pgbottom.Show() + pgright.Show() + Me.Height = rolldownsize + Me.MinimumSize = New Size(minimumsizewidth, minimumsizeheight) + Else + Me.MinimumSize = New Size(0, 0) + pgleft.Hide() + pgbottom.Hide() + pgright.Hide() + rolldownsize = Me.Height + Me.Height = Me.titlebar.Height + End If + End Sub + + Public Sub resettitlebar() + If ShiftOSDesktop.boughtwindowborders = True Then + closebutton.Location = New Point(titlebar.Size.Width - Skins.closebtnfromside - closebutton.Size.Width, Skins.closebtnfromtop) + rollupbutton.Location = New Point(titlebar.Size.Width - Skins.rollbtnfromside - rollupbutton.Size.Width, Skins.rollbtnfromtop) + minimizebutton.Location = New Point(titlebar.Size.Width - Skins.minbtnfromside - minimizebutton.Size.Width, Skins.minbtnfromtop) + Select Case Skins.titletextpos + Case "Left" + lbtitletext.Location = New Point(Skins.titletextfromside, Skins.titletextfromtop) + Case "Centre" + lbtitletext.Location = New Point((titlebar.Width / 2) - lbtitletext.Width / 2, Skins.titletextfromtop) + End Select + lbtitletext.ForeColor = Skins.titletextcolour + Else + closebutton.Location = New Point(titlebar.Size.Width - Skins.closebtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - closebutton.Size.Width, Skins.closebtnfromtop) + rollupbutton.Location = New Point(titlebar.Size.Width - Skins.rollbtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - rollupbutton.Size.Width, Skins.rollbtnfromtop) + minimizebutton.Location = New Point(titlebar.Size.Width - Skins.minbtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - minimizebutton.Size.Width, Skins.minbtnfromtop) + Select Case Skins.titletextpos + Case "Left" + lbtitletext.Location = New Point(Skins.titletextfromside + pgtoplcorner.Width, Skins.titletextfromtop) + Case "Centre" + lbtitletext.Location = New Point((titlebar.Width / 2) - lbtitletext.Width / 2, Skins.titletextfromtop) + End Select + lbtitletext.ForeColor = Skins.titletextcolour + End If + End Sub + + Private Sub pullside_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pullside.Tick + Me.Width = Cursor.Position.X - Me.Location.X + resettitlebar() + End Sub + + Private Sub pullbottom_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pullbottom.Tick + Me.Height = Cursor.Position.Y - Me.Location.Y + resettitlebar() + End Sub + + Private Sub pullbs_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles pullbs.Tick + Me.Width = Cursor.Position.X - Me.Location.X + Me.Height = Cursor.Position.Y - Me.Location.Y + resettitlebar() + End Sub + + 'delete this for non-resizable windows + Private Sub Rightpull_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgright.MouseDown + If ShiftOSDesktop.boughtresizablewindows = True Then + pullside.Start() + End If + End Sub + + Private Sub RightCursorOn_MouseDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles pgright.MouseEnter + If ShiftOSDesktop.boughtresizablewindows = True Then + Cursor = Cursors.SizeWE + End If + End Sub + + Private Sub bottomCursorOn_MouseDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles pgbottom.MouseEnter + If ShiftOSDesktop.boughtresizablewindows = True Then + Cursor = Cursors.SizeNS + End If + End Sub + + Private Sub CornerCursorOn_MouseDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles pgbottomrcorner.MouseEnter + If ShiftOSDesktop.boughtresizablewindows = True Then + Cursor = Cursors.SizeNWSE + End If + End Sub + + Private Sub SizeCursoroff_MouseDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles pgright.MouseLeave, pgbottom.MouseLeave, pgbottomrcorner.MouseLeave + If ShiftOSDesktop.boughtresizablewindows = True Then + Cursor = Cursors.Default + End If + End Sub + + Private Sub rightpull_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgright.MouseUp + If ShiftOSDesktop.boughtresizablewindows = True Then + pullside.Stop() + End If + End Sub + + Private Sub bottompull_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgbottom.MouseDown + If ShiftOSDesktop.boughtresizablewindows = True Then + pullbottom.Start() + End If + End Sub + + Private Sub buttompull_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgbottom.MouseUp + If ShiftOSDesktop.boughtresizablewindows = True Then + pullbottom.Stop() + End If + End Sub + + Private Sub bspull_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgbottomrcorner.MouseDown + If ShiftOSDesktop.boughtresizablewindows = True Then + pullbs.Start() + End If + End Sub + + Private Sub bspull_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgbottomrcorner.MouseUp + If ShiftOSDesktop.boughtresizablewindows = True Then + pullbs.Stop() + End If + End Sub + + Public Sub setskin() + 'disposals + closebutton.BackgroundImage = Nothing + titlebar.BackgroundImage = Nothing + rollupbutton.BackgroundImage = Nothing + pgtoplcorner.BackgroundImage = Nothing + pgtoprcorner.BackgroundImage = Nothing + minimizebutton.BackgroundImage = Nothing + 'apply new skin + If Skins.closebtn Is Nothing Then closebutton.BackColor = Skins.closebtncolour Else closebutton.BackgroundImage = Skins.closebtn + closebutton.BackgroundImageLayout = Skins.closebtnlayout + If Skins.titlebar Is Nothing Then titlebar.BackColor = Skins.titlebarcolour Else titlebar.BackgroundImage = Skins.titlebar + titlebar.BackgroundImageLayout = Skins.titlebarlayout + If Skins.rollbtn Is Nothing Then rollupbutton.BackColor = Skins.rollbtncolour Else rollupbutton.BackgroundImage = Skins.rollbtn + rollupbutton.BackgroundImageLayout = Skins.rollbtnlayout + If Skins.leftcorner Is Nothing Then pgtoplcorner.BackColor = Skins.leftcornercolour Else pgtoplcorner.BackgroundImage = Skins.leftcorner + pgtoplcorner.BackgroundImageLayout = Skins.leftcornerlayout + If Skins.rightcorner Is Nothing Then pgtoprcorner.BackColor = Skins.rightcornercolour Else pgtoprcorner.BackgroundImage = Skins.rightcorner + pgtoprcorner.BackgroundImageLayout = Skins.rightcornerlayout + If Skins.minbtn Is Nothing Then minimizebutton.BackColor = Skins.minbtncolour Else minimizebutton.BackgroundImage = Skins.minbtn + minimizebutton.BackgroundImageLayout = Skins.minbtnlayout + If Skins.borderleft Is Nothing Then pgleft.BackColor = Skins.borderleftcolour Else pgleft.BackgroundImage = Skins.borderleft + pgleft.BackgroundImageLayout = Skins.borderleftlayout + If Skins.borderright Is Nothing Then pgright.BackColor = Skins.borderrightcolour Else pgright.BackgroundImage = Skins.borderright + pgleft.BackgroundImageLayout = Skins.borderrightlayout + If Skins.borderbottom Is Nothing Then pgbottom.BackColor = Skins.borderbottomcolour Else pgbottom.BackgroundImage = Skins.borderbottom + pgbottom.BackgroundImageLayout = Skins.borderbottomlayout + If enablebordercorners = True Then + If Skins.bottomleftcorner Is Nothing Then pgbottomlcorner.BackColor = Skins.bottomleftcornercolour Else pgbottomlcorner.BackgroundImage = Skins.bottomleftcorner + pgbottomlcorner.BackgroundImageLayout = Skins.bottomleftcornerlayout + If Skins.bottomrightcorner Is Nothing Then pgbottomrcorner.BackColor = Skins.bottomrightcornercolour Else pgbottomrcorner.BackgroundImage = Skins.bottomrightcorner + pgbottomrcorner.BackgroundImageLayout = Skins.bottomrightcornerlayout + Else + pgbottomlcorner.BackColor = Skins.borderrightcolour + pgbottomrcorner.BackColor = Skins.borderrightcolour + pgbottomlcorner.BackgroundImage = Nothing + pgbottomrcorner.BackgroundImage = Nothing + End If + + 'set bottom border corner size + pgbottomlcorner.Size = New Size(Skins.borderwidth, Skins.borderwidth) + pgbottomrcorner.Size = New Size(Skins.borderwidth, Skins.borderwidth) + pgbottomlcorner.Location = New Point(0, Me.Height - Skins.borderwidth) + pgbottomrcorner.Location = New Point(Me.Width, Me.Height - Skins.borderwidth) + + Me.TransparencyKey = ShiftOSDesktop.globaltransparencycolour + End Sub + + Private Sub Clock_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing + ShiftOSDesktop.programsopen = ShiftOSDesktop.programsopen - 1 + Me.Hide() + ShiftOSDesktop.setuppanelbuttons() + End Sub + + 'end of general setup +#End Region + + Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click + If bHasFirstNumber Then + If dNumber <> 0 Then + If Me.lbldispla.Text = 0 Then + Me.lbldispla.Text = 1 + bHasSecondNumber = True + Exit Sub + End If + Me.lbldispla.Text &= 1 + Exit Sub + End If + Me.lbldispla.Text &= 1 + Else + Me.lbldispla.Text = 1 + bHasFirstNumber = True + bHasOperation = False + End If + End Sub + + Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn2.Click + If bHasFirstNumber Then + If dNumber <> 0 Then + If Me.lbldispla.Text = 0 Then + Me.lbldispla.Text = 2 + bHasSecondNumber = True + + Exit Sub + End If + + Me.lbldispla.Text &= 2 + Exit Sub + End If + Me.lbldispla.Text &= 2 + Else + Me.lbldispla.Text = 2 + bHasFirstNumber = True + bHasOperation = False + End If + End Sub + + Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn3.Click + If bHasFirstNumber Then + If dNumber <> 0 Then + If Me.lbldispla.Text = 0 Then + Me.lbldispla.Text = 3 + bHasSecondNumber = True + + Exit Sub + End If + + Me.lbldispla.Text &= 3 + Exit Sub + End If + Me.lbldispla.Text &= 3 + Else + Me.lbldispla.Text = 3 + bHasFirstNumber = True + bHasOperation = False + End If + End Sub + + Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn4.Click + If bHasFirstNumber Then + If dNumber <> 0 Then + If Me.lbldispla.Text = 0 Then + Me.lbldispla.Text = 4 + bHasSecondNumber = True + + Exit Sub + End If + + Me.lbldispla.Text &= 4 + Exit Sub + End If + Me.lbldispla.Text &= 4 + Else + Me.lbldispla.Text = 4 + bHasFirstNumber = True + bHasOperation = False + End If + End Sub + + Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn5.Click + If bHasFirstNumber Then + If dNumber <> 0 Then + If Me.lbldispla.Text = 0 Then + Me.lbldispla.Text = 5 + bHasSecondNumber = True + + Exit Sub + End If + + Me.lbldispla.Text &= 5 + Exit Sub + End If + Me.lbldispla.Text &= 5 + Else + Me.lbldispla.Text = 5 + bHasFirstNumber = True + bHasOperation = False + End If + End Sub + + Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn6.Click + If bHasFirstNumber Then + If dNumber <> 0 Then + If Me.lbldispla.Text = 0 Then + Me.lbldispla.Text = 6 + bHasSecondNumber = True + + Exit Sub + End If + + Me.lbldispla.Text &= 6 + Exit Sub + End If + Me.lbldispla.Text &= 6 + Else + Me.lbldispla.Text = 6 + bHasFirstNumber = True + bHasOperation = False + End If + End Sub + + Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn7.Click + If bHasFirstNumber Then + If dNumber <> 0 Then + If Me.lbldispla.Text = 0 Then + Me.lbldispla.Text = 7 + bHasSecondNumber = True + + Exit Sub + End If + + Me.lbldispla.Text &= 7 + Exit Sub + End If + Me.lbldispla.Text &= 7 + Else + Me.lbldispla.Text = 7 + bHasFirstNumber = True + bHasOperation = False + End If + End Sub + + Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn8.Click + If bHasFirstNumber Then + If dNumber <> 0 Then + If Me.lbldispla.Text = 0 Then + Me.lbldispla.Text = 8 + bHasSecondNumber = True + + Exit Sub + End If + + Me.lbldispla.Text &= 8 + Exit Sub + End If + Me.lbldispla.Text &= 8 + Else + Me.lbldispla.Text = 8 + bHasFirstNumber = True + bHasOperation = False + End If + End Sub + + Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn9.Click + If bHasFirstNumber Then + If dNumber <> 0 Then + If Me.lbldispla.Text = 0 Then + Me.lbldispla.Text = 9 + bHasSecondNumber = True + + Exit Sub + End If + + Me.lbldispla.Text &= 9 + Exit Sub + End If + Me.lbldispla.Text &= 9 + Else + Me.lbldispla.Text = 9 + bHasFirstNumber = True + bHasOperation = False + End If + End Sub + + Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn0.Click + If bHasFirstNumber Then + If dNumber <> 0 Then + If Me.lbldispla.Text <> 0 Then + Me.lbldispla.Text &= 0 + End If + Exit Sub + End If + Me.lbldispla.Text &= 0 + Else + Me.lbldispla.Text = 0 + End If + End Sub + + Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnequals.Click + If bHasFirstNumber And bHasSecondNumber Then + + If (sOperation = "+") Then + Me.lbldispla.Text = Val(Me.lbldispla.Text) + dNumber + ElseIf (sOperation = "-") Then + Me.lbldispla.Text = dNumber - Val(Me.lbldispla.Text) + ElseIf (sOperation = "*") Then + Me.lbldispla.Text = Val(Me.lbldispla.Text) * dNumber + ElseIf (sOperation = "/") Then + Me.lbldispla.Text = dNumber / Val(Me.lbldispla.Text) + Else + Exit Sub + End If + + dNumber = Val(Me.lbldispla.Text) + bHasFirstNumber = False + bHasSecondNumber = False + bHasOperation = True + sOperation = "" + End If + End Sub + + Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnplus.Click + + If bHasSecondNumber Then + + If bHasOperation Then + If (sOperation = "+") Then + dNumber = Val(Me.lbldispla.Text) + dNumber + ElseIf (sOperation = "-") Then + dNumber = dNumber - Val(Me.lbldispla.Text) + ElseIf (sOperation = "*") Then + dNumber = Val(Me.lbldispla.Text) * dNumber + ElseIf (sOperation = "/") Then + dNumber = dNumber / Val(Me.lbldispla.Text) + Else + Exit Sub + End If + + sOperation = "+" + bHasSecondNumber = False + Me.lbldispla.Text = 0 + + Exit Sub + Else + sOperation = "+" + dNumber = Val(Me.lbldispla.Text) + dNumber + bHasSecondNumber = False + Me.lbldispla.Text = 0 + Exit Sub + End If + End If + + If bHasFirstNumber Or bHasOperation Then + If bHasOperation Then + bHasFirstNumber = True + End If + sOperation = "+" + bHasOperation = True + dNumber = Val(Me.lbldispla.Text) + Me.lbldispla.Text = 0 + End If + End Sub + + Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnminus.Click + If bHasSecondNumber Then + If bHasOperation Then + If (sOperation = "+") Then + dNumber = Val(Me.lbldispla.Text) + dNumber + ElseIf (sOperation = "-") Then + dNumber = dNumber - Val(Me.lbldispla.Text) + ElseIf (sOperation = "*") Then + dNumber = Val(Me.lbldispla.Text) * dNumber + ElseIf (sOperation = "/") Then + dNumber = dNumber / Val(Me.lbldispla.Text) + Else + Exit Sub + End If + sOperation = "-" + bHasSecondNumber = False + Me.lbldispla.Text = 0 + Exit Sub + Else + sOperation = "-" + dNumber = dNumber - Val(Me.lbldispla.Text) + bHasSecondNumber = False + Me.lbldispla.Text = 0 + Exit Sub + End If + End If + If bHasFirstNumber Or bHasOperation Then + If bHasOperation Then + bHasFirstNumber = True + End If + sOperation = "-" + dNumber = Val(Me.lbldispla.Text) + Me.lbldispla.Text = 0 + End If + End Sub + + Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btntimes.Click + If bHasSecondNumber Then + If bHasOperation Then + If (sOperation = "+") Then + dNumber = Val(Me.lbldispla.Text) + dNumber + ElseIf (sOperation = "-") Then + dNumber = dNumber - Val(Me.lbldispla.Text) + ElseIf (sOperation = "*") Then + dNumber = Val(Me.lbldispla.Text) * dNumber + ElseIf (sOperation = "/") Then + dNumber = dNumber / Val(Me.lbldispla.Text) + Else + Exit Sub + End If + sOperation = "*" + bHasSecondNumber = False + Me.lbldispla.Text = 0 + Exit Sub + Else + sOperation = "*" + dNumber = Val(Me.lbldispla.Text) * dNumber + bHasSecondNumber = False + Me.lbldispla.Text = 0 + Exit Sub + End If + End If + If bHasFirstNumber Or bHasOperation Then + If bHasOperation Then + bHasFirstNumber = True + End If + sOperation = "*" + dNumber = Val(Me.lbldispla.Text) + Me.lbldispla.Text = 0 + End If + End Sub + + Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btndividedby.Click + If bHasSecondNumber Then + If bHasOperation Then + If (sOperation = "+") Then + dNumber = Val(Me.lbldispla.Text) + dNumber + ElseIf (sOperation = "-") Then + dNumber = dNumber - Val(Me.lbldispla.Text) + ElseIf (sOperation = "*") Then + dNumber = Val(Me.lbldispla.Text) * dNumber + ElseIf (sOperation = "/") Then + dNumber = dNumber / Val(Me.lbldispla.Text) + Else + Exit Sub + End If + sOperation = "/" + bHasSecondNumber = False + Me.lbldispla.Text = 0 + Exit Sub + Else + sOperation = "/" + dNumber = dNumber / Val(Me.lbldispla.Text) + bHasSecondNumber = False + Me.lbldispla.Text = 0 + Exit Sub + End If + End If + If bHasFirstNumber Or bHasOperation Then + If bHasOperation Then + bHasFirstNumber = True + End If + sOperation = "/" + dNumber = Val(Me.lbldispla.Text) + Me.lbldispla.Text = 0 + End If + End Sub + + Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnclearall.Click + Me.lbldispla.Text = 0 + dNumber = 0 + bHasFirstNumber = False + bHasSecondNumber = False + bHasOperation = False + sOperation = "" + End Sub +End Class
\ No newline at end of file |
