Загрузка...

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

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

  1. darkside
    darkside Автор темы 20 дек 2023 :omg: гость ➤ :omg: 2805 22 дек 2019
    Как в BAS можно сделать так, чтобы в режиме многопотока из txt файл нужные данные повторно не использовались?
     
  2. ChatGPT
    ChatGPT 20 дек 2023 2250 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 52 284 27 июн 2019
    у тебя это задается в ресурсах насколько мне известно
    --- Сообщение объединено с предыдущим 20 дек 2023
    [IMG]
     
    1. Посмотреть предыдущие комментарии (1)
    2. 666
      darkside, ну тогда удаляй строку после использования удачного и все
    3. 666
      darkside, хз в чем у тебя проблема там
    4. darkside Автор темы
      666, так если как я выше написал, то удаление строки не поможет, т.к поток держит строки в кэше
  4. ллимоникс
    ллимоникс 20 дек 2023 lolz.live/threads/8634402/ - Лучшие телеграмм аккаунты :+rep: 23 975 20 янв 2020
    {{ресурс|notreuse}}
     
    1. FFyP
      darkside, тут твоё решение, других можешь не слушать
    2. darkside Автор темы
      FFyP, а оно нормально работает в многопотоке, вот главный вопрос
    3. Посмотреть следующие комментарии (3)
Top
Загрузка...