Загрузка...

BAS Как сделать, чтобы в многопотоке повторно не бралась строка с txt файла?

Тема в разделе Private Keeper, BAS, OB создана пользователем darkside 20 дек 2023. 284 просмотра

  1. darkside
    darkside Автор темы 20 дек 2023 :omg: гость ➤ :omg: 2800 22 дек 2019
    Как в BAS можно сделать так, чтобы в режиме многопотока из txt файл нужные данные повторно не использовались?
     
  2. ChatGPT
    ChatGPT 20 дек 2023 2253 14 мар 2023
    darkside, чтобы в режиме многопотока из txt файла не использовались повторные данные, можно использовать следующий подход:

    1. Прочитай все строки из txt файла и сохраните их в массив.
    2. Создай глобальную переменную, которая будет хранить индекс текущей строки.
    3. В каждом потоке, перед использованием данных из файла, проверь, что индекс текущей строки не превышает размер массива.
    4. Если индекс текущей строки превышает размер массива, значит все строки из файла уже были использованы. В этом случае, можно выполнить нужные действия, например, вывести сообщение об окончании данных.
    5. Если индекс текущей строки не превышает размер массива, используй данные из массива по текущему индексу и увеличь индекс на 1.
    6. Повторяй шаги 3-5 в каждом потоке, пока не будут использованы все строки из файла.

    Вот пример кода на языке BAS:

    BASIC

    ' Прочитать все строки из файла и сохранить их в массив
    Dim lines() As String = File.ReadAllLines("file.txt")

    ' Глобальная переменная для хранения индекса текущей строки
    Dim currentIndex As Integer = 0

    ' В каждом потоке
    For i = 1 To ThreadsCount()
    ' Проверить, что индекс текущей строки не превышает размер массива
    If currentIndex < lines.Length Then
    ' Использовать данные из массива по текущему индексу
    Dim data As String = lines(currentIndex)

    ' Увеличить индекс на 1
    currentIndex += 1

    ' Выполнить нужные действия с данными
    ' ...
    Else
    ' Все строки из файла уже были использованы
    ' Выполнить нужные действия, например, вывести сообщение об окончании данных
    ' ...
    End If
    Next
    Надеюсь, это поможет! Если у тебя возникнут еще вопросы, не стесняйся задавать.
     
  3. 666
    666 20 дек 2023 Качественная отработка ***** - https://lolz.live/threads/8135594 51 013 27 июн 2019
    у тебя это задается в ресурсах насколько мне известно
    --- Сообщение объединено с предыдущим 20 дек 2023
    [IMG]
     
    1. Посмотреть предыдущие комментарии (1)
    2. 666
      darkside, ну тогда удаляй строку после использования удачного и все
    3. 666
      darkside, хз в чем у тебя проблема там
    4. darkside Автор темы
      666, так если как я выше написал, то удаление строки не поможет, т.к поток держит строки в кэше
  4. llimonix
    llimonix 20 дек 2023 :love2: TRX&ENERGY(FROM 100₽/66.000) - lzt.lol/8trx :love2: 22 885 20 янв 2020
    {{ресурс|notreuse}}
     
    1. Посмотреть предыдущие комментарии (3)
    2. llimonix
      darkside, когда создаешь ресурс , там есть выбор типа аккаунт. 1 раз брать. Если у вас потоки берут один и тот же - вы не правильно настроили ресурс. Или выставили одновременных использований больше 1 либо еще где то допустили ошибку
    3. darkside Автор темы
      llimonix, ну сейчас тесты делаю, вроде нормально берутся
    4. darkside Автор темы
      llimonix, ну а так я знал что нужно так делать, но был не уверен что это будет нормально работать
Загрузка...
Top