在VB6.0中,MyCombobox.NewIndex的最大值是多少?它是什么数据类型的?为什么我不能将newIndex设置为11001000000?如果我不能,我该怎么办?
谢谢
Dim ComboItem As String
With rsTest
.Sort = "ID Asc"
.MoveFirst
While Not .EOF
ComboItem = .Fields("Code") & " - " & .Fields("Name")
myCombobox.AddItem (ComboItem)
myCombobox.ItemData(myCombobox.NewIndex) = .Fields("ID")
.MoveNext
Wend
End With
答案 0 :(得分:7)
根据the help,.NewIndex
是一个只读属性,它返回最后添加的项目的索引并设置它没有任何意义。
由于它是一个整数,其最大(可用)值为32767.当您将第32769项添加到组合框时,索引将换行为负值,并且无法再使用。
要将任意数据分配给项目,请使用长.ItemData
属性,该属性可以保存-2,147,483,648 and 2,147,483,647之间的整数值。
答案 1 :(得分:0)
您似乎使用了错误的数字。整数存储在有符号的32位存储器(4字节)中,其范围为-2 ^ 31至2 ^ 31 = -2,147,483,648至2,147,483,647。 Long存储在带符号的64位存储器(8字节)中,其范围为-2 ^ 63到2 ^ 63 = -9,223,372,036,854,775,808到9,223,372,036,854,775,807。
ItemData使用整数数据类型
Short以有符号的16位(2字节)存储,从-32,768到32,767。 一个字节是一个字节(无符号8位),从0到255.
如果要存储二进制数字(11001000000),请将它们转换为整数。 乔治