Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Реализация коллекции / 9 сообщений из 9, страница 1 из 1
03.06.2013, 12:35
    #38283501
Slash232
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация коллекции
Мне необходимо сделать коллекцию состоящую из элементов (каждый элемент имеет свое название, свой ключ, свою дату и т.п. т.е. все элементы разного типа данных). Подскажите каким образом это реализовывается в VB? Количество элементов при объявлении неизвестно. Если можно пример или ссылку.
...
Рейтинг: 0 / 0
03.06.2013, 12:43
    #38283515
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация коллекции
...
Рейтинг: 0 / 0
03.06.2013, 12:48
    #38283527
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация коллекции
Делаешь класс MyClass
Код: vbnet
1.
2.
3.
4.
Public Key As String
Public Name As String
Public Dat As Date
Public Etc As Variant



далее в коде
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Dim MyColl As New Collection, j As MyClass

Set j=New MyClass
j.Key="S1253"
j.Name="Имечко"
j.Dat=Now
MyColl.Add j, j.Key
Set j=Nothing

...

MyColl("S1253").Etc="уух"
...
Рейтинг: 0 / 0
03.06.2013, 14:04
    #38283740
Slash232
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация коллекции
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Public Function GetFoldersGoods(TypeDo As TypeDoFolders, Optional Parent As Integer) As Collection
Dim FolderClass As Folder
Dim rst1 As Object
Set rst1 = CreateObject("ADODB.Recordset")
Select Case TypeDo
Case FolderNull
    rst1.Open "Select Папка,Индекс from Folders where Folders.Родитель is null order by Папка", Conn
Case FolderIndParent
    rst1.Open "Select Папка,Индекс from Folders where Folders.Родитель = " & Parent & " order by Папка", Conn
End Select
rst1.activeconnection = Nothing
While Not rst1.EOF
    Set FolderClass = New Folder
    FolderClass.Ind = rst1.fields("Индекс")
    FolderClass.Name = rst1.fields("Папка")
    GetFoldersGoods.Add FolderClass.Name, FolderClass.Ind
    Set FolderClass = Nothing
rst1.movenext
Wend
rst1.Close

End Function



Есть функция с коллекцией но все время выскакивает ошибка на
Код: vbnet
1.
GetFoldersGoods.Add FolderClass.Name, FolderClass.Ind

. В чем причина?
Shocker.Pro спасибо, помог
...
Рейтинг: 0 / 0
03.06.2013, 14:06
    #38283744
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация коллекции
FolderClass.Name - не уникально скорее всего
...
Рейтинг: 0 / 0
03.06.2013, 14:13
    #38283753
Slash232
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация коллекции
Нет, пишет "Object variable or With block variable not set"
...
Рейтинг: 0 / 0
03.06.2013, 14:16
    #38283756
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация коллекции
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
...
Dim col as Collection
Set col = New Collection


...
col.Add FolderClass.Name, FolderClass.Ind
...

rst1.Close

End Function
...
Рейтинг: 0 / 0
03.06.2013, 14:17
    #38283758
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация коллекции
Код: vbnet
1.
2.
3.
4.
5.
6.
...
rst1.Close

Set GetFoldersGoods = col

End Function



присвоение потерял =)
...
Рейтинг: 0 / 0
03.06.2013, 15:26
    #38283837
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация коллекции
Slash232Есть функция с коллекцией но все время выскакивает ошибка на
Код: vbnet
1.
GetFoldersGoods.Add FolderClass.Name, FolderClass.Ind


. В чем причина?
Shocker.Pro спасибо, помогпотому что нужно создать новую коллекцию:
Код: vbnet
1.
Set GetFoldersGoods=New Collection
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Реализация коллекции / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]