Private Sub Command11_Click()
Dim i As Integer
For i = 1 To ListView1.ListItems.Item
SaveINI "list", CStr(Format(i - 1, "000")), ListView1.ListItems.Item(i - 1), App.Path & "\st.ini"
Next i
SaveINI "ListCount", "Count", ListView1.ListItems.Item, App.Path & "\st.ini"
Command11.Enabled = False
End Sub为什么不对呢,错在哪呢?总是说.Item参数不可选。
For i = 1 To ListView1.ListItems.Count
SaveINI "list", CStr(Format(i, "000")), ListView1.ListItems.Item(i), App.Path & "\st.ini"
Next i
SaveINI "ListCount", "Count", ListView1.ListItems.Count, App.Path & "\st.ini"
Command11.Enabled = False自己比较一下区别
With ListView1.ListItems.Add '添加新记录
.SubItems(1) = Text5.Text '第1列内容
.SubItems(2) = Text1.Text '第2列内容
.SubItems(3) = Text2.Text '第3列内容
.SubItems(4) = Text3.Text '第4列内容
.SubItems(5) = Text8.Text '第5列内容
End With
End Sub以上为添加的数值内容。
就是把上面的那些全部定入INI文件里。
如果按楼上二位的帮助,INI文件里只有以下内容:
[list]
000=
[ListCount]
Count=1
Private Sub Command11_Click() '写入INI文件
Dim i As Integer
For i = 1 To ListView1.ListItems.Count
SaveINI "list", CStr(Format(i - 1, "000")), ListView1.ListItems.Count(i - 1), App.Path & "\st.ini"
Next i
SaveINI "ListCount", "Count", ListView1.ListItems.Count, App.Path & "\st.ini"
Command11.Enabled = False
End Sub
这样还是不行,望高手指教。
Property Item(Index) As ListItem
只读
MSComctlLib.ListItems 的成员
Returns a specific item of a Collection object either by position or by key.而你未加参数:
SaveINI "ListCount", "Count", ListView1.ListItems.Item, App.Path & "\st.ini"
1楼还指出你一处错误,你的这一句引用了0索引,而那个ListItems是集合,索引下界应是1!!!
SaveINI "list", CStr(Format(i - 1, "000")), ListView1.ListItems.Item(i - 1), App.Path & "\st.ini"
所以你这代码应该还会报一个错:实时错误: 35600
索引超出边界另外,楼主还可再看看这种写法: Dim item As ListItem
For Each item In ListView1.ListItems
MsgBox item.Text
Next item
2楼让你比较区别了啊,你的Item(i-1)他改成了Item(i)呀,另外你怎么搞出来Count(i - 1)这种莫名其妙的东西啊,楼主不要瞎碰啊,注意看帮助啊
复制错了,如果只用Item(i),写不了多项值数
.SubItems(1) = Text5.Text '第1列内容
.SubItems(2) = Text1.Text '第2列内容
.SubItems(3) = Text2.Text '第3列内容
.SubItems(4) = Text3.Text '第4列内容
.SubItems(5) = Text8.Text '第5列内容
End With