Все уже не надо,нашел.Спасибо
Сомнение в отношении базы данных
-
Привет всем!
Я работаю с условиями, и я не могу двигаться вперед. Кто-нибудь знает, как это решить?
- Программа извлекает URLS и DATA и сохраняет их в базе данных программы (я не использую группы).
В результате получается следующее:
URL DATA
https: blablabla dato 1
https: данные bububu 2
https: sisisis data 3-
Затем я использую параметр «выбирать записи по критериям», и я выбираю данные из таблицы.
-
Создайте список с данными в таблице (list1)
-
Программа должна посетить страницы google и посмотреть, соответствует ли URLS. Если они не совпадают, вы должны отправить сообщение владельцам URL-адреса.
Для этого я использовал функцию «текущий url». Затем функция «содержит», чтобы увидеть, существует ли URL-адрес в списке1
То есть, если вы введете «https: blablabla», вам не нужно ничего делать, потому что URL-адрес существует в базе данных. Но если вы введете «https: liashdfgliahsdglihadsfoaidshg», вам нужно отправить сообщение.
Проблема в том, что, согласно программе, URL-адреса никогда не совпадают. То есть, если я вхожу в «https: blablabla», он отправляет сообщение, даже если URL-адрес соответствует базе данных.
Как вы можете это решить?
Благодарю вас!
-
Думаю, я нашел проблему. Функция «содержит» работает с обычными списками, но она не работает со списками:
https://www.asgda.com/iahsdgflahsdf/":5bd388dae86e6fcf4632541cde4,"https://www.asdfa.com/khasdgfkjah/":5bd388f6e86e6fcf46e235623cde5,"https://www.adsfa.com/kuashyfbvkasjdfhagw/":5bd38933e86e6fcf46e3cde6,"https://www.asfdsa.com/kajsdhfbakjsdfhas":5bd48d4be86e6fcf46e3c3451de9
Вы знаете, как его решить?
-
@cacats парсить строку в инструментах, ну или списки там тоже есть аналогичный кубик, но более функциональный, можно самому выбрать разделитель. разделяем получаем элемент где там у вас эти url и вперед в функцию с полученным элементом уже только url
-
Хорошо, спасибо. Я собираюсь попробовать это, посмотреть, работает ли он
-
В конце концов, это не сработает ... Можете ли вы подумать о другом способе создания черного списка?
Я использовал это: if ([[RESOURCE_AS_LIST]]). IndexOf ("[[URL]]")> = 0
Большое спасибо за помощь
-
@cacats Здравствуйте. Если я правильно вас понимаю. вы просто получаете ресурс из базы и смотрите. Но ведь его надо разделить. [[RESOURCE_AS_LIST]], затем foreach, да список foreach взять элемент c индексом [[FOREACH_DATA]], парсить строку, получить элемент с индексом где находится url у вас минимум 2 элемента там описание и сама url. нам нужен элемент который с url и вот уже его мы сравниваем if ([[ВАШ ЭЛЕМЕНТ]]). IndexOf ("[[URL]]")> = 0
foreach c большими списками проще, а у вас база.. значит не 3-4 значения. в этом цикле он сам пройдет все.
З/ы можете не использовать foreach, но тогда обычный список нужно кол-во элементов и так далее. лишние переменные. foreach только на вид простой. И вроде создавался для упрощения. запороть там проще. Хотя с большими списками он радикально лучше, мне кажется. -
Ты невероятный, он сработал. Я не знаю, как его поблагодарить ... Большое спасибо
-
@artihorror Решение офигенное, но вот сможет ли его воплотить @cacats вопрос. Насколько я понимаю он не до конца еще освоил функционал баса. Кстати спасибо. Мб в Лайфхаки BAS я так понимаю подобных вопросов будет много. Ну не все в курсе про "фунциклер" базы в басе. Не все понимают что при умелом использовании MongoDB весьма большое подспорье. Но вот использовать ее нужно уметь. Иначе могут быть неприятности.
У @cacats я так понимаю не одна тысяча значений. И они идут потоком.
База это как ресурсы только круче))😁Забыл @artihorror Использовал api bas 😎😎😎 напрямую. Но это не всегда логично и маленькими объемами статикой и не надо. Тут важна динамика и непрерывность. И выигрыш в меньше действий ну просто меньше создать/удалить и главное это база... Как правильно парсить таблицу?
Первая идея которая приходит то генератор любой =) -
@allive said in Сомнение в отношении базы данных:
но вот сможет ли его воплотить @cacats
переписать код. заменить q на название своего ресурса, вместо 0 индекс для сравнения, перед иф вставить действие. все просто. ковыряться с форич и ресурс в список по моему труднее).
@allive said in Сомнение в отношении базы данных:
Использовал api bas 😎😎😎 напрямую. Но это не всегда логично
бас в любом случае работает через api баса. тут просто облегчение работы парсера и скоращение дествий. можно конечно же на кубиках это все натыкать, но зачем оно нужно?
@allive said in Сомнение в отношении базы данных:
ут важна динамика и непрерывность
и советуешь использовать статичный массив и дважду держать его в озу) а синхранизация динамично меняющегося листа это тот еще гемор как по мне. а потом эти изменения нужно еще и переписать в базу, а для этого держать еще и айди записи
-
@artihorror Согласен что мое через ж@пу. Но он сразу так спросил. Я сначала ответил.. развитите... ну и вот. К базе рано или поздно придут многие и вот тут начнутся вопросы. А почему бас завис???
-
@artihorror said in Сомнение в отношении базы данных:
@cacats @allive можно поступить еще проще
можно использовать конструкцию намного проще.

Логика интересная, но есть пара нюансов:
Метод length() начинает отсчёт с 0. Ресурс в цикле без notreuse не будет меняться, а с notreuse будет меняться значение метода length() при каждой итерации. Лучше использовать метод at([[CYCLE_INDEX]])