Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Пробег по глобалу
|
|||
|---|---|---|---|
|
#18+
Как организовать пробег по любому глобалу с выводом на экран всех его "свойств"? То есть есть глобал ^X("one")=.... ^X("one",1)=.... ^X("one",2)=.... ^X("two")=.... ^X("two,1")=.... ^X("two,2")=.... ^X("three")=.... ^X("four")=.... ну и тп Надо чтоб на экран вывелись просто вот эти его неповторящиеся части : one two three four и тд Надо чтоб метод был уникальным.. то есть чтоб в метод подавалось только название глобала! У меня не получается то ли глобал нормално в метод подать.. так как обращаюсь к огромному глобалу, а он тока выводит кол-во на экран.. и все $D(glob) получаются пустые... Кроме $D и $G ничего больше не работает, даже не компилиться.. в общем все как-то странно.. В общем, помогите написать универсальный метод для глобала!!!! Вот что попытались сделать: ClassMethod global(ByRef glob) { if $D(glob){ w "glob= ",glob,! w "length= ",$LENGTH(glob), ! for i=1:1:glob { w $D(glob(i), i),! q:i=20 } } else { w "no such" } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 17:58 |
|
||
|
Пробег по глобалу
|
|||
|---|---|---|---|
|
#18+
proc(p) ; переда'м имя глобала типа p="^x" s a="" f s a=$o(@(p_"(a)") q:a="" w !,a q ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 18:25 |
|
||
|
Пробег по глобалу
|
|||
|---|---|---|---|
|
#18+
или же ... с кавычками, если всё правильно в примере, есть сложность .... требуется уточнение задачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 18:29 |
|
||
|
Пробег по глобалу
|
|||
|---|---|---|---|
|
#18+
Sergo Gromovили же ... с кавычками, если всё правильно в примере, есть сложность .... требуется уточнение задачи Есть некий глобал. У него есть какие-то постоянные свойства. Вот пример простого темпового глобала: ^CacheTemp(50948,"%ClassName")=<<"Returns the object's class.......>> ^CacheTemp(50948,"Format")=<<"Formats th.......l>">> ^CacheTemp(50948,"GetCompBuild")=Returns the build number for the specified component. ^CacheTemp(50948,"GetCompBuildDate")=Returns the build date for the specified component. ^CacheTemp(50948,"GetCompBuildOS")=Returns the operating system Caché was built for. ^CacheTemp(50948,"GetCompBuildTime")=Returns the Time of Build. ^CacheTemp(50948,"GetCompPatchId")=Returns the patch ID[s] included in this version of В результате мне надо вывести список: %ClassName Format GetCompBuild GetCompBuildDate GetCompBuildOS GetCompBuildTime GetCompPatchId То есть, по большому счету, все то, что в скобочках и то, что не ID-шник!!! Назовем это неким "свойством" глобала! Если их там несколько, то можно просто через запятую... все равно!! И так надо по-любому глобалу! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 18:37 |
|
||
|
Пробег по глобалу
|
|||
|---|---|---|---|
|
#18+
proc(p) ; передаём имя глобала типа p="^x" или p="^x(12345," s:$e(p,$l(p))'="," p=p_"(" s a="" f s a=$o(@(p_"a)") q:a="" w !,a q ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 18:57 |
|
||
|
Пробег по глобалу
|
|||
|---|---|---|---|
|
#18+
Смотрите еще функции $query, а также связанные - $qsubscript, $qlength. Иногда с ними бывает проще работать, чем с $order ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 19:46 |
|
||
|
Пробег по глобалу
|
|||
|---|---|---|---|
|
#18+
А есть ещё индексная косвенность. Вот здесь написано : /csp/docbook/DocBook.UI.Page.cls?KEY=GCOS_operators#GCOS_C6551 Чтобы вместо Sergo Gromov Код: plaintext 1. 2. 3. писать Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 20:28 |
|
||
|
Пробег по глобалу
|
|||
|---|---|---|---|
|
#18+
Я уже начал думать что только мы такой синтаксис используем (@p@(a)) ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 09:57 |
|
||
|
Пробег по глобалу
|
|||
|---|---|---|---|
|
#18+
Мы тоже используем. Хотя лично я стараюсь его избегать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 10:06 |
|
||
|
Пробег по глобалу
|
|||
|---|---|---|---|
|
#18+
спасибо! только вот еще что: если бежать таким способом s a="" f s a=$O(@p@(a)) q:a="" w !,a то получается вот что если есть глобал ^p=1 ^p(1,"one")=233 ^p(1,"two")=254 ^p(1,"three")=254 ^p("ID")=44 то выводит такой список 1 ID то есть он видит тока первое значение! а если мне надо чтобы выводил все ТЕСТОВЫЕ значения, то есть надо, чтоб он еще вовнутрь глобала прошел! то есть как сделать, чтобы выводил так one two three ID И вообще такое возможно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 10:28 |
|
||
|
Пробег по глобалу
|
|||
|---|---|---|---|
|
#18+
Все получилось отлично, как и надо было!!! Как раз через s a="" f s a=$O(@p@(a)) q:a="" w !,a просто не тот глобал указали)) Еще раз огромное спасибо!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 10:32 |
|
||
|
Пробег по глобалу
|
|||
|---|---|---|---|
|
#18+
Блок А.Н. Мы тоже используем. Хотя лично я стараюсь его избегать. А почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 10:57 |
|
||
|
Пробег по глобалу
|
|||
|---|---|---|---|
|
#18+
Код: plaintext Если можно сделать просто, я попытаюсь сделать просто. Но это вроде не про этот случай :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 12:30 |
|
||
|
Пробег по глобалу
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.Программы читаются хуже, на мой взгляд, лишние затраты на разрешение косвенности. У нас тоже некоторые так считали Но благо что такие времена прошли... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 12:46 |
|
||
|
Пробег по глобалу
|
|||
|---|---|---|---|
|
#18+
LenRover , давай определимся с терминологией... :) Код: plaintext 1. tmp - имя глобала one - узел 1 - значение Может конечно кто-то подругому называет... ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 12:50 |
|
||
|
Пробег по глобалу
|
|||
|---|---|---|---|
|
#18+
Ну да, это и имелось в виду!! Я неправильно обозвала))) Мне это и требуется, вывести список всех узлов глобала, ну и чтобы они не повторялись (это-то просто, а вот с обходом сложнее..) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 12:53 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=34709648&tid=1559264]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
12ms |
check topic access: |
12ms |
track hit: |
37ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 348ms |

| 0 / 0 |
