Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Опыт и разработки пользователей ИРБИС :  ИРБИС Irbis
 
Работа с глобальными переменными
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 27, September, 2005 22:43

&uf('+1G3,'f(val(&uf('+1R1')-2),1,0))
Почему такая конструкция при выполнении в редакторе форматов приводит к такому результату:
+1G3,37** Format Error 99 - Неизвестная команда (например, ошибка в правильности написания имени функции или команды), возможен также пропуск закрывающего ограничителя литерала. **

Да, и еще. Если из группы переменных убираются повторяющиеся, то куда сохраняется/передается количество оставшихся переменных?

Re: Работа с глобальными переменными
Пользователь: Куделя (IP-адрес скрыт)
Дата: 28, September, 2005 09:04

&uf('+1G3,'f(val(

&uf('+1R1') - а вот этот разве не надо сначала в val завернуть, или уж в rsum вместе с ';-2'

) ,1,0))

Re: Работа с глобальными переменными
Пользователь: Очагова Л.Н. (IP-адрес скрыт)
Дата: 28, September, 2005 11:57

Попробуйте заменить f(val(&uf('+1R1')-2),1,0) на f(val(&uf('+1R1'))-2,1,0)

Re: Работа с глобальными переменными
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 03, October, 2005 10:55

О, точно. Со скобками промахнулся :). Всем спасибо...

Re: Работа с глобальными переменными
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 03, October, 2005 21:49

+1G - Исключение неоригинальных значений из группы переменных

Если из группы переменных убираются повторяющиеся, то куда сохраняется/передается количество оставшихся переменных. Мне ведь нужно отображать не все. Необходимо знать, сколько же осталось неоригинальных значений.

Re: Работа с глобальными переменными
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 03, October, 2005 21:59

&uf('+1W1#3'),&uf('+1W2#2'),
&uf('7,$NJY='v903'$,@add_in_list'),
&uf('+1G3,'f(val(&uf('+1R1'))-2,1,0)),
&uf('+1T3,'f(val(&uf('+1R1'))-2,1,0)),
&uf('+1R3,'f(val(&uf('+1R1'))-2,1,0))

Вот она, конструкция полностью. В первой переменной храню номер первой значимой переменной, во второй переменной - номер предыдущей значимой переменной (может и проще можно, но пока так). Далее расформатирую все записи, которые попадают под мой словарь. В этом формате в переменную (номер которой в переменной №1) записывается значение. Далее я исключаю из полученног списка все неоригинальные переменные, сортирую и хочу получить только неоригинальные. Как мне узнать, сколько неоригинальных переменныхосталось? Да и вообще, почему-то отображаются все переменные. Такое чувство, что +1G ничего не сделал.
В документации все что ниже +1К вообще не расписано. Хотелось бы знать, как работают эти юнифоры, поскольку это очень сильная весчь...

Re: Работа с глобальными переменными
Пользователь: Анонимный пользователь (IP-адрес скрыт)
Дата: 04, October, 2005 13:43

А главное, очень мудреная весчь.... я бы даже сказал, заумная... впрочем, говорят, для математиков это все раз плюнуть...

Re: Работа с глобальными переменными
Пользователь: Бродовский (IP-адрес скрыт)
Дата: 04, October, 2005 14:54

&UF('+1G... исключает неоригинальные значения из группы глобальных переменных и ВОЗВРАЩАЕТ результат в виде СПИСКА. Если Вы хотите оперировать с этой группой переменных далее, надо полученный СПИСОК "подать" на &uf('+1W...
Например:
&uf('+1W1001,1000#',&uf('+1G.....))

Re: Работа с глобальными переменными
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 04, October, 2005 20:49

Еще просьба: что здесь есть что и как это все работает
+1ANNN,nnn#MMM,mmm

ЗЫ. Небольшое предложение по улучшению редактора форматов: поскольку теперь можно использовать ГП, то не плохо было бы видеть их состояние в текущий момент.

Re: Работа с глобальными переменными
Пользователь: Бродовский (IP-адрес скрыт)
Дата: 05, October, 2005 13:55

+1ANNN,nnn#MMM,mmm
Это ЛОГИЧЕСКОЕ сложение двух груп глобальных переменнных - результат возвращается в виде списка.
NNN и MMM - это номера первых глобальных переменных в группах
nnn и mmm - это КОЛИЧЕСТВО (а не номер переменной) )переменных в группе (как правило эти данные приходится задавать через &uf('+1R...)

Re: Работа с глобальными переменными
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 05, October, 2005 18:48

Хорошо, а для списков такой функции нет?

Re: Работа с глобальными переменными
Пользователь: Бродовский (IP-адрес скрыт)
Дата: 06, October, 2005 10:00

"Посадите" списки на группы переменных и - вперед...

Re: Работа с глобальными переменными
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 06, October, 2005 20:29

Еще вопрос: я получил в переменной №1 список значений. Например
1
2
3
4
5
Хочу теперь получить каждое из них отдельно и использовать для следующего расформатирования. Ну или просто вывести не
1
2
3
4
5
а "1, 2, 3, 4, 5". Это возможно? И если возможно то как?

ЗЫ. Подозреваю, что нужно использовать конструкцию &uf('+1R*+1'), но вот конкретно что-то сделать не получается. Как установить текущую переменную?

Re: Работа с глобальными переменными
Пользователь: Бродовский (IP-адрес скрыт)
Дата: 07, October, 2005 10:41

Пока вот так...
&uf('+1W101,100#','1',/'2',/'3',/'4',/'5'),
(if val(&uf('+1R100'))>0 then &uf('+1R*+100'),if val(&uf('+1R100'))>1 then ', 'fi,&uf('+1W100#',f(val(&uf('+1R100'))-1,0,0)) fi)

Но для версии 2005.2 готовится новая группа форматных выходов и НОВАЯ конструкция языка форматирования (GNN) для работы с ИНДИВИДУАЛЬНЫМИ ПОВТОРЯЮЩИМИСЯ глобальными переменнами - с помощью них это же можно будет сделать значительно проще

&uf('+7W101#','1',/'2',/'3',/'4',/'5'),
G101+|, |

Re: Работа с глобальными переменными
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 07, October, 2005 18:02

Хихи. Ничего себе механизмик обращения :). Понять-то понял, но голова кругом. Буду ждать с нетерпением новой конструкции.

ЗЫ. А можно, как библиотека с этой конструкцией появится, мне ее для тестирования поиметь, так сказать :)?

Re: Работа с глобальными переменными
Пользователь: Соколинский К.Е. (СЗТУ) (IP-адрес скрыт)
Дата: 24, October, 2005 18:36

Это очень актуально. С нетерпением будем ждать новой редакции format32.



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.