Translate To Preferred Language

Search ObiokusThoughts

Please Read Today's Featured Post

Law of Attraction

When considering the concept of the “law of attraction”, I simply reduce it to the exercise of unity progress.  As you find something that...

Template for Inventory Depreciation in Visual Basic (some bugs may occur)

Option Strict On

Public Class frmDepreciation
    'Create Variables
    Private intLifeSpan As Integer = 5I
    Public Shared intArray As Integer = 7I
    Public Shared strInventory(intArray) As String
    Private strID(intArray) As String
    Private decInitPrice(intArray) As Decimal
    Private intQuantity(intArray) As Integer


    Private Sub frmDepreciation_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'Initialize I/O file
        Dim objReader As IO.StreamReader
        Dim strFile As String = "H:\My Documents\Visual Studio 2012\Projects\Depreciation\inventory.txt"

        'Declare variables
        Dim intCount As Integer = 0I
        'Dim intFill As Integer
        Dim strError As String = "The file is not available. Restart when the file is available."
        Dim frmList As New frmDisplay


            'Verify file
            If IO.File.Exists(strFile) Then
            objReader = IO.File.OpenText(strFile)

            Try
                'Input file a line at a time
                Do While objReader.Peek <> -1
                    'shows message box when program begins and returns from second form

                    strInventory(intCount) = objReader.ReadLine()
                    strID(intCount) = objReader.ReadLine()
                    decInitPrice(intCount) = Convert.ToDecimal(objReader.ReadLine())
                    intQuantity(intCount) = Convert.ToInt32(objReader.ReadLine())
                    'frmList.lstDisplay.Items.Add(strInventory(intCount))
                    lstInventory.Items.Add(strID(intCount))
                    intCount += 1

                Loop

            Catch ex As IndexOutOfRangeException
                MsgBox("Array is out of bounds", , "Range is not correct")
            End Try

            objReader.Close()

            'Please inventory IDs in listbox
            ' For intFill = 0 To (strID.Length - 1)
            'lstInventory.Items.Add(strID(intFill))
            'Next

        Else
            MsgBox(strError, , "Error")
            Close()

        End If

    End Sub

    Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
        'Declare variables
        Dim intSelect As Integer

        'If listbox and groupbox are chosen procedure will be called
        If lstInventory.SelectedIndex >= 0 Then
            intSelect = lstInventory.SelectedIndex
            If rbStraight.Checked Then
                StraightDep(intSelect)
            ElseIf rbDecline.Checked Then
                DeclineDep(intSelect)
            Else
                MsgBox("Select a Depreciation Method", , "Missing Selection")
            End If
        Else
            MsgBox("Select an Inventory Item ID", , "Missing Selection")
        End If
    End Sub

    Private Sub StraightDep(ByVal intID As Integer)
        'Calculate and display straight line version of depreciation

        'Declare variables
        Dim intPresentY As Integer
        Dim decPresentV As Decimal = 0D
        Dim decDep As Decimal
        Dim decTotal As Decimal = 0D

        'Use procedure to make objects visible
        MakeObjectsVisible()

        lblItem.Text = "The depreciation of the item: " & strInventory(intID) & Environment.NewLine _
            & "Quantity: " & intQuantity(intID).ToString()

        'Create formula for depreciation
        decDep = decInitPrice(intID) / intLifeSpan
        decPresentV = decInitPrice(intID)

        'Loop repeat for lifespan
        For intPresentY = 1 To intLifeSpan
            decTotal += decDep
            lstPreYear.Items.Add(intPresentY.ToString())
            lstPreVal.Items.Add(decPresentV.ToString("C"))
            lstYearDep.Items.Add(decDep.ToString("C"))
            lstTotalDep.Items.Add(decTotal.ToString("C"))
            decPresentV -= decDep
        Next
    End Sub

    Private Sub DeclineDep(ByVal intID As Integer)
        'Calculate and display straight line version of depreciation

        'Declare variables
        Dim intPresentY As Integer
        Dim decPresentV As Decimal = 0D
        Dim decDep As Decimal
        Dim decTotal As Decimal = 0D

        'Use procedure to make objects visible
        MakeObjectsVisible()

        lblItem.Text = "The depreciation of the item: " & strInventory(intID) & Environment.NewLine _
            & "Quantity: " & intQuantity(intID).ToString()
        decPresentV = decInitPrice(intID)

        'Create formula for depreciation
        decDep = (decPresentV * 2D) / intLifeSpan

        'Loop repeat for lifespan
        For intPresentY = 1 To intLifeSpan
            decTotal += decDep
            lstPreYear.Items.Add(intPresentY.ToString())
            lstPreVal.Items.Add(decPresentV.ToString("C"))
            lstYearDep.Items.Add(decDep.ToString("C"))
            lstTotalDep.Items.Add(decTotal.ToString("C"))
            decPresentV -= decDep
        Next
    End Sub

    Private Sub MakeObjectsVisible()
        'Shows all labels and empties listboxes
        lblItem.Visible = True

        lblPreVal.Visible = True
        lstPreVal.Items.Clear()
        lstPreVal.Visible = True

        lblPreYear.Visible = True
        lstPreYear.Items.Clear()
        lstPreYear.Visible = True

        lblTotalDep.Visible = True
        lstTotalDep.Items.Clear()
        lstTotalDep.Visible = True

        lblYearDep.Visible = True
        lstYearDep.Items.Clear()
        lstYearDep.Visible = True
    End Sub

 
    Private Sub mnuDisplay_Click(sender As Object, e As EventArgs) Handles mnuDisplay.Click
        'Display inventory menu option shows application's second form
        Hide()
        frmDisplay.ShowDialog()
    End Sub


    Private Sub mnuClear_Click(sender As Object, e As EventArgs) Handles mnuClear.Click
        'Resets form
        lstInventory.SelectedIndex = -1
        rbStraight.Checked = False
        rbDecline.Checked = False

        'Hides all labels and clears listboxes
        lblItem.Visible = False

        lblPreVal.Visible = False
        lstPreVal.Items.Clear()
        lstPreVal.Visible = False

        lblPreYear.Visible = False
        lstPreYear.Items.Clear()
        lstPreYear.Visible = False

        lblTotalDep.Visible = False
        lstTotalDep.Items.Clear()
        lstTotalDep.Visible = False

        lblYearDep.Visible = False
        lstYearDep.Items.Clear()
        lstYearDep.Visible = False
    End Sub


    Private Sub mnuExitDep_Click(sender As Object, e As EventArgs) Handles mnuExitDep.Click
        'Closes application
        Application.Exit()
    End Sub
End Class


No comments:

Post a Comment

Thank you for reading.
Please share your thoughts.
Be blessed and enjoy life!