【发布时间】:2016-05-04 06:36:00
【问题描述】:
简介
好的,我有一个load 和一个save 按钮。我要将所有listbox items 保存到.txt 文件中,然后将它们加载到列表框。
现在,如果它只是一个列表框,这将非常简单。我的问题是它有 9 个列表框,只有一个 .txt 文件包含来自 9 个列表框的所有项目。我不想要 9 个不同的 .txt 文件。请记住,列表框包含的项目数量各不相同。
这就是save 按钮输出到 .txt 文件的方式(下一个版本)
Channel 1
c:\folder\folder
Channel 2
\\server\folder\foldera
\\server\folder\folderb
Channel 3
\\anotherserver\foldera
\\anotherserver\folderb
\\anotherserver\folderc
\\anotherserver\folderd
\\anotherserver\foldere
Channel 4
\\somepath\folder\folder\foldera
Channel 5
\\server\folder\foldera
Channel 6
\\server\folder\foldera
\\server\folder\foldera
Channel 8
\\server\folder\foldera
Channel 9
\\server\folder\foldera
每个通道是列表框,路径是每个列表框包含的项目。
这是我的存档btnsave.click
Dim configfile As String = "C:\Applicationpath\Config\" & System.DateTime.Now.ToString("yyyyMMdd") & "_Config.txt"
Using fs As FileStream = File.Create(configfile)
fs.Close()
End Using
Write_Configfile()
... 和 Write_config() 执行以下操作:
Dim objWriter As New System.IO.StreamWriter(configfile, True)
Try
objWriter.WriteLine("Channel 1")
For Each itm1 As String In Me.lbchannel1.Items
objWriter.WriteLine(itm1)
Next
objWriter.WriteLine(" ")
objWriter.WriteLine("Channel 2")
For Each itm2 As String In Me.lbChannel2.Items
objWriter.WriteLine(itm2)
Next
objWriter.WriteLine(" ")
一直到第 9 频道。我知道,这可能有更简单的方法。
问题和疑问
现在转到load 按钮。我认为如果我可以从文本文件的指定部分加载每个列表框,我会很好。我想说“嘿,将所有项目添加到通道 1 (listbox1),这些项目在配置文件中的“通道 1”和“通道 2”之间写入 - 等等到通道 9。这就是我所在的位置卡住了。
我需要在某个单词之后或某些单词之间readline。没有读到某一行,因为就像我说的列表框包含的项目数量不同。
请记住,如果这样更容易,我可以将保存输出更改为如下所示:
c1:c:\folder\folder
c2:\\server\folder\foldera
c2:\\server\folder\folderb
'and so on...
所以我的尝试是这样的:
If OpenFileDialog1.ShowDialog = DialogResult.OK Then
Using reader As New StreamReader(OpenFileDialog1.FileName.ToString)
Dim line As String = reader.ReadLine(OpenFileDialog1.FileName)
If line = "c1:" Then
lbchannel1.Items.Add(line) 'lbchannel1 is listbox1
End If
'if line = "c2:" then
'blablabla
'if line = "c3:" then
'same goes to c9
End Using
End If
但这给了我这个错误{"Conversion from string C:\Applicationpath\Config\20160405_config.txt to type integer is not valid."},我确信这不是正确的方法。
【问题讨论】:
标签: vb.net