@Int64 Репу не могу поднять. Сорян.
Снимок экрана 2026-04-08 142758.jpg
Счётчик
-
@Tacker-Donovan, использовать js обект
@GhostZ said in Переменные в имени переменных:Ну и если нужно название из переменной то можно использовать js объекты.
VAR_OBJ = {}; VAR_TEST = "file"; VAR_OBJ[VAR_TEST] = "test1"; VAR_TEST = "folder"; VAR_OBJ[VAR_TEST] = "test2"; VAR_OBJ.file или VAR_OBJ["file"] или VAR_OBJ[VAR_TEST] (где VAR_TEST равна "file") //"test1" VAR_OBJ.folder //"test2" -
@Tacker-Donovan said in Счётчик:
@smeckoi77 said in Счётчик:
@Tacker-Donovan Выцеплять нужную строку перебором через цикл
А каким образом её выцепить, если она будет вида "prodavec001;1" (запрос частичного совпадения через js?)? Как её проапдейтить при следующей ставке, чтобы стало "prodavec001;2"?
Парсить на две переменные
-
eb_seller.xml
ebay_sellerlog.txt (должен содержать хотя бы одну строку, иначе скрипт виснет)Посмотрите тестовый скрипт кому интересно. Он собирает имена продавцов и пишет в файл, но суммировать не умеет (точнее не корректно это делает). Если в ресурсе задать обновление файла, то скрипт зацикливается.
Принцип работы:
- открывает список поиска, и начинает цикл
- заходит в каждую строку, подходящую под условие
- читает имя продавца
- парсит файл и сравнивает имена (спарсенная строка удаляется)
- при совпадении имени увеличивает счётчик, записывает в файл, сбрасывает счётчик на 0, идёт на след. круг цикла
- при несовпадении пишет в файл со счётчиком = 1 (т.е. записывает то, что спарсил, т.к. строка уже удалена и её нельзя потерять), сбрасывает счётчик на 0 и продолжает парсить
- при исчерпании ресурсов в файле записывает текущего продавца со счётчиком = 1 (т.е. вносит нового продавца, которого в списке ещё не было)
Из-за того, что скрипт не читает внесённые им же изменения, то новозаписанный продавец не суммируется при следующем совпадении, а пишется дублем ниже. Если разрешить скрипту видеть свои изменения (вкл. обновление файла), то он зацикливается на этапе сравнения, т.к. он записывает в файл новую строку и следующим этапом проверяет её (а этого делать не надо, т.к. строка уже проверена)
Если есть мысли как поправить или допилить прошу поделиться.
-
@Tacker-Donovan, почему вы не хотите сделать через js обект?
Вот пример obj_test.xml, с начала устанавливаются значения, а потом увеличиваются.

-
@Tacker-Donovan, в вашем скрипте это выглядело бы примерно так
//Устанавливаете переменную [[SELLERS_COUNTER]] = {} //Используете переменную, в переменной SELLER ник продавца if([[SELLERS_COUNTER]][VAR_SELLER]){ [[SELLERS_COUNTER]][VAR_SELLER] += 1 //Увеличиваем счетчик }else{ [[SELLERS_COUNTER]][VAR_SELLER] = 1 //Устанавливаем счетчик } -
@GhostZ да я не против использовать, но для этого нужно понимать js. Сначала пробую штатные средства, вот зашёл в тупик, спросил. А с js даже не знаю куда чего, вот буду с вашим тестовым скриптом ща колдовать.
Опять же есть нужда извлечь данные из файла и загнать туда же потом, чтобы сохранить эти счётчики, как можно реализовать это? Считывать весь файл, парсить и загонять кодом в переменные а в конце массово сохранять текущие значения? А если цикл бесконечный?
-
@smeckoi77 said in Счётчик:
@Tacker-Donovan Выцеплять нужную строку перебором через цикл
Так и есть "Foreach"
-
@Tacker-Donovan, сохраняете в файл предварительно переведя объект в строку
[[SELLERS_COUNTER_STR]] = JSON.stringify([[SELLERS_COUNTER]]), а после извлечения из файла обратно переводите в объект[[SELLERS_COUNTER]] = JSON.parse([[SELLERS_COUNTER_STR]]) -
@Tacker-Donovan, сохраняете в файл предварительно переведя объект в строку
[[SELLERS_COUNTER_STR]] = JSON.stringify([[SELLERS_COUNTER]]), а после извлечения из файла обратно переводите в объект[[SELLERS_COUNTER]] = JSON.parse([[SELLERS_COUNTER_STR]])слишком сложно пока :(
В общем будет ли js в моём случае полезнее, чем штатный функционал? Пока что я понял, что только js может создать переменные с динамическими именами. Не понял как их считать из файла и записать на то же место, чтобы скрипт успешно их перебирал. -
@Tacker-Donovan, js это штатный функционал, да и многие действия являются обертками для js функций.
-
-
-
Worker.exe
Moved Поддержка -
-