|
|
|
Поиск по значению поля в списке
|
|||
|---|---|---|---|
|
#18+
Дано: объект такой вот структуры: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Что-то вроде этого: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2011, 17:22 |
|
||
|
Поиск по значению поля в списке
|
|||
|---|---|---|---|
|
#18+
coder1cv8 , ты хочешь в некоем классе поискать есть в нём некое свойство или нет? Потому как обратиться к свойству можно сразу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2011, 21:20 |
|
||
|
Поиск по значению поля в списке
|
|||
|---|---|---|---|
|
#18+
krvsa, Нет. Попробую привести xml-проекцию объекта, может так понятно будет: <ResponseData> <Params> <ParamsItem> <name>speed</name> <value>120</value> </ParamsItem> <ParamsItem> <name>height</name> <value>1200</value> </ParamsItem> </Params> </ResponseData> Так вот мне надо получить из объекта значения параметра "speed", либо сказать что он не найден. Кроме перебора всех элементов Params и проверки name = "speed", есть варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2011, 09:45 |
|
||
|
Поиск по значению поля в списке
|
|||
|---|---|---|---|
|
#18+
Ура, наконец-то заработала отправка сообщений на форуме ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2011, 09:45 |
|
||
|
Поиск по значению поля в списке
|
|||
|---|---|---|---|
|
#18+
coder1cv8, напиши, плиз, что выведет w responseData.params.ClassName(1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2011, 14:41 |
|
||
|
Поиск по значению поля в списке
|
|||
|---|---|---|---|
|
#18+
Блок А.Н., это ж синтетический пример ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2011, 16:45 |
|
||
|
Поиск по значению поля в списке
|
|||
|---|---|---|---|
|
#18+
coder1cv8Так вот мне надо получить из объекта значения параметра "speed", либо сказать что он не найден. Кроме перебора всех элементов Params и проверки name = "speed", есть варианты?При поставленных Вами условиях - нет. Посмотрите документацию по классам %ListOfObjects или %Collection.ListOfObj . Но другие варианты, конечно же есть, например: Class ResponseData Extends %RegisteredObject { Property params As list Of ParamsItem; Property paramsNew [ MultiDimensional ]; Property paramsArr As array Of %Integer; } Class ParamsItem Extends %RegisteredObject { Property name As %String; Property value As %Integer; } set obj=##class(User.ResponseData).%New() #; заполнение set p1=##class(User.ParamsItem).%New() set p1.name="name1" set p1.value=10 d obj.params.Insert(p1) set p2=##class(User.ParamsItem).%New() set p2.name="test2" set p2.value=2 d obj.params.Insert(p2) set p3=##class(User.ParamsItem).%New() set p3.name="test3" set p3.value=7 d obj.params.Insert(p3) set obj.paramsNew("name1")=10 set obj.paramsNew("name2")=2 set obj.paramsNew("name3")=7 do obj.paramsArr.SetAt("name1",10) do obj.paramsArr.SetAt("name2",2) do obj.paramsArr.SetAt("name3",7) #; поиск w obj.paramsNew("name3"),! w obj.paramsArr.Find("name3"),! Блок А.Н.coder1cv8, напиши, плиз, что выведет w responseData.params.ClassName(1)Наверное, имелось в виду: w responseData.params.%ClassName(1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2011, 16:49 |
|
||
|
Поиск по значению поля в списке
|
|||
|---|---|---|---|
|
#18+
servit, Да, я это и имел ввиду :-) Просто я на память не помню, что это за класс, а зная класс можно посмотреть, какие методы у него есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2011, 18:10 |
|
||
|
Поиск по значению поля в списке
|
|||
|---|---|---|---|
|
#18+
У кого есть версия 2011.1 могут найти в документации ([Documentation]>[Development Guides]) новый раздел - Programming Orientation Guide , где собраны советы как лучше писать серверный код и что необходимо учитывать при проектировании системы. PS: итоги круглого стола ИТ в здравоохранении 2011: куда движется отрасль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2011, 21:06 |
|
||
|
Поиск по значению поля в списке
|
|||
|---|---|---|---|
|
#18+
servit , Спасибо! Ответ ясен. В том то и загвоздка что мне не по массиву поиск нужен. С массивами все ясно как раз. Если немного расширить и углубить это вопрос, мне нужен аналог объекта 1С "табличная часть" (если вдруг вы знакомы с 1С). Где был бы поиск по нескольким "колонкам", то есть найти строку в list-е, где "name1"=10 и "name2"=12 и "name3"=7, к примеру. Кстати, может быть есть возможность сделать запрос не к %Persistent классу? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2011, 14:18 |
|
||
|
Поиск по значению поля в списке
|
|||
|---|---|---|---|
|
#18+
coder1cv8 , Если имелся в виду аналог LINQ to Objects в .NET, то в Caché такого нет. Но Вы можете расширить стандартный класс коллекции своим, с нужными Вам методами и запросами, используя рефлексию . Кстати, может быть есть возможность сделать запрос не к %Persistent классу? )Что мешает для хранимых классов данные хранить в приватных глобалах или использовать приватные временные таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2011, 17:48 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=37187094&tid=1557779]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
186ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 275ms |
| total: | 556ms |

| 0 / 0 |
