powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Фишки проводника
18 сообщений из 18, страница 1 из 1
Фишки проводника
    #36920461
AndrewQwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cache 5.021, в проводнике при выборке записи снизу можно увидеть небольшой хелп, типа данные можно выбирать следующим образом ^global(..,(нач. значение:конеч.значение:%D/S(строка)),..)
Выборка диапазоном работает (^global(n1:n2)), указывать пустые значения в ключах тоже понятно (^global(,,)), а какие еще варианты выборки существуют в проводнике? и что за % указан в хелпе в нижней строчке знает ктО? что он дает?
...
Рейтинг: 0 / 0
Фишки проводника
    #36920837
AndrewQwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кое что нашел сам, может еще есть у кого-то свои примеры выборки данных через проводник
...
Рейтинг: 0 / 0
Фишки проводника
    #36920876
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrewQwer , проводником никогда не пользовались - есть своя программа. Она гораздо лучше.
...
Рейтинг: 0 / 0
Фишки проводника
    #36920878
AndrewQwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa AndrewQwer , проводником никогда не пользовались - есть своя программа. Она гораздо лучше.
А можно поподробнее? на чем написана?
...
Рейтинг: 0 / 0
Фишки проводника
    #36920916
ser_shu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndrewQwerCache 5.021, в проводнике при выборке записи снизу можно увидеть небольшой хелп, типа данные можно выбирать следующим образом ^global(..,(нач. значение:конеч.значение:%D/S(строка)),..)
Выборка диапазоном работает (^global(n1:n2)), указывать пустые значения в ключах тоже понятно (^global(,,)), а какие еще варианты выборки существуют в проводнике? и что за % указан в хелпе в нижней строчке знает ктО? что он дает?
В какой-то из реализаций М %D(ata) означало данное, %S(ubscript) означало индекс.
Попробуйте задать что-нибудь типа ^global(n1:n2:%D["a") или ^global(n1:n2:%D?1e.e)
...
Рейтинг: 0 / 0
Фишки проводника
    #36920934
AndrewQwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, %D %S осуществялет поиск в данных или ключах! :)
...
Рейтинг: 0 / 0
Фишки проводника
    #36921277
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrewQwerА можно поподробнее?
Подробнее если только завтра на работе...

AndrewQwerна чем написана?
Клиентская часть Дельфи... Далее через какой-то самопальный компанент связывается с Кащеем...
...
Рейтинг: 0 / 0
Фишки проводника
    #36921787
CEH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
%S[ и %D[ работает, но вот с %S? и %D? ни как. Где кавычки лепить?

Хорошая находка; молодцом...
...
Рейтинг: 0 / 0
Фишки проводника
    #36921800
ser_shu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CEH%S[ и %D[ работает, но вот с %S? и %D? ни как. Где кавычки лепить?
Проверить не на чем...

Но думаю там просто конструкция
if @(строка) ...
так что никаких кавычек не надо: %D?1n.n $L(%D)>10 и т.п.
...
Рейтинг: 0 / 0
Фишки проводника
    #36921901
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrewQwerА можно поподробнее?
Вот такая программулька...
...
Рейтинг: 0 / 0
Фишки проводника
    #36922201
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ser_shu, проверить думаю есть на чем, т.к. Портал использует ту же нотацию при просмотре глобалов. Кавычки действительно не нужны.
...
Рейтинг: 0 / 0
Фишки проводника
    #36924293
CEH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я пробывал %D?1N1"AU".N что бы найти нод с индексом 1AU12345. без кавычек бессмыслица какая-то выходит.
...
Рейтинг: 0 / 0
Фишки проводника
    #36924466
ser_shu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CEH,

Я имел в виду, что никаких "дополнительных" кавычек не требуется. Только обычный COS, используемый в условии команды if :)

Маслову - Спасибо за комментарий, почти не пользуюсь проводником, полезная фича с условиями для анализа данных. Но у меня что-то в 2008.1.5 это условие с %D не работает в портале :(
...
Рейтинг: 0 / 0
Фишки проводника
    #36924957
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В версиях 20yy.n оно и вправду как-то криво работает. Например, в глобале вида
Код: plaintext
1.
^%zPurgeBackup("purged",.N,"некий текст") = "62019003601~/Vol/Users/syst1/mgr/Backup/FullDBList_20101020_001.cbk"
работает:
Код: plaintext
^%zPurgeBackup("purged", 10 : 20 :%D[ 620 
но не работают
Код: plaintext
1.
2.
^%zPurgeBackup("purged", 10 : 20 :$f(%D, 620 )
^%zPurgeBackup("purged", 10 : 20 :%D?11N1"~".E
Скорее всего, аналогичные ограничения и в 5.0.x, т.к. серверный код просмотрщика глобалов, похоже, мало изменился.
...
Рейтинг: 0 / 0
Фишки проводника
    #36925776
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кому интересно: в 2010.x обработкой маски поиска в глобале занимается Page^%Wgdisp. В условиях допустимы только индексные интервалы и проверки вида %D[<str> и %S[<str>. Продолжая мой пример, нормально работает:
Код: plaintext
^%zPurgeBackup("purged", 20 : 40 :%S[ 7 
Надо сказать, что такое решение разработчиков безопаснее, чем просто if @x , ибо позволяет избежать COS-инъекций.
...
Рейтинг: 0 / 0
Фишки проводника
    #36925975
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл написать, что строки в условиях следует указывать без кавычек. Т.е., например,
Код: plaintext
^%zPurgeBackup(,,%S[purged)
...
Рейтинг: 0 / 0
Фишки проводника
    #36927156
AndrewQwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Смотрел программу %Wgdisp которая выполняет поиск по условию заданному в проводнике, натолкнулся на такое:
Код: plaintext
1.
2.
 If ds="%S[" Set:s'[string skip=5 Quit  ; Check subscript
 If ds="%D[" Set:$g(@gref1)'[string skip= 6  Quit  ; Check data

Т.е. наличие %S[ или %D[ я так понимаю обязательно, и никакие %S? %D? не пройдут. по крайней мере для 5.0.21
...
Рейтинг: 0 / 0
Фишки проводника
    #36927225
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrewQwerпо крайней мере для 5.0.21По крайней мере, с 5.0.21 по 2010.1.4.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Фишки проводника
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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