@kirill1997 [[VAR_STR]]
var lines = RMap("imap") var q = 0 for(var i = 0; i < lines.length(); i++){ if(lines.at(i).indexOf( [[VAR_STR]] ) > -1){ var q = 1 break } } if(q){ log(lines.at(i)) }else{ log("строка в ресурсе не найдена") }а в чем вопрос?
@FastSpace Удалить Текущий Элемент, затем меняешь как нужно данные и обратно отдаёшь через Добавить Элемент
без удаления целиком этого ресурса
Я спросил как сделать без "Удалить Текущий Элемент" и "Добавить Элемент"
Если используете ресурсы, то ни как.
В теории конечно можно получить путь до файла через экшен Расположение Ресурса, прочитать его в список, циклом пройтись в поисках нужной строки, заменить в списке эту строку и сохранить по новой сам файл. А затем перезагрузить ресурс через выполнить код Reload("resurs"). Но это трындец костыль и в многопотоке будут сплошные баги.
@FastSpace Ещё вариант костыльный. Ресурс В Список, циклом находим и меняем нужное значение, а потом сохраняем список в файл, имя файла - значение экшена Расположение Ресурса и перезагружаешь ресурс.
@FastSpace Если заменить нужно единожды, то проще не использовать ресурсы вообще.
@FastSpace Можешь создать два ресурса, так будет быстрее, один читает изначальный файл, второй сохраняет нужный результат. Можно даже использовать в многопотоке. Парсишь прокси, заменяешь на нужное и добавляешь строку в новый ресурс.
Либо без них совсем, читаешь файл в список, в цикле проходишь по всем строкам, заменяешь нужные данные и сохраняешь список в файл.
С двумя ресурсами всё отлично, в 50 потоков за 7 секунд заменил 143 строки!!!!!!!
Как то медленно, но раз единожды то пойдёт :D
Да, благодарят здесь кнопочкой 