Как создать ресурс с именем из переменной?



  • Здравствуйте, может кто подскажет как создать ресурс с названием которое содержится в переменной, просто вставка переменной в поле название ресурса не работает.
    Ещё потом как то нужно потом использовать этот ресурс, название которого будет в переменной.



  • @gr-al-ni никак


  • administrators

    @gr-al-ni Ты лучше опиши ситуацию, скорее всего есть другой способ решить задачу.



  • @fox Думаю придётся копать в сторону бд но я ещё с ними не разбирался.
    А ситуация такая, есть папка со списками, запускается скрипт в несколько потоков, и на 10-100 списков будет несколько десятков потоков которые будут брать строки из этих списков, получается если 2 а может больше разных потока будут одновременно брать строку из текст. файла путём прочтения в список, удаления а потом опять сохранения в файл теоретически они могу взять одну и ту же строку а это печально, хотелось бы этого как то избежать.



  • @gr-al-ni А если использовать ресурс? И одновременное использование только 1?



  • @allive Это было бы слишком просто) для беспалевности, скрипт использует одновременно несколько списков, ещё к каждому профилю привязывается свой список.



  • @gr-al-ni Ну все списки в ресурсы. Если они в одной папке то папку в ресурс.



  • @gr-al-ni said in Как создать ресурс с именем из переменной?:

    Здравствуйте, может кто подскажет как создать ресурс с названием которое содержится в переменной, просто вставка переменной в поле название ресурса не работает.
    Ещё потом как то нужно потом использовать этот ресурс, название которого будет в переменной.

    Можно, но для этого нужно будет пользоваться кодом.
    Создание ресурса

    VAR_RESOURCE_NAME = "test"
    RCreate(VAR_RESOURCE_NAME, 1, 2, 3, 5000, false, false)
    /*
    1 - Успехи, 2 - неудачи, 3 - одновременные использования
    5000 - задержка между использованием
    false(1) - Жадный алгоритм(true что бы включить)
    false(2) - Ждать ресурс(true что бы ждать)
    */
    

    Добавление строки в ресурс

    RInsert(VAR_RESOURCE_NAME,"строка",false)
    /*false - только обновить файл - (должно быть true что бы только добавить в файл, без добавления в ресурс, вам подойдет текущий вариант)*/
    

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

    RS(VAR_RESOURCE_NAME, false, false)!
    VAR_RESORSE_STRING = _result().get()
    /*
    false(1) - повторное использование (поставить true что бы каждый раз брать новую строку)
    false(2) - Прекращать работу после ошибки (поставить true что бы скрипт не останавливался, а просто выдавал ошибку при окончании ресурса
    */
    


  • @drprime Это действительно работает! А есть код добавления в ресурс не строки а списка?



  • @gr-al-ni в цикле просто делаете это



  • @drprime То есть просто внутри Foreach брать элемент из списка и добавлять через выполнить код в ресурс?



  • @drprime Спасибо за помощь, вроде бы разобрался