Парсить строку циклично



  • Здравствуйте! Помогите, пожалуйста.
    Такая ситуация. Написал скрипт с большим количеством действий, где много раз фигурирует переменная LINK и PRICE. Теперь нужно как-то сделать так, чтобы у меня был список с большим количеством LINK и PRICE, и BAS парсил бы его, вставив сначала LINK1 и PRICE1, отработав полностью весь скрипт, потом LINK 2 и PRICE2 и так далее. Но еще нужно, чтобы в конце он снова шел по списку. То есть 1,2,3... и снова брал первую ссылку и первую цену. Я не совсем понимаю, как это лучше всего сделать. Еще дело в том, что PRICE намного чаще встречается, чем LINK, соответственно, если каждый раз во время отработки скрипта будет браться следующий PRICE, то все собьется.
    Сначала, я так понимаю, сделать лучше всего .txt файл с LINK:PRICE. Это сделал, запарсил строку, разделив на две переменные, но дальше не совсем понимаю, что делать дальше. Если я сниму галочку с повторного использования, то оно же каждый раз будет использовать следующий и следующий PRICE.
    Надеюсь на вашу помощь!



  • @martin_w7 т.е. вы парсите на каждой итерации получая PRICE и иногда LINK?
    после этого этапа вы хотите обработать список этих пар PRICE-LINK?



  • Извините, не совсем понимаю вас.
    Попробую изъясниться проще. Есть .txt файл с LINK:PRICE (10 строк). Есть один большой скрипт, в котором несколько раз фигурирует переменная PRICE. Так вот, мне нужно, чтобы весь скрипт бралась первая строка (то есть во всех переменных было одно и то же значение). На втором повторении скрипта - вторая и т.д. А когда строки закончатся - пойти по кругу.



  • @martin_w7 что то вроде этого?
    bb586fa9-5017-43c3-8a24-87e3f4f51f9a-image.png



  • @martin_w7 said in Парсить строку циклично:

    Извините, не совсем понимаю вас.
    Попробую изъясниться проще. Есть .txt файл с LINK:PRICE (10 строк). Есть один большой скрипт, в котором несколько раз фигурирует переменная PRICE. Так вот, мне нужно, чтобы весь скрипт бралась первая строка (то есть во всех переменных было одно и то же значение). На втором повторении скрипта - вторая и т.д. А когда строки закончатся - пойти по кругу.

    Помещаем данные в файл. Создаем Ресурс из файла. В начале скрипта, до использования этих переменных:
    Инструменты => Парсить строку => LINK, PRICE (в качестве данных указываем созданный ресурс с отключением Повторного использования)



  • @tet-vivi спасибо большое за то, что показали наглядно! И прошу прощения, что сам задал вопрос и пропал на 4 дня, ничего не ответив, возникли непредвиденные обстоятельства. Увы, я совсем не опытный пользователь BAS и даже с действиями While и Foreach еще ни разу не работал, поэтому тяжело понимать, как правильно сделать то, что вы показали. Надеюсь, что ваше решение кому-то пригодится.
    Для себя пришел к решению, которое лежало на поверхности. Просто запихнул весь скрипт в функцию, так, что в проекте осталось всего 2 функции (логин на сайте и сам скрипт с загрузкой страниц и сменой цен на них), потом между этими функциями поставил метку AGAIN и действие Парсить строку LINK,PRICE с отключенным повторным использованием и жадным алгоритмом у ресурса. А в конце функции со скриптом поставил Перейти к метке AGAIN. В итоге теперь у меня бесконечный скрипт, который переходит по ссылке, меняет цену, потом берет другую ссылку и соответствующую цену и выполняет все то же самое. Как раз то, что мне и нужно было. Еще раз благодарю :)



  • @martin_w7 учтите на будущие, циклы и метки в бас плохо совместимы(точнее когда их пытаются использовать вместе то появляются проблемы)


Log in to reply