WikiLib: Irbis/Unifor ...

Home Page | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация | + | Вы Илья Лазарев? ( Настройки | Выход )

On-line справочник по unifor-программам

По режиму

! | O | 1 | 3 | 7 | 9


A | B | C | D | E | F | G | I | J | K | L | M | P | Q | R | S | T | U | V | W | X | Z


+1 | +1a | +1G | +1I | +1K | +1M | +1O | +1R | +1S | +1T | +1V | +1W | +3E | +3D | +4 | +5 | +6 | +7 | +7R | +7W | +7U | +7M | +7S | +7A | +7G | +7T | +8 | +90 | +91 | +92 | +93 | +94 | +95 | +96 | +97 | +99


+F | +I


По действию

Технологические

  1. Куммуляция номеров журналов
  2. Декуммуляция номеров журналов
  3. Контроль куммуляции
  4. Размножение экземпляров
  5. Выдать библиографическую свертку документа
  6. Контроль ISSN/ISBN

Глобальные переменные

Не повторяющиеся переменные
  1. Очистить (опустошить) все глобальные переменные
  2. Чтение глобальных переменных
  3. Запись в глобальные переменные
  4. Групповая мультираскодировка списка
  5. Групповая мультираскодировка переменных
  6. Перемножение двух списков (групп переменных)
  7. Вычитание списков (групп переменных)
  8. Сложение списков (групп переменных)
  9. Исключение неоригинальных значений из группы переменных
  10. Исключение неоригинальных значений из списка
  11. Сортировка группы переменных
  12. Сортировка списка
Повторяющиеся переменные (расширенная альтернатива +1)
  1. Очистить (опустошить) все глобальные переменные
  2. Чтение глобальной переменной
  3. Запись глобальной переменной
  4. Добавление повторений глобальной переменной
  5. Логическое перемножение повторений двух переменных
  6. Логическое вычитание повторений двух переменных
  7. Логическое сложение повторений двух переменных
  8. Исключение неоригинальных повторений переменной
  9. Сортировка повторений переменной

Работа с записью

  1. Выдать содержимое документа полностью
  2. Выдать заданное повторение поля
  3. Выдать заданное оригинальное повторение поля
  4. Форматирование документа из другой БД (REF на другую БД – отношение «от одного к одному»)
  5. Расформатирование группы связанных документов из другой БД (отношение «от одного к многим»)
  6. Вернуть окончание термина
  7. Вернуть количество ссылок для заданного термина
  8. Отсортировать повторения заданного поля. Можно применять только в глобальной корректировке
  9. Раскодировка через справочник (меню)
  10. Вернуть заданный подэлемент
  11. Выдача метки, порядкового номера и значения поля в соответствии с индексом (номером повторения) повторяющейся группы
  12. Выдать статус записи. Если запись логически удаленная, возвращается 0, в противном случае – 1
  13. Выдача элемента списка/справочника в соответствии с индексом (номером повторения) повторяющейся группы
  14. Вернуть номер текущего повторения в повторяющейся группе

Форматирование

  1. Формирование ссылки (гиперссылки)
  2. Удаление из заданной строки фрагментов, выделенных угловыми скобками <>
  3. Команда постредактуры: очистить результат расформатирования от двойных разделителей
  4. Команда постредактуры: очистить результат расформатирования от RTF-конструкций

Числовые и строковые

  1. Выдача данных, связанных с ДАТОЙ и ВРЕМЕНЕМ
  2. Удалить двойные кавычки из заданной строки
  3. Вернуть заданное количество первых слов в строке
  4. Вернуть конец строки после заданного количества первых слов
  5. Вернуть часть строки до или начиная с заданного символа
  6. Универсальный счетчик
  7. Генерация случайного числа
  8. Транслитерирование кириллических символов с помощью латиницы
  9. Вернуть заданную строку в нижнем регистре
  10. Кодирование данных для представления в URL
  11. Декодирование данных из URL
  12. Вернуть длину исходной строки
  13. Вернуть фрагмент строки
  14. Вернуть строку в верхнем регистре

Файловые

  1. Вернуть имя файла из полного пути/имени, включая расширение
  2. Вернуть путь из полного пути/имени без конечного слеша
  3. Вернуть расширение из полного пути/имени с предшествующей точкой
  4. Вернуть букву диска из полного пути/имени с двоеточием

Другие

  1. Вернуть параметр из INI-файла
  2. Вызов функции из внешних DLL
  3. Групповая установка глобальных переменных (для ИРБИС-Навигатора)

Режим Описание Входная строка Версии Пример
! Команда постредактуры: очистить результат расформатирования от двойных разделителей (двойных точек например). Имеет смысл использовать один раз в любом месте формата ! 4.1 и выше &unifor(‘!’)
+1 Очистить (опустошить) все глобальные переменные +1 4.1 и выше &unifor('+1')
+1A Сложение списков (групп переменных) +1ANNN,nnn#MMM,mmm 4.2 и выше нет 
+1G Исключение неоригинальных значений из группы переменных +1GNNN,nnn 4.2 и выше нет 
+1I Исключение неоригинальных значений из списка +1ISSSS 4.2 и выше нет 
+1K Групповая мультираскодировка переменных +1K<MNU>|NNN,nnn
где:
NNN – номер первой или единственной переменной,;
nnn – кол-во переменных (по умолчанию 1)
4.2 и выше &unifor(‘+1Kmhr.mnu|100,10’)
+1M Перемножение двух списков (групп переменных) +1MNNN,nnn#MMM,mmm 4.2 и выше нет 
+1O Групповая мультираскодировка списка +1O<MNU>|SSSS
где:
<MNU> имя справочника (с расширением);
SSSS – список строк (результат расформатирования
4.2 и выше &unifor(‘+1Omhr.mnu|’, (v910^m/))
+1R Чтение глобальных переменных +1RNNN,nnn
где:
NNN – номер первой или единственной переменной, возможна конструкция *±<число>
* – номер текущего повторения в повторяющейся группе;
nnn – кол-во переменных (по умолчанию 1)
4.1 и выше &unifor(‘+1R100,2’)
+1S Вычитание списков (групп переменных) +1SNNN,nnn#MMM,mmm 4.2 и выше нет 
+1T Сортировка группы переменных +1TNNN,nnn 4.2 и выше нет 
+1V Сортировка списка +1VSSSS 4.2 и выше нет 
+1W Запись глобальных переменных +1WNNN,MMM#SSSS
где:
NNN – номер первой или единственной переменной, возможна конструкция *±<число>
* – номер текущего повторения в повторяющейся группе;
MMM – номер переменной для сохранения кол-ва записанных переменных (по умолчанию не используется);
SSSS – список строк (результат расформатирования). Если задан MMM – каждая строка пишется в отдельную переменную, в противном случае все пишется в одну переменную
4.1 и выше &unifor(‘+1W100,0#’, (v910/))
+3D Декодирование данных из URL +3D<данные> 5.2 и выше нет 
+3E Кодирование данных для представления в URL +3E<данные> 5.2 и выше &unifor(‘+3E’,v1007)
+4 Выдача метки, порядкового номера и значения поля в соответствии с индексом (номером повторения) повторяющейся группы +4XY
где 
Х принимает три значения: T – выдать метку; F – выдать значение поле; N – выдать порядковый номер поля в записи (отличается от индекса повторения, если Y принимает значение 1);
Y принимает значения: 0 – поля выдаются в порядке расположения в записи; 1 – поля выдаются в порядке возрастания меток (по умолчанию 0)
5.2 и выше ...(...&unifor(‘+4T1’), ’_’, &unifor(‘+4N1’), ’: ‘, &unifor(‘+4F1’), ’<br>’...)...
+5 Выдача элемента списка/справочника в соответствии с индексом (номером повторения) повторяющейся группы +5Х<имя_справочника/списка>
где Х принимает значения: Т – выдать значение; F – выдать пояснение (имеет смысл, если задается справочник, т.е. файл с расширением MNU)
5.2 и выше ...(...&unifor(‘+5Tfield.mnu’), ’ – ’, &unifor(‘+5Ffield.mnu’), ’<br>’...)
+6 Выдать статус записи. Если запись логически удаленная, возвращается 0, в противном случае – 1 +6 5.2 и выше ...if &unifor(‘+6’)=’0’ then ‘запись логически удаленная’ fi...
+7 Очистить (опустошить) все глобальные переменные +7 5.2 и выше &unifor('+7')
+7A Логическое сложение повторений двух переменных +7ANNN#MMM
Результат сложения записывается в первую переменную
5.2 и выше нет 
+7G Исключение неоригинальных повторений переменной +7GNNN
Результат исключения записывается в ту же переменную
5.2 и выше нет 
+7M Логическое перемножение повторений двух переменных +7MNNN#MMM
Результат перемножения записывается в первую переменную
5.2 и выше нет 
+7R Чтение глобальной переменной +7RNNN,nnn
где:
NNN – номер переменной
nnn – номер повторения (по умолчанию – номер текущего повторения в повторяющейся группе;)
Эквивалентная конструкция языка форматирования
GNNN
5.2 и выше (...&unifor(‘+7R100’)...)
Эквивалентная конструкция языка форматирования:
(...G100...)
+7S Логическое вычитание повторений двух переменных +7SNNN#MMM
Результат вычитания записывается в первую переменную
5.2 и выше нет 
+7T Сортировка повторений переменной +7TNNN
Результат сортировки записывается в ту же переменную
5.2 и выше нет 
+7U Добавление повторений глобальной переменной +7UNNN#SSSS
где:
NNN – номер переменной
SSSS – список строк (результат расформатирования); каждая строка становится отдельным повторением
5.2 и выше нет 
+7W Запись глобальной переменной +7WNNN#SSSS
где:
NNN – номер переменной
SSSS – список строк (результат расформатирования); каждая строка становится отдельным повторением
5.2 и выше &unifor(‘+7W100#’,(v910/))
+8

Вызов функций из внешних DLL.
Внешние функции должны ОБЯЗАТЕЛЬНО иметь следующую структуру:
(Pascal)
test_function1(buf1,buf2: Pchar; bufsize: integer): integer;
(C)
int test_function1(char *buf1, char *buf2, int bufsize)
где:
buf1 – передаваемые данные (входные)
buf2 – возвращаемые данные (выходные)
bufsize – размер выходного буфера (buf2)


(в ИРБИС64 данные передаются и возвращаются в UTF8)
Возврат функции: =0 – нормальное завершение; <>0 – ненормальное.
В случае нестандартного вызова функций из DLL (по Pascal-правилам) надо указывать символ * перед именем DLL:
&unifor('+8*<имя_DLL>,<имя_функции>,....
Следует помнить, что имя функции в вызове надо указывать строго в соответствии с тем, как она экспортирована из DLL (т.е. большие и маленькие буквы различаются)

+8<dll>,<функция>,<данные> 6.1 и выше - &unifor('+8test_dll, test_function1, ',v200^a)
– (&unifor('+8test_dll, test_function2, ',v910))
– (&unifor('+8test_dll, test_function2, ',&unifor('+0')))
+90 вернуть номер текущего повторения в повторяющейся группе +90<исх.данные> 6.1 и выше нет 
+91 вернуть имя файла из полного пути/имени, включая расширения +91<исх.данные> 6.1 и выше &uf('91'v951^a)
+92 вернуть путь из полного пути/имени без конечного слэша +92<исх.данные> 6.1 и выше &uf('92'v951^a)
+93 вернуть расширение из полного пути/имени с предшествующей точкой +93<исх.данные> 6.1 и выше &uf('93'v951^a)
+94 вернуть букву диска из полного пути/имени с двоеточием +94<исх.данные> 6.1 и выше &uf('94'v951^a)
+95 вернуть длину исходной строки +95<исх.данные> 6.1 и выше &uf('95'v200)
+96 вернуть фрагмент строки +96A*SSS.NNN#<строка>
A – направление: 0 – с начала строки; 1 – с конца
SSS – смещение
NNN – кол-во символов
6.1 и выше &uf('960*4.5#'v200)
+97 вернуть строку в верхнем регистре +97<исх.данные> 6.1 и выше &uf('97'v200)
+99 групповая установка глобальных переменных (для ИРБИС-Навигатора) Исходная строка закодирована через URLEncode (&unifor('+3E....).
После раскодировки рассматривается как список строк(TStringList.Text). Каждая строка этого списка имеет структуру:
NNN#<значение_ГП_NNN>
6.1 и выше нет 
+F команда постредактуры: очистить результат расформатирования от RTF-конструкций. Имеет смысл использовать один раз в любом месте формата +F 4.1 и выше &unifor('+F')
+I команда формирования ссылки (гиперссылки) +I /<содержание ссылки>/<название ссылки>
/<содержание ссылки>/ – внутренние данные ссылки, ограниченные уникальным разделителем.
Имеют следующую структуру:
* NNN, HHH, <параметры>
* NNN - тип ссылки, возможные значения:
* 0 - ссылки на внешние объекты
* 1 - ссылка на связанный документ (возможно в другой БД) - "от одного к одному"
* 2 - ссылка на связанные документы (возможно в другой БД) - "от одного к многим"
* HHH - экранная подсказка, может иметь вид:
* @iii - где iii - номер текста в файле IRBISMSG.TXT
* \text\ - собственно текст подсказки в уникальных ограничителях.
Для ссылок типа 0 <параметры> представляет собой в общем виде URL внешнего объекта (в том числе - полный путь на файл).
Для ссылок типа 1 и 2 <параметры> имеют следующую структуру:
* имя_БД, имя_формата, termin
* имя_БД - имя базы данных, из которой будут браться связанные документы; по умолчанию, т.е. если имя БД "пустое", используется текущая БД.
* имя_формата - имя формата, в соответствии с которым будут расформатироваться связанные документы. (по умолчанию - используется оптимизированный формат)
* termin - ключевой термин, на основе которого отбираются (ищутся) связанные документы
4.1 и выше &unifor('+I?0,,', v951^i, '?', v951^t, |INTERNET|n951^t)
0 Выдать содержимое документа полностью (формат ALLl) 0 все  &unifor('0')
1 Вернуть заданный подэлемент 1NCXY?V<tag> ^ <delim> * <offset> . <length> # <occur>
где:
N – номер повторения подэлемента; если указана * – номер подэлемента совпадает со счетчиком повторяющейся группы;
ХY – разделители между подэлементами;
С – принимает значения: R – разделители справа от каждого подэлемента, кроме последнего; L – разделители слева от каждого подэлемента; D – каждый подэлемент заключен слева разделителем Х и справа – Y;
? – символ-разделитель.
Остальные параметры аналогичны параметрам для функции А ( см. выше )
все  (/&unifor('1*R; ?v910^h#1'))
3 выдача данных, связанных с ДАТОЙ и ВРЕМЕНЕМ.
Имеются следующие подфункции:
3 – выдать текущую дату в виде ГГГГММДД
30 – выдать теекущий год в виде ГГГГ
31 – выдать текущий месяц в виде ММ (с лидирующим нулем)
32 – выдать текущий день в виде ДД (с лидирующим нулем)
33 – выдать текущий год в виде ГГ
34 – выдать текущий месяц в виде М (без лидирующего нуля)
35 – выдать текущий день в виде Д (без лидирующего нуля)
36MM – выдать по заданному номеру месяца его название на русском языке в именительном падеже
37MM – выдать по заданному номеру месяца его название на русском языке в родительном падеже
38MM – выдать по заданному номеру месяца его название на английском языке
39 – выдать текущее время
3А – выдать номер текущего дня от начала года
3<подфункция> 4.1 и выше &unifor('36',&unifor('34'))
7 реализация реляционности, т.е. реализация отношений «от одного к многим» 7<имя_БД>, </termin/>, <@имя_формата|формат>
имя_БД – имя базы данных, из которой будут браться связанные документы; по умолчанию, т.е. если имя БД «пустое», используется текущая БД.
/termin/ – ключевой термин, на основе которого отбираются (ищутся) связанные документы; термин заключается в уникальные ограничители (например. /), в качестве которых используется символ, не входящий (гарантированно) в термин.
@имя_формата|формат – имя формата или формат в явном виде, в соответствии с которым будут расформатироваться связанные документы. Если задается имя формата, то он берется из директории БД, заданной параметром <имя_БД>.
Есть аналогичный форматный выход – &unifor('D...) – который реализует связь «от одного к одному», т.е. из связанных документов берется только первый
4.1 и выше &unifor('7TEST,', «/T="v200^a"/", ',v903"\par "')
9 Удалить двойные кавычки из заданной строки 9<исх.строка> все  &unifor(«9»v200^a)
Выдать заданное повторение поля AV<tag> ^ <delim> * <offset> . <length> # <occur>
где:
<tag> – метка поля;
<delim> – разделитель подполя;
<offset> – смещение;
<length> – длина;
<occur> – номер повторения
все  &unifor('Av910^a#5')
&unifor('Av10^b*2.10#2')
Выдать библиографическую свертку документа все  &unifor('B')
Контроль ISSN/ISBN
При положительном результате – 0
При отрицательном – 1
С<ISSN/ISBN> все  &unifor(«C»v10^a)
Форматирование документа из другой БД (REF на другую БД – отношение «от одного к одному»)
D<dbn>, <@mfn|/termin/>, <@имя_формата|формат>
Передаются три параметра, разделенные запятой:
Первый – имя БД;
Второй – или непосредственно MFN с предшествующим символом @ или термин, ссылающийся на документ (термин – заключается в ограничительные символы);
Третий – или имя формата с предшествующим символом @ или непосредственно формат
все  &unifor('DBOOK, /K=AAA/, v200')
Вернуть заданное количество первых слов в строке EN<строка>
где
N – кол-во слов (одна цифра)
все  &unifor(«E3»v200^a)
Вернуть конец строки после заданного кол-ва первых слов FN<строка>
где
N – кол-во слов (одна цифра)
все  &unifor(«F3»v200^a)
Вернуть часть строки до или начиная с заданного символа GNA<строка>
где:
N=0 если ДО заданного символа (не включая его);
N=1 если начиная С заданного символа (включая его);
А – заданный символ (# – обозначает цифру; $ – обозначает букву)
все  &unifor(«G0#"v700)
&unifor(«G1-»v700^a)
Вернуть параметр из INI-файла I<SECTION>, <PAR_NAME>, <DEFAULT_VALUE> все  &unifor('IPRIVATE, NAME, NONAME')
Вернуть кол-во ссылок для заданного термина J<dbn>,<термин>
<dbn> – имя БД; по умолчанию используется текущая
все  &unifor('JBOOK,', «A="v200^a)
Раскодировка через справочник (меню) K<имя_меню> \ <исх_значение> все  &unifor("Kjz.mnu\"v101)
Вернуть окончание термина L<начало_термина> все  &unifor(«L»v101)
Отсортировать повторения заданного поля (имеется в виду строковая сортировка) – функция ничего не возвращает. Можно применять только в глобальной корректировке MX<tag>^<delims>
X – вид сортировки: I – по возрастанию; D – по убыванию.
<tag> – метка поля.
<delims> – разделители подполей, определяющих ключ сортировки
все  &unifor('MI910^BD')
Выдать заданное оригинальное повторение поля PV<tag> ^ <delim> * <offset> . <length> # <occur>
где:
<tag> – метка поля;
<delim> – разделитель подполя;
<offset> – смещение;
<length> – длина;
<occur> – номер повторения
все  &unifor('Pv910^a#5')
&unifor('Pv10^b*2.10#2')
Вернуть заданную строку в нижнем регистре Q<строка> все  &unifor(«Q»v200)
Генерация случайного числа RNN
где:
NN- кол-во знаков в случайном числе (по умолчанию – 6)
все  &unifor('R10')
Универсальный счетчик SN
где:
N=0 – обнулить счетчик;
N=1..9 – увеличить значение счетчика на соотв. значение}
N=A – вернуть значение счетчика – арабскими цифрами}
N=X – вернуть значение счетчика – римскими цифрами
все  &unifor('S0')
&unifor('S1')
&unifor('SA')
Транслитерирование кириллических символов с помощью латиницы TN<строка>
где N – вид таблицы транслитерирования (0 или 1)
все  &unifor(«T0»V200)
Куммуляция номеров журналов U<strbase>, <stradd>
где:
<strbase> – исходная куммулированная строка
<stradd> – куммулируемые номера
все  &unifor(«U»v909^h»,12»)
Декуммуляция номеров журналов V<strbase>
где:
<strbase> – исходная строка для декуммуляции
все  &unifor(«V»v909^h»)
Контроль куммуляции W<strbadd>, <strbase>
где:
<strbase> – исходная куммулированная строка
<stradd> – куммулируемый номер.
Возврат:
0 – если <stradd> не присутствует в <strbase>
1 – если <stradd> присутствует в <strbase>
все  &unifor(«W12,"v909^h)
Удаление из заданной строки фрагментов, выделенных угловыми скобками <> X<строка> все  &unifor(«X»v200)
Размножение экземпляров (функция ничего не возвращает). Можно применять только в глобальной корректировке все  &unifor('Z')

Страницы, ссылающиеся на данную: HomePage


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]