@BAS-Viet-Nam не смотря на то, что это не то что я хотел (а именно чтобы кнопка просто была кликабельна, как было у меня в другом софте), но это всё же ПРИЕМЛЕМОЕ РЕШЕНИЕ. Я игрался со ссылками, но они не передавали реф код, и из-за заблокированного окна я не додумался расковырять кнопку чтобы найти нужную ссылку. Теперь благодаря вашей подсказке я нашёл работающую ссылку, осталось прописать регулярное выражение, чтобы подставлялись нужные данные, это уже в моих силах, и я могу спокойно дальше работать, спасибо. Нужно было сразу писать на форум, а не тратить большую часть дня на ресерч в интернете и бесполезные попытки отключить всплывающее окно.
Проверить существование в ресурсе, удаление по значению
-
-
@BabloUser Можешь просто прочитать файл частями в цикле и проверять на наличие в нём нужной строки. Но любом случае текстовый файл на 10 гигов будет очень медленно работать. Лучше перевести в базу.
-
@DrPrime Добавлю строку к этому коду:
var lines = RMap("lines") var index = lines.indexOf("account1") if(index >= 0) log("Строка существует") else log("Строка не существует")@BabloUser Даже если использовать как ресурс текстовик в 10 гигов, сам BAS будет жесть как долго запускаться, так как он сперва этот файл прочтёт весь.
-
@BabloUser Нет, создаёшь ресурс из файла

А затем в "выполнить код" указываешь имя этого ресурса -
var lines = RMap("lines") var index = lines.indexOf("account1") if(index >= 0) log("Строка существует") else log("Строка не существует")сделал тест, список с 10 строками отработал нормально Строка существует
загрузил список 300 мб, 3 ляма строк, пишет Строка не существует -
@BabloUser indexOf() чувствителен к регистру. Плюс ограничение вроде на ресурсы было в 10 000 строк. Проявлялось при использовании базы, думаю здесь тоже проявилось.
-
@fox не это точно не регистр все строки с маленьких букв, скорое всего ограничение
ограничение я так понимаю обходить увеличением индекса в цикле
нужно придумать как после 10 к в глубину уходить
UPD
нет не 10 к список 400 к строк нормально сработал
можно в принципе на этом костыль замутить
нужно теперь через цикл второй раз запустить этот код но спуститься от 400 к строки чтобы он шерстил, есть мысли как можно реализовать?в цикле погонять по 400 к за один проход
блек листы огромные очень по 10 +к гигов эта фича нужна как воздух
в принцепе можно порезать листы по строкам и их в цикле теребить, но может есть решение покрасивее... -
@BabloUser Забудь ты нафиг эти костыли, закидывай в базу. Весить будет меньше и работать будет быстрее. Как ни как базы для этого и придумывали.
-
@support said in Проверить существование в ресурсе, удаление по значению:
@fox Исправил. Постараюсь побыстрее добавить новое апи в интерфейс и сделать описание всех действий из модуля "Ресурсы"
Версия BAS 21.0.1, работают все методы, кроме set(index, value). Ресурс в BAS'e меняет значение, но файл остаётся неизменным.
-
@fox said in Проверить существование в ресурсе, удаление по значению:
@support said in Проверить существование в ресурсе, удаление по значению:
@fox Исправил. Постараюсь побыстрее добавить новое апи в интерфейс и сделать описание всех действий из модуля "Ресурсы"
Версия BAS 21.0.1, работают все методы, кроме set(index, value). Ресурс в BAS'e меняет значение, но файл остаётся неизменным.
Официальный ответ, на случай если кто то будет работать с методом set(index, value)
Метод sync работает только с добавлением/удалением строк. Используйте действие "Ресурс В Список" и "Записать Список В Файл" вместо test.syncЯ проверил, действительно, изменённый методом set(index, value) ресурс помещается в список с изменениями и этот список можно записать в файл. Немного костыльно как по мне, но работает.