Re: Разбить заглавие на несколько маленьких
Пользователь:
Gena (IP-адрес скрыт)
Дата: 21, October, 2011 13:04
У вас получилось? Я себе написал свою функцию Сплит для других задач и спокойно разделил строку по определенному символу. Вот работающий пример, реализующий похожую с вашей здачу.
&uf('+7'),
&uf('+7w1#'&uf('+8test_dll,Split_D,<,>'&uf('av1909^h#1'))),
&uf('+7w2#'(if p(g1) then &uf('g0('g1) fi/),)
&unifor('U'(|, |+g2))
У меня была задача убрать в 909 поле данные, введеные в скобках за номерами полученной периодики. Изначально там был текст, похожий на:
1-3,4(15 янв.),5(17 янв),...256(29 дек.)
Как это работает:
1. очищаем все глобальные переменные
2. в глобальную переменную 1 записываем результат расформатирования поля 1909^H функцией Split_D. У нее следующий синтаксис: разделитль передается вместе со строкой, но отделяется от нее знаками <>, за которыми следует сам текст, которыйы надо делить. разделитель может быть как одним символом, так и словом или даже предложением.
3. прохожусь по всем повторениям поля 1, урезаю все начиная со знака ( и записываю в глобальную переменную 2
4. использую &unifor('U' для создания куммулированной строчки.
В итоге я получил строку 1-256, чего и хотел
Вам по идеи надо нечто аналогичное. можете использовать мою длл, можете попробовать с той, что сделал Максим, все вполне решаемо.
Редактировано 1 раз. Последний раз 21.10.2011 13:06 пользователем Gena.
Вложения:
test_dll.dll (540KB)