Как настроить считыватель ini-файлов так, как описано в задаче? Пожалуйста, помогите?
Я в принципе хочу посмотреть список, чтобы прочитать содержимое ini файл под названием "mods".ini и в нем, чтобы быть в состоянии проверить или снимите флажок основе + или - в ini.
Что я уже пробовал:
Приведенный ниже код работает следующим образом:
В каталоге приложений есть папка под названием Profiles, внутри которой находится еще одна папка с именем профиля. наконец, внутри этой папки находится ini-файл. Этот ini-файл записывается следующим образом :
[Mods] +=extendedtimeline.zip -=BetterGraphicalImprovementsMod.zip +=RuleTheWaves.zip -=edfae.zip
Вот тут-то и начинаются проблемы.
Когда ini-файл загружен, я хочу, чтобы он проверял или снимал флажки с входящих элементов, как указано в ini-файле. (+ означает проверено, - означает непроверено)
Проблема:
Теперь этот код работает хорошо, он действительно добавляет каждую строку в представление списка, однако когда приходит время проверить или снять галочку:
ListView1.Items.Item(0).Checked = Trueвсе испортит. Этот код будет проверять только первый элемент в списке (из-за.Item (0)) Итак, как бы я сделал это для каждого элемента в списке?
Public Sub LoadMods() ListView1.Clear() Try Dim objReader As New System.IO.StreamReader(My.Application.Info.DirectoryPath + "/profiles/" + ListBox1.SelectedItem.ToString + "/mods.ini", System.Text.Encoding.Default) Do While objReader.Peek() <> -1 row = objReader.ReadLine() If LCase(row) = "[" & LCase(section) & "]" Then match = True ElseIf match AndAlso Trim(row) <> "" AndAlso Mid(row, 1, 1) <> "[" Then Dim data() As String = Split(row, "=") Dim enabledyes = data(0) Dim path = data(1) Debug.Print(Name & "=" & path) ListView1.Items.Add(path) '& "=" & value If enabledyes = "+" Then ListView1.Items.Item(0).Checked = True End If Else match = False End If Loop objReader.Close() Catch ex As Exception End Try End Sub