Rinfes
Новичок
- Сообщения
- 25
- Репутация
- 0
Здравствуйте. Не получается изменить значения в ListView. А так же не получается добавить новые пункты(в двумерный массив) и после сохранить в .ini файл.
Содержимое ini файла:
Код:
#include <ListViewConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <MsgBoxConstants.au3>
Global $hGUI, $ListView, $button
$sPath_ini = @ScriptDir & "\edit.ini"
$hGUI = GUICreate("ListView", 550, 650, 198, 67)
GUISetBkColor(0xd5d2af)
$ListView = GUICtrlCreateListView("Колонка1|Колонка2", 10, 10, 530, 550, $LVS_EDITLABELS)
GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 0, 263)
GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 1, 263)
GUICtrlSetBkColor(-1, 0xFFFEEE)
$num = IniRead($sPath_ini, "Flag", "F1", "default") ; число строк, которые должны забиться в ListView
$a = 0 ; индекс элемента и счетчик для секции
Dim $aItems[$num][2] ; заполнение массива
For $n = 1 To $num
$aItems[$a][0] = IniRead($sPath_ini, "Col1", $a + 1, "default")
$aItems[$a][1] = IniRead($sPath_ini, "Col2", $a + 1, "default")
$a += 1
Next
_GUICtrlListView_AddArray($ListView, $aItems)
$button = GUICtrlCreateButton("Добавить", 200, 600, 150, 25)
GUISetState()
While 1
Switch GUIGetMsg()
Case $button
$num += 1
ReDim $aItems[$num][2]
$aItems[$num][0] = "*****"
$aItems[$num][1] = "*****"
Case $GUI_EVENT_CLOSE
IniWrite($sPath_ini, "Flag", "F1", $num)
$a = 0 ; элемент массива
$k = 1 ; счетчик для секции
For $n = 1 to $num
IniWriteSection($sPath_ini, "Col1", $k, $aItems[$a][0])
IniWriteSection($sPath_ini, "Col2", $k, $aItems[$a][1])
$a += 1
$k += 1
Next
Exit
EndSwitch
WEnd
Содержимое ini файла:
Код:
[Col1]
1=Красная
2=Оранжевая
3=Желтый
4=Зеленое
5=Голубой
[Col2]
1=Площадь
2=Революция
3=Однуванчик
4=Яблоко
5=Щенок
[Flag]
F1=5