28.11.2005, 11:55 | #1 |
Участник
|
Помогите советом
Посоветуйте, какой стандартный объект можно использовать для следующего:
Сейчас использую map но не нравится как приходится создавать ключ 1) Объект содержит ключ - формируется из значений полей таблицы выбранных в качестве ключевых (придумал пока только обычную конкатенацию строк с символами разделителями). 2) И данные по данному ключу (пока это только суммарные данные и хранятся в массиве) 3) Желательно чтобы можно было забирать ключ 4) И был поиск по ключу |
|
28.11.2005, 12:27 | #2 |
Moderator
|
Временная таблица.
|
|
28.11.2005, 12:50 | #3 |
Участник
|
я хотел бы чтобы объект создавался динамически, а таблицу бы пришлось создавать ручками =(
|
|
28.11.2005, 12:54 | #4 |
Участник
|
В качестве ключа можно использовать Hash
TextBuffer::strHashKey()
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: demianimp (1). |
28.11.2005, 12:54 | #5 |
Участник
|
наверное временная таблица, но если очень хочется то для ключа Map можно использовать тип Types::Container. Тогда отпадает необходимость формирования ключа с конкатенацией. А в контейнер набрасываете значения ключевых полей.
|
|
28.11.2005, 13:00 | #6 |
Участник
|
RecordSortedList вам поможет
|
|
28.11.2005, 13:03 | #7 |
Участник
|
И чем же он подойдет RecordSortedList? нужно хранить суммарные данные по ключу, а не записи какой - либо таблицы.
|
|
28.11.2005, 13:05 | #8 |
Участник
|
в качестве ключа можно использовать rконтейнер
X++: map.insert(['a', 'b', 'c'], 'value'); |
|
28.11.2005, 13:05 | #9 |
Модератор
|
RecordSortedList - Это прообраз таблицы. Народ делал через контейнеры. Я не очень одобряю контейнеры. Я рекомендую Setы. Поищите в руководстве разработчика по слову listiterator. Возможно, поможет.
С Уважением, Георгий |
|
28.11.2005, 13:08 | #10 |
Участник
|
RecordSortedList позволяет накапливать значения полей по ключу
а вообще полезно читать help Boolean ins(Common p1 [, Boolean updateIfExists = FALSE] ) |
|
28.11.2005, 13:32 | #11 |
Участник
|
Контейнеры не хочется использовать из-за долгого поиска по ним и размером памяти выделяемое на них, нет ли в Аксапте механизма хеширование отличного от TextBuffer::strHashKey(); ?
|
|
28.11.2005, 13:39 | #12 |
Участник
|
Цитата:
Сообщение от anf
RecordSortedList позволяет накапливать значения полей по ключу
а вообще полезно читать help Boolean ins(Common p1 [, Boolean updateIfExists = FALSE] ) "Inserts a new record in the recordSortedList unless it is a duplicate in which case it will be discarded when the update flag is false(default) or replace the existing record(update flag true). Syntax Boolean ins(Common p1 [, Boolean updateIfExists = FALSE] )Arguments Returns : true when the record was added or replaced, false when the record was discarded.
Ну и где тут накопление? по флагу updateIfExists, запись либо заменяется на вставляемую или нет. Ни о каком накоплении речь не идет. И вообще RSL - это некий буфер хранения записей, уникальных по комбинации ключевых полей. Так что RTFM уважаемый anf |
|
28.11.2005, 13:45 | #13 |
Участник
|
Цитата:
Сообщение от George Nordic
Я не очень одобряю контейнеры. Я рекомендую Setы.
|
|
28.11.2005, 13:45 | #14 |
Участник
|
В RecordSortedList вам не обязательно вставлять точную копию записи из таблицы
точно соотвествовать должны только ключевые поля, а с сумовыми полями вы вправе делать все что необходимо (складывать, вычитать и тп). Пример делать не буду, думаю и так должно быть все понятно |
|
28.11.2005, 14:31 | #15 |
Участник
|
Как из RecordSortedList забрать данные?
|
|
28.11.2005, 14:43 | #16 |
Участник
|
while (recordSortedList.next(Table))
{ } |
|
28.11.2005, 15:04 | #17 |
Участник
|
не знаю как долго будет исполнятся поиск, но помоему то что нужно
Всем Спасибо! |
|
28.11.2005, 16:39 | #18 |
Участник
|
Класс рассчитывает hash-суммы на основе алгоритмов MD2, MD4, MD5, SHA. В реализации используется CryptAPI, входящее в состав Windows.
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: NeveB (1), belugin (5), Logger (10), novic (1), AvrDen (1), gl00mie (3), rkorchagin (1). |
29.11.2005, 15:45 | #19 |
Участник
|
Цитата:
Сообщение от Gad
Ну и где тут накопление? по флагу updateIfExists, запись либо заменяется на вставляемую или нет. Ни о каком накоплении речь не идет. И вообще RSL - это некий буфер хранения записей, уникальных по комбинации ключевых полей. Так что RTFM уважаемый anf
|
|
29.11.2005, 15:51 | #20 |
Модератор
|
также см. класс KeySum
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
Теги |
шифрование |
|
Похожие темы | ||||
Тема | Ответов | |||
Нужно срочно дописать запрос помогите | 3 | |||
помогите с DLL | 2 | |||
Помогите с запросом.. | 2 | |||
Помогите найти доку | 18 | |||
Ребята плиз помогите! Данные! | 6 |
|