Działam w vb .net, ale jest mnóstwo konwerterów z c# na vb, więc zamieszczam pytanie w tym dziale. Napisałem aplikację, która czyta pierwszą linię wybranej tekstówki, potem czyta pierwszy wyraz z pierwszej linii oraz drugi wyraz z pierwszej linii. Następnie przechodzi do kolejnej linii i powtarza czynność. Kod:
``
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Dim liczba As Double
Dim sx As String
Dim sy As String
Dim x As Double
Dim y As Double
Dim dlg As New OpenFileDialog()
dlg.Filter = "txt|*.txt"
If (dlg.ShowDialog = DialogResult.OK) Then
Dim fileReader As System.IO.StreamReader
fileReader = My.Computer.FileSystem.OpenTextFileReader(dlg.FileName)
Dim stringReader As String
For Each line In dlg.FileName
stringReader = fileReader.ReadLine
If stringReader <> Nothing Then
Dim lines As String() = stringReader.Split(New Char(), ";"c)
Dim line1 As String
For Each line1 In lines
If line1 <> Nothing Then
Dim points As String() = line1.Split(New Char(), " "c)
Dim point As String
If points.Length <> 2 Then
Try
Throw New Exception("Niewłaściwa ilość danych w wierszu")
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
For Each point In points
liczba = CDbl(Val(point))
'sx = point 'pierwszemu wyrazowi z linii
'sy = point 'drugiemu wyrazowi z linii
x = CDbl(Val(sx))
y = CDbl(Val(sy))
'MsgBox("x=" & x & " " & "y=" & y)
Next
End If
End If
Next
End If
Next
End If
End Sub

Nie wiem jak do zmiennej sx przypisać pierwszy wyraz linii, a do zmiennej sy drugi wyraz linii. Przy czym w tym momencie są to tylko dwa zestawy danych na linię. Jak uda mi się to napisać dla tych dwóch zestawów to docelowo będzie 6 wyrazów na linię, więc jakieś metody wykorzystujące punkt raczej nie wchodzą.
Chciałbym jeszcze zaznaczyć, że uczę się tego na własną rękę, więc proszę się nie dziwić błędami/poziomem pytania. Dzięki.