I am usually not keen for asking for help in these kind of situations but I am really stumped when it comes to this, all I really need is a good step in the right direction and I should be (hopefully) fine.

I am currently writing an airplane seating program for my VB class. What I am trying to do is load a text file into an array and then out put it into the list box.

Dim seat(15, 6) As Double
        Dim sr As IO.StreamReader = IO.File.OpenText("plane.txt")
        For row As Integer = 0 To 6
            For col As Integer = 0 To 15
                seat(row, col) = CDbl(sr.ReadLine)
            Next
        Next
        listSeat.Items.Clear()
        listSeat.Items.Add("ABC DEF")
        Do While sr.Peek <> -1
            listSeat.Items.Add(sr.ReadLine)
        Loop
        sr.Close()
    End Sub

The setup for the txt file is like this:

... ...
... ...
... ...
... ...
... ...
... ...
... ...
... ...
... ...
... ...
... ...
... ...
... ...
... ...
... ...

When I execute the program I get a InvalidCastException which said {"Conversion from string "V.. ..." to type 'Double' is not valid."}

The "V.. ...." is from the txt file, from this error from what I am trying to comprehend is that its trying to convert the whole line to double, but I am not sure on how to go about going fixing this small problem, because If i can figure this out then I can figure out the rest of my problem.

Thanks in advanced

Recommended Answers

All 6 Replies

Hi,

Not sure, try this, change your code:

listSeat.Items.Add(sr.ReadLine( ))

Regards
Veena

No, that didn't work. What also I tried to do is reverse the do while statement and the for statement but I got an out of bounds exception.

Hi,

Try to declare reader oject like this :

Dim sr As New System.IO.StreamReader("C:\plane.txt")

Give complete path of the file..

REgards
Veena

No I shouldn't have to give the complete path since the txt file is already where it is supposed to be in my project file, it will load just fine, but from what I see the problem is the way the code is written, and I have really no idea how to fix it.

Sorry for double posting but I think I fixed the code to make it better, and it works to an extent.

Private Sub Chart_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim sr As IO.StreamReader = IO.File.OpenText("plane.txt")
        For row As Integer = 0 To 15
            For col As Integer = 0 To 6
                seat(row, col) = CStr(sr.ReadLine)
            Next
        Next
        listSeat.Items.Add("ABC DEF")
        'Do While sr.Peek <> -1
        ''''listSeat.Items.Add(seat(row, col))
        sr.Close()
    End Sub

I don't get any out of bounds errors or null exception errors, but it won't output the text file into the list box for some reason

Hi,

While populating the "Seat", populate the Listbox as well...

Private Sub Chart_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
  Dim sr As IO.StreamReader = IO.File.OpenText("plane.txt")
  listSeat.Items.Add("ABC DEF")
For row As Integer = 0 To 15
 For col As Integer = 0 To 6
  seat(row, col) = CStr(sr.ReadLine)
  listSeat.Items.Add(seat(row, col))
 Next
Next
sr.Close()
End Sub

Regards
Veena

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.