Сомнение в отношении базы данных

Moved Поддержка
  • Привет всем!

    Я работаю с условиями, и я не могу двигаться вперед. Кто-нибудь знает, как это решить?

    1. Программа извлекает URLS и DATA и сохраняет их в базе данных программы (я не использую группы).

    В результате получается следующее:

    URL DATA
    https: blablabla dato 1
    https: данные bububu 2
    https: sisisis data 3

    1. Затем я использую параметр «выбирать записи по критериям», и я выбираю данные из таблицы.

    2. Создайте список с данными в таблице (list1)

    3. Программа должна посетить страницы 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 только на вид простой. И вроде создавался для упрощения. запороть там проще. Хотя с большими списками он радикально лучше, мне кажется.

  • Ты невероятный, он сработал. Я не знаю, как его поблагодарить ... Большое спасибо

  • @cacats )) Благодарите не меня. У меня были хорошие учителя. @ruzne @Fox @artihorror и многие многие. А я люблю читать.

  • @allive уй, приятно видеть свой ник в хорошем контексте)

  • @cacats @allive можно поступить еще проще

    можно использовать конструкцию намного проще.
    0_1540751240919_0fa426ff-09d1-49c6-b40e-3d94ffff8d11-image.png

  • @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 можно поступить еще проще

    можно использовать конструкцию намного проще.
    0_1540751240919_0fa426ff-09d1-49c6-b40e-3d94ffff8d11-image.png

    Логика интересная, но есть пара нюансов:

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