Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Collection & Dictionary - проблема буриданова осла. / 6 сообщений из 6, страница 1 из 1
22.09.2004, 09:26:38
    #32705534
Fixin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Collection & Dictionary - проблема буриданова осла.
Видите ли друзья, в Collection я не могу получить массив ключей Keys, а в объекте Scripting.Dictionary - могу.
А есть ли какой встроенный (не Scripting.) объект, где я могу получить массив ключей Keys, т.е. полностью реализована функциональность ассоциативного массива.
Или это можно провернуть и с коллекцией?
Или может у кого готовый класс на базе Collection имеется?
...
Рейтинг: 0 / 0
22.09.2004, 10:04:50
    #32705621
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Collection & Dictionary - проблема буриданова осла.
все зависит от задачи которую хочешь решить

может тебе нужен объект Adodb.Recordset ?
в функционале есть поиск, фильтрация
...
Рейтинг: 0 / 0
22.09.2004, 10:10:24
    #32705646
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Collection & Dictionary - проблема буриданова осла.
Если задача решается при помощи Microsoft Scripting Runtime - то я вообще не вижу смысла дергаться
Ну подумаешь, не "встроенный" объект. Чем мешает-то?
...
Рейтинг: 0 / 0
23.09.2004, 09:12:49
    #32707805
Fixin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Collection & Dictionary - проблема буриданова осла.
Сделал обертку для класса Collection, назвал AssCollection.
(Ассоциативная).
В принципе нормально, после PHP вбашная коллекция коробит, а так появился нормальный функционал и опять же - на встроенном классе.
...
Рейтинг: 0 / 0
23.09.2004, 13:34:25
    #32708334
Collection & Dictionary - проблема буриданова осла.
если не лома - приведи реализацию.


________________
Я лично делал для 97 аналог рекордсета - массив коллекшенов. первый элемент -коллекция имен полей - индексов всех коллекций, остальные - записи. Вставка по именам. Для частной задачки - т.ч. не оформлял как класс. Потому и не стал лезть м предложениями.


- для предложенной задачи предполагал решения либо как коллекцию (массивов (0-е элементы - имена==key,1-е - величины - Value,[Optional -1 - Order])), либо 3 коллекции, с теми же назначениями.

Но можно и создать класс для итемов (типы, кажется, сложно было запаковать в вариант) с полями (свойствами) .Key As String, .Value As Variant, .Order As Long, и класс - обертку коллекции именно этих классов.
...
Рейтинг: 0 / 0
23.09.2004, 20:25:31
    #32709394
Fixin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Collection & Dictionary - проблема буриданова осла.
А че там реализовывать:

Private C as New Collection
Public Keys as New Collection

Function Add(key, item)

on error goto key_exist
again:
C.Add(Key:=key, item:=item)
Keys.Add Key:=key, item:=key
exit function
key_exist:
on error goto 0
Remove(key)
goto again
end Function

Function Remove(key)
C.Remove Key:=key
Keys.Remove Key:=key
end Function

Function Get(key)
Get=C.Get(key:=key)
End Function

ну плюс еще добавил код, чтобы по ключу перезаписывалось, если он не оригинальный
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Collection & Dictionary - проблема буриданова осла. / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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