我制作了一个应用程序,将某些数字转换为其他格式 即
- 1 = A
- 2 = B
- 3 = C
- 4 = D
- 5 = E
- ETC
我已经完成了这个功能没有问题,我已经使用了很长一段时间了,但现在我想更快地批量做事。
因此,我很难从文本文件复制到Textbox1然后按button1然后将textbox2复制到其他文本文件。
所以我在考虑将文本文件加载到列表框中,然后对该列表中的每个项目进行循环,然后将其导出到另一个可以导出到另一个文本文件的列表中。
导入和导出我已经覆盖了它,但我坚持的是制作循环。
如果你知道一个更好的方法让我知道或者告诉我如何以这种方式修复它,那么这就是我所拥有的。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Using FD As New OpenFileDialog()
FD.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
If FD.ShowDialog = Windows.Forms.DialogResult.OK Then
ListBox1.Items.Clear()
ListBox1.Items.AddRange(IO.File.ReadAllLines(FD.FileName))
End If
End Using
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Do
Dim Item As String = ""
For Each i As String In ListBox1.Items
Item &= i
TextBox1.Text = Item
TextBox2.Text = MYFUNCTION(TextBox1.Text)
ListBox2.Items.Add(TextBox2.Text)
TextBox1.Text = ""
TextBox2.Text = ""
Next
Loop Until TextBox1.Text = "END"
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
'TextBox2.Text = MeidHexToDec(TextBox1.Text)
Using FD As New SaveFileDialog()
FD.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
If FD.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim FileContent As String = ""
For Each i As String In ListBox2.Items
FileContent &= i & vbCrLf
Next
IO.File.WriteAllText(FD.FileName, FileContent)
End If
End Using
End Sub
所以我的最终目标是做这样的事情:
TextFile1.txt
- 1
- 2
- 5
- 5
- 1
- 3
- 2
- END
然后转换输出
TextFile2.txt
- A
- 乙
- 电子
- 电子
- A
- C
- B
文本文件大小会有所不同,有时只有10个项目有时会是50 ... 谢谢。
答案 0 :(得分:5)
您根本不需要Do
循环,您可以简化循环逻辑的其余部分,如下所示:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
For Each i As String In ListBox1.Items
ListBox2.Items.Add(MYFUNCTION(i))
Next
End Sub
您不需要注意END
标记,因为文件中的所有内容都已读入ListBox1.Items
集合,因此一旦您遍历{{1}中的所有字符串值那么你就在文件的末尾。
ListBox1.Items
逻辑返回从数字到字母的转换,因此只需将该函数的结果添加到MYFUNCTION
即可。
答案 1 :(得分:-1)
Public Function Letr(N As Int16) As String
Letr = Chr(N + 64)
End Function