0
我正在爲我父親寫一個程序,以便他能更好地跟蹤他使用的汽油量。基本上它從.txt文件中抓取一行,並將其分成3個值,用於執行基本計算。然後將計算和值放入Listview中以便查看。您可能從瓦片推斷出的問題是,我的程序在代碼的第31行崩潰,在它讀取.txt文件中的所有數據之後,它會嘗試將tempstring2分配一條不存在的行。然後它吐出一條System.IO.IOException
錯誤消息。我試圖寫更多的代碼來防止它,但無濟於事。任何幫助將不勝感激。這是.txt文件的格式。程序試圖讀取不存在的行
編輯:現在我知道問題是什麼,我想用DateDiff
來比較兩個日期,但是我無法比較第二個日期和第一個日期,因爲我不知道如何讀取下一個日期。 txt文件沒有做另一個LineInput
。我基本上想要在一個循環中將Sat 11 Jan 2014
與Thu 23 Jan 2014
進行比較,並且將其與LineInput
進行比較。
Sat 11 Jan 2014,446.0,32.50
Thu 23 Jan 2014,566.2,42.08
Wed 05 Feb 2014,535.4,39.27
Sun 16 Feb 2014,486.2,36.10
Thu 27 Feb 2014,536.4,41.36
etc...
這是我的新代碼:
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnTest.Click
Dim filenum As Integer = FreeFile()
Dim tempstring As String
Dim temp As String
Dim temparray(2) As String
Dim date1, date2 As Date
Dim date3 As String
FileOpen(filenum, "Stats.txt", OpenMode.Input)
While Not EOF(filenum)
tempstring = LineInput(filenum)
temp = tempstring
temparray = Split(temp, ",", -1)
date1 = temparray(0)
date3 = DateDiff(DateInterval.Day, date2, date1)
Dim stats1 As New ListViewItem(temparray(0), 0)
stats1.SubItems.Add(temparray(1))
stats1.SubItems.Add(temparray(2))
stats1.SubItems.Add(FormatNumber(temparray(2)/(temparray(1)/100), 2))
stats1.SubItems.Add(FormatNumber(temparray(1)/temparray(2), 2))
stats1.SubItems.Add(FormatNumber(temparray(1)/temparray(2) * 50, 2))
stats1.SubItems.Add(date3)
lvwStats.Items.Add(stats1)
For i As Integer = 0 To lvwStats.Columns.Count - 1
lvwStats.Columns(i).Width = -2
Next i
End While
End Sub
End Class
我知道問題是什麼,我意識到現在發生了什麼。然而,另一個問題已經出現在它的地方。 – 2014-10-10 07:13:16