Ifnil

Тема в разделе "Решение различных задач по парсингу", создана пользователем Love-world, 16 окт 2013.

  1. Love-world

    Love-world Member Пользователи

    Регистрация:
    19 июл 2013
    Сообщения:
    102
    Собственно вопрос, при выполнении внутри макроса ifnil, макроса replace, ifnil не выполняет своей функции. Можно конечно выполнить replace вне макроса ifnil, но тогда он будет распространен на все условия.
    Т.е. вот как я делаю
    [IFNIL][REPLACE(тырыпыры|)]<CD_CYCLE_GRAN_5!>[/REPLACE][ELSE]<CD_CYCLE_GRAN_1!>[/IFNIL]
    при такой расстановке, ifnil считает <CD_CYCLE_GRAN_5!> заполненной, и хотя выводит ее, даже когда она пустая. Напомню, что тырыпыры не должно распространяться на <CD_CYCLE_GRAN_1!>, как быть?
     
    Последнее редактирование: 16 окт 2013
  2. nikolas1612

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

    Регистрация:
    27 ноя 2011
    Сообщения:
    439
    использовать замену которая выполняется не после IFNIL а до него
    таковой, к примеру, явялется FIRST_REPLACE

    в случае с REPLACE -
    IFNIL на этапе срабатывания видит внутри себя обозначение несработавшего (пока еще) макроса замены, и соотв. считает что это часть границы. все логично.
    текущая версия программы в режиме предпросмотра внизу показывает блок отладки - т.е. ВСЕ изменения кода и всю последовательность его преобразований. там все видно - что идет первым, что вторым и т.д., так что не надо гадать.
     
    Последнее редактирование: 16 окт 2013
  3. Love-world

    Love-world Member Пользователи

    Регистрация:
    19 июл 2013
    Сообщения:
    102
    Я пробовал firstreplace, тоже не работает. Вопрос в том, что мне нужно удалять ссылку на первую картинку. т.е. к примеру в списке: картинка1.jpg, картинка2.jpg, картинка3.jpg
    Я обрезаю первую {skip}.jpg,
    first replace сам по себе не обрежет, потому как загрузка изображений на диск идет после него, но до replace, а replace как вы сказали, с ifnil не подружатся.
     
    Последнее редактирование: 16 окт 2013
  4. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Спасибо за обращение, программу доработал. Теперь IFNIL выполняется после REPLACE. Если не хотите ждать официального выхода обновления, обратитесь в Skype smarbyte_support!
    С уважением к вам, Сергей.
     
  5. Love-world

    Love-world Member Пользователи

    Регистрация:
    19 июл 2013
    Сообщения:
    102
    Сергей, спасибо вам большое. Подожду официальное обновление, будет повод отдохнуть = ). Спасибо за отзывчивость. Больше добра, больше таких, как Сергей!
     
  6. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Спасибо на добром слове! Очень ценю!
    Рад помочь при возможности. Обращайтесь.
     
  7. Love-world

    Love-world Member Пользователи

    Регистрация:
    19 июл 2013
    Сообщения:
    102
    Скажу даже больше, (хотел отредактировать предыдущее свое сообщение, но как раз упал интернет = )), это уже не первая моя просьба, которую Сергей охотно вводит в программу, за что ему отдельная благодарность. Тема, как следствие закрыта, а я пошел учить пдд = )
     

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