Sub AppStart (Form1 As Form, Args() As String)
MainForm = Form1
'MainForm.RootPane.LoadLayout("Layout1") 'Load the layout file.
MainForm.Show
'Setup for testing
Dim Data As String = $"[Logging]
ch0 = True
ch1 = True
ch2 = True
ch3 = True
ch4 = True
ch5 = True
ch6 = True
ch7 = True
ch8 = True
ch9 = True
ch10 = True
ch11 = True
separator = ,
write_new_log_on_restart = False
[web_alert]
ch0 = False
ch1 = False
ch2 = False
ch3 = False
ch4 = False
ch5 = False
ch6 = False
ch7 = False
ch8 = False
ch9 = False
ch10 = False
ch11 = False"$
Dim L As List = Regex.Split(CRLF,Data)
'File.ReadList(DirName,FileName) will provide data in a list
Dim Group As String = "[Logging]"
Dim ID As String = "ch7"
Dim NewValue As String = "False"
Dim OutData As List = ChangeData( L, Group, ID, NewValue)
'Show the result
For Each S As String In OutData
Log(S)
Next
'File.WriteList(NewDirName, NewFileName, OutData)
End Sub
Private Sub ChangeData(DataList As List, Group As String, ID As String, NewValue As String) As List
Dim i As Int = 0
Dim S As String = DataList.Get(i)
i = i + 1
Do Until S = Group
S = DataList.Get(i)
i = i + 1
If i = DataList.Size Then Return DataList ' Or whateveryou want to do on Group not found error
Loop
Log("Group " & Group & "found")
For i = i To DataList.Size - 1
Dim S As String = DataList.Get(i)
If S.Trim.StartsWith(ID) Then
DataList.set(i,ID & " = " & NewValue)
Return DataList
End If
If S.StartsWith("[") Then Return DataList ' Or whatever you want to do on ID not found in group error
Next
Return DataList ' or do whatever you want to do if the ID is not found error (if it's the last group)
End Sub