All pastes #100277 Raw Edit

MJ-12

public text v1 · immutable
#100277 ·published 2006-07-25 23:39 UTC
rendered paste body
Public Class Form1
    'Const 115 sq/ft of wall space is one gallon of paint.
    Const sngSQF As Single = 115S
    'Salary of labor per hour.
    Const decSalary As Decimal = 18.0
    'Const 8 hours of labor required per gallon of paint.
    Const intHours As Integer = 8
    Dim sngTotalArea As Single = 0
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalculate.Click
        'Prevents nothing being entered on the lables.
        If IsNumeric(txtRooms.Text) = False Or IsNumeric(txtPaintPrice.Text) = False Then
            MessageBox.Show("Please enter a integer. No text is allowed.", "Input Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Return
        End If

        'Disallows anything below $10 for paint price
        Dim decPaintPrice As Decimal
        decPaintPrice = CDec(txtPaintPrice.Text)
        If decPaintPrice < 10 Then
            MessageBox.Show("Minimum price for paint is $10.00.", "Price Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Return
        End If

        'Prevents anything below one for number of rooms.
        Dim intRooms As Decimal
        intRooms = CInt(txtRooms.Text)

        GetTotalArea()

        'Calculates the amount of paint needed to perform the job.
        lblPaintGallons.Text = FormatNumber(sngTotalArea / sngSQF, 0)

        Dim decPaintGallons As Decimal
        decPaintGallons = CDec(lblPaintGallons.Text)
        Dim decTotalPaintCost As Decimal
        'Calculates the total cost of paint.
        decTotalPaintCost = CDec(decPaintGallons * decPaintPrice)
        lblTotalPaintCost.Text = FormatCurrency(decTotalPaintCost)

        LaborHours()

        'Calculates the total cost of labor.
        Dim sngLaborHours As Single
        sngLaborHours = CSng(lblLaborHours.Text)
        Dim decTotalLaborCost As Decimal
        decTotalLaborCost = CDec(sngLaborHours * decSalary)
        lblTotalLaborCost.Text = FormatCurrency(decTotalLaborCost)

        'Calculates the total cost.
        Dim decTotal As Decimal
        decTotal = CDec(decTotalLaborCost + decTotalPaintCost)
        lblTotal.Text = FormatCurrency(decTotal)
    End Sub
    Function GetTotalArea()
        'This function is to add the area of each room.
        sngTotalArea = 0
        Dim decArea As Decimal 'To hold the area.
        Dim intRooms As Integer = 1 'Number of rooms needed to be painted
        Dim intCount As Integer = 1 'Loop Count
        Dim strInput As String 'To get the area input
        intRooms = CInt(txtRooms.Text)
        If intRooms < 1 Then
            MessageBox.Show("Enter positive numbers for number of rooms. Thank you.", "Error Room", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Function
        End If
        ' Following loop gets the area of each room.
        Do While intCount <= intRooms
            strInput = InputBox("Enter the area of room " & intCount.ToString, "Input Needed")
            If strInput <> "" Then
                decArea = CInt(strInput)
                sngTotalArea += decArea
                intCount += 1
            End If
        Loop
        Return sngTotalArea
    End Function
    Function LaborHours()
        Dim sngPaintGallons As Single
        sngPaintGallons = CSng(lblPaintGallons.Text)
        lblLaborHours.Text = FormatNumber(sngPaintGallons * intHours, 0)
        Return lblLaborHours.Text
    End Function
    Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
        ' This reset the controls to default values.
        ResetEntries()
        ResetPrice()
        'Prevents a running total
        sngTotalArea = 0
    End Sub
    Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
        ' End the application
        Me.Close()
    End Sub
    Sub ResetEntries()
        'This resets entries in the form.
        txtRooms.Text = String.Empty
        txtPaintPrice.Text = String.Empty
    End Sub
    Sub ResetPrice()
        ' Reset lables.
        lblPaintGallons.Text = String.Empty
        lblLaborHours.Text = String.Empty
        lblTotalPaintCost.Text = String.Empty
        lblTotalLaborCost.Text = String.Empty
        lblTotal.Text = String.Empty
    End Sub
End Class