powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Реализация коллекции
9 сообщений из 9, страница 1 из 1
Реализация коллекции
    #38283501
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне необходимо сделать коллекцию состоящую из элементов (каждый элемент имеет свое название, свой ключ, свою дату и т.п. т.е. все элементы разного типа данных). Подскажите каким образом это реализовывается в VB? Количество элементов при объявлении неизвестно. Если можно пример или ссылку.
...
Рейтинг: 0 / 0
Реализация коллекции
    #38283515
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Реализация коллекции
    #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
Реализация коллекции
    #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
Реализация коллекции
    #38283744
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FolderClass.Name - не уникально скорее всего
...
Рейтинг: 0 / 0
Реализация коллекции
    #38283753
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, пишет "Object variable or With block variable not set"
...
Рейтинг: 0 / 0
Реализация коллекции
    #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
Реализация коллекции
    #38283758
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
...
rst1.Close

Set GetFoldersGoods = col

End Function



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


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


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