DOCSNAMES_

Тема в разделе "Решение различных задач по парсингу", создана пользователем tax, 9 ноя 2013.

  1. tax

    tax New Member Пользователи

    Регистрация:
    18 дек 2012
    Сообщения:
    15
    Город:
    Москва
    Поддерживает ли DOCSNAMES_ "GETMORECONTENT" или как получить имя файла/папки с другой страницы?
     
  2. nikolas1612

    nikolas1612 Member Пользователи

    Регистрация:
    27 ноя 2011
    Сообщения:
    439
    вопрос задан некорректно. это два отдельных макроса, они не должны "поддерживать" друг друга.
    все зависит только от очередности их срабатывания.

    getmorecontent срабатывает намного раньше, docsnames - в самом конце. противоречий нет, указанная вами схема будет работать.

    p.s. хотя бы раз воспользуйтесь режимом отладки при предпросмотре - и посмотрите все, что происходит с документом, пошагово, от его загрузки в программу, до вывода итогового результата. после этого подобные вопросы отпадут сами собой. там же увидите и очередность срабатывания функций.
     
    Последнее редактирование: 9 ноя 2013
  3. tax

    tax New Member Пользователи

    Регистрация:
    18 дек 2012
    Сообщения:
    15
    Город:
    Москва
    Я имел ввиду такую конструкцию DOCSNAMES_<GETMORECONTENT><URL="http://primer.ru"><START=""><STARTCOUNT="0"><END=""><ENDCOUNT="0"><PARAMS="htmtotxt"></GETMORECONTENT>\text.txt

    Тогда как можно получить название файла/папки с другой страницы от текущей?
     
    Последнее редактирование: 9 ноя 2013
  4. nikolas1612

    nikolas1612 Member Пользователи

    Регистрация:
    27 ноя 2011
    Сообщения:
    439
    я ж сказал - указанная вами конструкция должна нормально работать. именно так и надо делать, как вы написали. просто слово "поддерживать" может означать то, что вы не совсем понимаете суть работы макросов. макрос в СД - это определенная последовательность служебных символов, которая в назначеннный ей момент превращается в нечто другое.

    1. макрос getmorecontent превращается в ту часть теста, которую он извлекает. после этого срабатывает макрос docsnames - который работает с ней как с обычным текстом. т.е., повторюсь, имеет значение только последовательность срабатывания функций.

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

    2. если бы все было наоборот - и первым сработал бы docsnames - то он бы "увидел" в качестве сырья для обработки и формирования имени файла не текст, полученный через getmorecontent - а саму последовательность служебных символов, которая к этому моменту еще не сработала. в результате все ваши документы получили бы интересное название (или промежуточную папку) типа
    getmorecontentURL.........\text.txt

    как-то так. надеюсь, понятно объяснил.
     
  5. tax

    tax New Member Пользователи

    Регистрация:
    18 дек 2012
    Сообщения:
    15
    Город:
    Москва
    Спасибо за подробное объяснение. Все работает.
     

Поделиться этой страницей