То, что я пытаюсь выполнить sh, - это чтение текстового файла и выбор определенных строк для изменения путем заполнения текста из второй формы. Вот пример кода, который я сейчас использую. Что происходит, я ищу строку, которая начинается с 718, а затем где-то после этой строки будет строка, которая начинается с 720. Мне нужно обе строки, чтобы заполнить вторую форму. Единственный способ, о котором я могу думать, это просто добавлять 1 к строке, пока она не достигнет нужной мне строки. Я все еще новичок в этом, и я уверен, что есть более простой способ сделать это, возможно, с помощью Try или While, но я не уверен как. Цени любую помощь.
Dim lines() As String = File.ReadAllLines(tempsave)
For i As Integer = 0 To lines.Length - 1
If lines(i).StartsWith("718") Then
If lines(i + 1).StartsWith("720") Then
Dim array() As String = lines(i).Split("*"c, "~"c)
Dim array2() As String = lines(i + 1).Split("*"c, "~"c)
FormFill.TextBox1.Text = array(3)
FormFill.TextBox2.Text = array(9)
FormFill.ShowDialog()
lines(i) = lines(i).Replace(array(3), FormFill.TextBox1.Text)
lines(i + 1) = lines(i + 1).Replace(array(9), FormFill.TextBox2.Text)
Else
If lines(i + 2).StartsWith("720") Then
Dim array() As String = lines(i).Split("*"c, "~"c)
Dim array2() As String = lines(i + 2).Split("*"c, "~"c)
FormFill.TextBox1.Text = array(3)
FormFill.TextBox2.Text = array(9)
FormFill.ShowDialog()
lines(i) = lines(i).Replace(array2(3),FormFill.TextBox1.Text)
lines(i + 2) = lines(i + 2).Replace(array(9), FormFill.TextBox2.Text)
End If
End If
End If
Next
Пример данных:
Input:
123*test*test*test~
718*test*test*test~
543*test*test*test~
720*test*test*test~
Output:
123*test*test*test~
718*test*test*newdata~
543*test*test*test~
720*test*test*newdata~