Удалить текущий элемент

Поддержка
  • @kain Больше информации. У тебя так получается и ты хочешь это исправить? Тогда хотя бы тестовый проект скинь.

  • Да. Так получается и хочу исправить. Сейчас в лс кину проект.

  • Да, странно всё это. Вообщем вот проект. Вот файл.
    Есть ресурс, который доступен только для чтения. Из него берутся строки, по условию именно в этом проекте, каждая третья. И на каждую третью срабатывает экшен удалить текущую запись. Этот экшен удаляет не только текущую, но и все предыдущие..

    Можно добавить запись в ресурсе и добавить количество успешных выполнений, но в многопотоке будут дублироваться используемые строки.

  • @Fox @kain
    Удалить элемент удаляет все одинаковые строки, а в файле много одинаковых строк.
    Кроме того проект работает в 3 потока, значит каждый из них будет конкурировать за ресурс.

  • @support он удаляет все строки выше той на которой происходит действие удаление. И тестировали в 1 потоке.

  • @kain
    Для этого файла, да.

    Удалить элемент удаляет все одинаковые строки, а в файле много одинаковых строк.

  • @support а как сделать что бы он удалял только текущую строку из файла?

  • Апну тему, т.к. проблема все еще есть в предпоследний версии BAS. Есть какое-то решение? (Удаляется не только текущий элемент, но и все над ним)
    При этом одинаковых строк нет, все разные

  • @WildBee said in Удалить текущий элемент:

    Апну тему, т.к. проблема все еще есть в предпоследний версии BAS. Есть какое-то решение? (Удаляется не только текущий элемент, но и все над ним)
    При этом одинаковых строк нет, все разные

    Я уже описывал это поведение:

    https://community.bablosoft.com/topic/7811/странно-работает-удалить-текущий-элемент/6

  • @Fox Фокс , ты там описал ситуацию где нет повторяющихся строк в ресурсе, увеличение "успешных выполнений" не решает проблему если в ресурсу повторяются значения
    123123123
    123123123
    123123123
    Если сделать цикл из двух итераций, где врать из ресурса значение в переменную и после удалять текущий элемент, то удаляться все три строки. И это БАГ, который до сих пор не исправили

  • @val2020 said in Удалить текущий элемент:

    @Fox Фокс , ты там описал ситуацию где нет повторяющихся строк в ресурсе, увеличение "успешных выполнений" не решает проблему если в ресурсу повторяются значения
    123123123
    123123123
    123123123
    Если сделать цикл из двух итераций, где врать из ресурса значение в переменную и после удалять текущий элемент, то удаляться все три строки. И это БАГ, который до сих пор не исправили

    Одинаковые строки в ресурсе из файла BAS удаляет

  • @Fox Ну так надо чтото с этим сделать, нет возможности обойти этот костыль в скрипте и приходится делать дубли, и очень хочется чтобы BAS удалял строку которую использовал а не все по "значению"

  • @val2020 said in Удалить текущий элемент:

    @Fox Ну так надо чтото с этим сделать, нет возможности обойти этот костыль в скрипте и приходится делать дубли

    Например?

    очень хочется чтобы BAS удалял строку которую использовал а не все по "значению"

    Ок

  • @Fox Не могу сюда выложить к сожалению, скрипт используется в транзакциях и уже протестирован, каждый тест стоит денег, нет уже возможности переделать ресурс и протестировать, дорого) а надо -то всего удалять строку которая использовалась )

  • @val2020 said in Удалить текущий элемент:

    @Fox Не могу сюда выложить к сожалению, скрипт используется в транзакциях и уже протестирован, каждый тест стоит денег, нет уже возможности переделать ресурс и протестировать, дорого) а надо -то всего удалять строку которая использовалась )

    Я не прошу выкладывать скрипт, вы можете всего лишь описать ситуацию, когда без дублирования строк в ресурсе не обойтись

  • @val2020 а не можете использовать базу данных или альтернативные/кастомные средства где будет больше возможностей для управления/настройки?

  • @Fox said in Удалить текущий элемент:

    Я не прошу выкладывать скрипт, вы можете всего лишь описать ситуацию, когда без дублирования строк в ресурсе не обойтись

    Таких ситуаций полно!

    Самая простая - допустим те же пф

    Есть список ключевых слов. Но на одни надо чаще, на другие реже заходить. Тупо делаем дубли 10 раз тех что надо чаще и мешаем строки.

    Казалось бы ресурс готов. Но при удалении использованной строки, удаляются и все наши дубли ...

    И вот таких вариантов куча может быть.

  • @kingsize said in Удалить текущий элемент:

    Есть список ключевых слов. Но на одни надо чаще, на другие реже заходить. Тупо делаем дубли 10 раз тех что надо чаще и мешаем строки.

    почему бы не использовать для этого списки?

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

  • @tet-vivi придумать всегда можно что-то. Смысл в том что удалить текущий элемент логично предполагает, что это текущий, а не все следующие и предшествующие, похожие на него ...
    На этом многие грабли наломали, я по началу полгода не замечал, что все идет не по плану ...