2013-09-28 2 views
0

Это было так, когда я включаю кнопку проверки, меняется определенная строка текста. Это то, что я до сих пор:Как отредактировать определенную строку текста VB

Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged 
    FileOpen(1, "C:\ServerMaker\Vanilla\server.properties", OpenMode.Output) 
    If CheckBox1.Checked Then 
     FileSystem.WriteLine("") 
    End If 
End Sub 

Я хочу, чтобы линия 7, чтобы изменить текст «позволяет беги = истина», и если он не установлен, то я хочу, чтобы «позволить беги = false "

+0

Можете ли вы предоставить образцы кода? Ваш вопрос слишком расплывчатый. Какая линия изменится? Первая строка? Этот текст находится в окне редактирования или что-то в этом роде? –

ответ

1

Потому что true и false имеют разную длину, сначала вы должны прочитать все строки. Тогда можно записать измененный файл:

Dim lines As New List(Of String) 
'Read the current contents 
Using file = System.IO.File.OpenText("server.properties") 
    While Not file.EndOfStream 
     lines.Add(file.ReadLine) 
    End While 
End Using 
'Write the modified contents 
Using file As New StreamWriter("server.properties") 
    For i As Integer = 0 To lines.Count - 1 
     If i = 6 Then 
      file.WriteLine("allow-flight=" & IIf(CheckBox1.Checked, "true", "false")) 
     Else 
      file.WriteLine(lines(i)) 
     End If 
    Next 
End Using 

Проверка If i = 6 должна, вероятно, будет If lines(i).StartsWith("allow-flight="), чтобы линия, чтобы быть где-то в другом месте.

+0

Спасибо, человек очень полезен – user2792832

+0

@ user2792832 Если ответ вам помог, вы можете принять и/или усовершенствовать его. Это относится и к вашим другим вопросам. –

Смежные вопросы