Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Система ИРБИС в целом :  ИРБИС Irbis
 
&unifor('S
Пользователь: das (IP-адрес скрыт)
Дата: 03, August, 2004 06:33

Хотелось бы еще раз обратить внимание на то, что замечательный &unifor('S не работает с в виде &unifor('SA'), как написано в документации, а работает в виде &unifor('S1A') что создает определенные и серьезные неудобства в программировании.

Этот вопрос как-либо решается разработчиками или так и мудрить дальше типа f(rsum(&unifor('S1A'),'-1'),0,0)?
Далеко не всегда нужно увеличивать счетчик при его выводе.

по этому поводу уже был вопрос.
[irbis.gpntb.ru]



Шушерин Дмитрий
ОАО Красцветмет
Красноярск

Re: &unifor('S
Пользователь: Бродовский (IP-адрес скрыт)
Дата: 03, August, 2004 11:49

Да, это так - никак не доходят руки исправить...
Но надо помнить - &unifor('S... изжил себя, сейчас лучше пользоваться &unifor('+1... - глобальные переменные

Re: &unifor('S
Пользователь: das (IP-адрес скрыт)
Дата: 04, August, 2004 05:04

Согласен. Вопрос снят.



Шушерин Дмитрий
ОАО Красцветмет
Красноярск

Re: &unifor('S
Пользователь: das (IP-адрес скрыт)
Дата: 04, August, 2004 05:26

Нет не снят. Прошу уточнить параметры для +1
в моем файле описаний unifor.doc такого нет (кстати после плюса единица или буква L ?)



Шушерин Дмитрий
ОАО Красцветмет
Красноярск

Re: &unifor('S
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 04, August, 2004 12:24

Об этом юнифоре АИ рассказывал на форуме, в ветке "Версия 2004.1".
Вот линк
[irbis.gpntb.ru]



Отправка отредактированного (04-08-04 12:26)

г. Ярославль

Re: &unifor('S
Пользователь: das (IP-адрес скрыт)
Дата: 04, August, 2004 12:26

Александр Иосифович, пожалуйста, обратите внимание на мою БОЛЬШУЮ просто ОГРОМНУЮ просьбу сделать unifor для отправки сообщений по электронной почте.
В самом простом варианте: от кого, кому, тема, текст сообщения.
Все. Не нужно пока никаких вложений.

Вам же это не сложно. Эту просьбу поддерживают и у нас на железной дороге и директор библиотеки сибирского технологическго университета высказалась в поддержку такой идеи.



Шушерин Дмитрий
ОАО Красцветмет
Красноярск

Re: &unifor('S
Пользователь: Бродовский (IP-адрес скрыт)
Дата: 04, August, 2004 13:03

Я не могу понять идеи.
UNIFOR это конструкция языка форматирования, который предназначен для ПРЕДСТАВЛЕНИЯ данных - при чем тут эл.почта? При каких расформатированиях т.е. в каких форматах Вы хотите посылать эл.почту???

Re: &unifor('S
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 04, August, 2004 14:04

Первый пример, который пришел в голову: проводится в автоматическом режиме, допустим, импорт в БД. Хотелось бы отсылать по почте результаты этого импорта. С глобальными переменными это сделать не проблема. Просто выбирать в качестве ТВП что-то типа "Отослать отчет". Для каждой записи заносились бы какие-либо данные в глобальные переменные, а затем в конце эти данные отсылались бы заинтересованному лицу.
Так же эта функция была бы полезна в веб-ирбисе. Делает читатель запрос. Содержание этого запроса (а не результат) ужодит опять же заинтересовавшемуся. Цель этого, я думаю, объяснять не нужно. Или может даже не на почту, а в какой-нибудь банк данных.
В общем, предлагаю собрать здесь (а может ветку отдельную пустить) все случаи, в которых, как Вам кажется, может эта возможность пригодится.
Может быть это даже проще организовать не unifor'ом, а оператором.



Отправка отредактированного (04-08-04 14:05)

г. Ярославль

Re: &unifor('S
Пользователь: das (IP-адрес скрыт)
Дата: 05, August, 2004 06:40

Тоже хороший пример.
Другой пример: налажено информирование читателей о поступлении новых номеров журнала. Сейчас приходится в Outlook создавать рассылку о факте постуления. В нее мы складываем путь к файлу, в котором содержится отсванированное оглавление. И читатели в ответ высылают свои заказы на сканирование нужных статей. Заявки собираются и статьи сканируются по мере срочности и необходимости.

Почему бы автоматически не формировать такие сообщения читателям о поступлении нового номера журнала?

На вопрос Александра Иосифовича:
Действительно, я подразумевал что сообщения будут создаваться при сохранении записи, либо при импорте группы записей.

Я согласен, пусть это будет не unifor, а оператор из языка глобальной корректировки. И так будет тоже хорошо.


Максим, спасибо за поддержку.



Шушерин Дмитрий
ОАО Красцветмет
Красноярск

Re: &unifor('S
Пользователь: Бродовский (IP-адрес скрыт)
Дата: 05, August, 2004 09:55

Я прошу привести конкретный пример, где может применяться такой UNIFOR
- в формате показа?
- в формате ФЛК?
- в ТВП переформатирования - если да, то в какой ситуации?

Re: &unifor('S
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 05, August, 2004 10:23

Я имел ввиду не оператор ГК, а оператор языка форматирования, вроде if или функцию типа р(). В общем я это вижу примерно так:
if v210^d:'2003' then sendmail('elibadm@iubnt.yar.ru;user@mail.ru;Рассылка новостей ИБЦ;Есть издания ',v210^d,' года') fi
Почему не оператор ГК - потому что ГК нельзя никаким образом запускать в автоматическом режиме. По этому это должен быть именно оператор (функция) языка форматирования.
По поводу времени выполнения: действительно, эту возможность можно встроить в флк например, да в общем-то куда угодно, если это будет часть языка форматирования. В частности при созранении, импорте, экспорте, в пакетах для Администратора (обходными путями через формат) может еще какие случаи есть, просто я забыл. Я надеюсь, что Александр Иосифович всетаки внемлет нашим молитвам :), увидев в этой возможности большой потенциал. Хотя споры и обсуждения еще никто не отменял :)

Re: &unifor('S
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 05, August, 2004 10:28

Александ Иосифович, мы Вам привели уже 4 примера (как в сетевой версии, так и в вебе), где можно использовать функцию и это еще не предел воображения и изобретательности. А в каких случаях эта возможность будет использоваться - это можно оставить на откуп пытливым умам, поскольку вариантов превеликое множество, точно так же, как и вариантов применения языка форматирования.

Re: &unifor('S
Пользователь: Карауш (IP-адрес скрыт)
Дата: 05, August, 2004 10:43

А почему разговор идет ТОЛЬКО про электронную почту? Я же предлагал еще когда сделать запуск внешних программ. Какая разница sendmail там или ping? А вот запуск программ лучше делать на макрос-кнопках, где можно будет действия задавать и кол-во макрос-кнопок. И результат работы программы просто выводить в отдельное окно.

Причем макрос-кнопки будут работать именно как глобальная корректировка, которая будет для всех найденных записей проводить одну и ту же последовательность действий.

Re: &unifor('S
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 05, August, 2004 12:44

Честно говоря, я уже забыл про это Ваше предложение :)...а вообще, полностью согласен, если АИ не хочется возиться с почтой, то сделать запуск внешних приложений ОЧЕНЬ легко (как мне кажется :) ). Только возникает вопрос: как передавать информацию в приложение? Эту проблему тоже можно решить, записывая в буфер виндов данные, возвращаемые ФОРМАТОМ. Именно форматом, а не текущую запись. Поскольку форматом я могу вытащить не только текущую запись, а еще и связанные записи и вообще черта лысого.
по этому сейчас это вижу примерно так
exec('то, что в скобках - формат, возвращенные данные которого передаются в буфер')
при этом в формате должна быть возможность использовать условные операторы. А вообще, может как всегда, не формат, а @<имя_формата>

Re: &unifor('S
Пользователь: das (IP-адрес скрыт)
Дата: 06, August, 2004 08:45

Запуск внешних программ это просто замечательно было бы.
Но согласен с Максимом, что здесь сложности с передачей данных.
И мне кажется, что лучше сделать и запуск внешнего приложения и создание сообщения, тем более что в делфи отправка сообщения уже есть (впрочем как и запуск внешнего приложения ;-)).

Я тоже вижу это примерно так: sendmail('&To:address@mail.ru;address2@mail.ru&Cc:address3@mail.ru&bcc$subject:тема сообщения&text:текст сообщения&attach=FileName')

или так SendMail('Subject', 'Body /par Second' , 'BillGates@Microsoft.com',
['C:\Winnt\explorer.exe', 'C:\winnt\win.ini']);
Можно глянуть здесь:
[delphiworld.narod.ru]

На вопрос АИ:
- такое может применяться в формате ФЛК, скорее всего всей записи.
- в формате показа - сомневаюсь.
- ТВП переформатирования - да, например при экспорте, сообщить о новых поступлениях.

Re: &unifor('S
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 06, August, 2004 13:29

Не знаю, не знаю.... если функция запуска внешнего приложения будет реализована, то функция отправки сообщения не нужна. Написать программу для отправки емыла - 1час (вместе с отладкой :) ), тем более что даже линк на готовую функцию есть :)...
Проблему передачи данных решить можно: я вижу на настоящий момент 2 такие возможности.
1. описанный мною выше метод (более универсален)
2. передавать параметры в коммандную строку.
Никаких непреодолимых проблем я здесь не вижу.

ЗЫ. Хотя есть одна очень большая проблема: убедить Алксандра Иосифовича в необходимости этой функции :). Предлагаю сосредоточиться именно на этом и придумать как можно больше вариантов, в которых эта возможность пригодиться.



Отправка отредактированного (06-08-04 13:56)

г. Ярославль

Re: &unifor('S
Пользователь: Бродовский (IP-адрес скрыт)
Дата: 06, August, 2004 14:18

Иду навстречу пожеланиям трудящихся...
Сделал форматный выход
&unifor('+2........)
Все что после 2 - командная строка...
Пользуйтесь - положил новый FORMAT32.DLL на открытый FTP...
Чтобы почувствовать мягко говоря "надуманность" такого UNIFOR - попробуйте отлаживать в GENPFT формат, который содержит такой UNIFOR...

Re: &unifor('S
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 06, August, 2004 15:40

По поводу отладки такого юнифора в редакторе - это Вы правильно подметили. Я еще не попробовал, но уже представляю, что будет :)...
В этом случае только один выход - отключать расформатирование на лету...

Re: &unifor('S
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 06, August, 2004 16:40

Все работает как часы...уже пишу программу для отправки почты :)...завтра, если получится, доделаю.

ЗЫ. А вот данный линк не работает :(. Может я просто пользоваться не умею, но лучше я буду пользовать ВЦЛ. Как сделаю, скажу. Следите, как говориться, за новостями :)

Re: &unifor('S
Пользователь: das (IP-адрес скрыт)
Дата: 10, August, 2004 12:04

Качнул с интернета sendmail. и заработало.
Но если Максим напишет свое, то его программа наверняка будет работать лучше.
Будет интересно посмотреть.
Потому что с sendmail возникли проблемы - при отправке сообщений , если отправлять через задание параметров в командной строке, в тексте самого сообщения нарушается кодировка. Но это можно обойти.

Очень нужный unifor - СПАСИБО.

Re: &unifor('S
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 10, August, 2004 12:28

Тему открыл :)...Что самое прикольное,у меня те же самые проблемы, только вот сорсы есть, в отличие от скаченной программы :)... Давайте уже обсуждать тему здесь
[irbis.gpntb.ru]



Отправка отредактированного (10-08-04 16:12)

г. Ярославль

Re: &unifor('S
Пользователь: Соколинский К.Е.(СЗТУ) (IP-адрес скрыт)
Дата: 05, November, 2004 17:02

Бродовский писал(а):

> Да, это так - никак не доходят руки исправить...
> Но надо помнить - &unifor('S... изжил себя, сейчас лучше
> пользоваться &unifor('+1... - глобальные переменные

Уточните пожалуйста, каким образом следует использовать &unifor('+1 в качестве счётчика. Пока я нашел только один способ: &unifor('+1W310#',f(rsum(&unifor('+1R310'),'+1'),0,0)).


Re: &unifor('S
Пользователь: Анонимный пользователь (IP-адрес скрыт)
Дата: 16, September, 2005 13:55

Все-таки все примеры, которые здесь приводились, касались только
рассылки сообщений (текстов) или библиографических записей (причем для последнего вроде бы есть Relication).
Поэтому так и не ясно, нужна ли команда для запуска собственно внешних приложений. Причем это неясность имеет концептуальный характер - нужно ли вообще иметь "суперприложение-все-в-одном", а если да, то зачем?
Пример Бакстона, Хопкинсона и Карауша, по-моему, не очень удачен:
Команда для старта других программ, например:
link (('Display image with Paintbrush'), 'CMD pbrush ',v100)

- ведь ИРБИС может показывать любые внешние объекты, в том числе изображения в любых форматах.

Другое дело (скажу еще раз) — написание программных интерфейсов
взаимодействия с другими приложениями (в том числе макросов), по
примеру того, как обстоит дело в отношении Word'a.




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