All pastes #477730 Raw Edit

Stuff

public text v1 · immutable
·published 2007-05-08 20:37 UTC
rendered paste body
Public Class Form1
    Structure Data
        Dim name As String
        Dim volume As String
    End Structure

    Dim drinkData(49) As Data
    Dim FILE_NAME As String = "SOFT_DRINK_DATA.TXT"
    Dim numLines As Integer

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        GetData()
    End Sub

    Private Sub submitNewData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles submitNewData.Click
        Dim objWriter As New System.IO.StreamWriter(FILE_NAME, True)
        If numLines >= 49 Then
            MsgBox("No more than 50 entries can be inputted!")
        ElseIf numLines < 49 Then
            objWriter.WriteLine(softDrink.Text)
            objWriter.WriteLine(changeInVolume.Text)
        End If
        objWriter.Close()
        softDrink.Text = ""
        changeInVolume.Text = ""
        GetData()
    End Sub

    Sub GetData()
        Dim readFile As IO.StreamReader = IO.File.OpenText(FILE_NAME)
        numLines = 0
        Do While readFile.Peek <> -1
            drinkData(numLines).name = readFile.ReadLine
            drinkData(numLines).volume = readFile.ReadLine
            numLines += 1
        Loop
        readFile.Close()
        SortData(numLines)
        ShowData()
    End Sub

    Sub ShowData()
        Dim fmtStr As String = "{0,-14}{1, 14:N1}"
        showGainers.Items.Clear()
        showLosers.Items.Clear()
        showGainers.Items.Add(String.Format(fmtStr, "Brand", "% Change in Volume"))
        showGainers.Items.Add("")
        showLosers.Items.Add(String.Format(fmtStr, "Brand", "% Change in Volume"))
        showLosers.Items.Add("")
        For i As Integer = 0 To numLines
            If drinkData(i).volume > 0 Then
                showGainers.Items.Add(String.Format(fmtStr, drinkData(i).name, drinkData(i).volume))
            Else
                showLosers.Items.Add(String.Format(fmtStr, drinkData(i).name, drinkData(i).volume))
            End If
        Next
    End Sub

    Sub SortData(ByVal numPasses As Integer)
        For passNum As Integer = 1 To (numPasses - 1)
            For index As Integer = 1 To numPasses - passNum
                If (drinkData(index - 1).volume < drinkData(index).volume) Then
                    SwapData(index)
                End If
            Next
        Next
    End Sub

    Sub SwapData(ByVal index As Integer)
        Dim temp As Data
        temp = drinkData(index - 1)
        drinkData(index - 1) = drinkData(index)
        drinkData(index) = temp
    End Sub

End Class