Индикатор выполнения при записи текста в выходной файл - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть программа, которая извлекает данные из представления таблицы данных и затем экспортирует их в CSV-файл. Я хочу иметь возможность добавлять индикатор выполнения при записи текста в выходной файл. Пока я не хочу использовать таймер, так как он не очень точный.

Вот мой код, чтобы записать его в текстовый файл:

Dim writer As TextWriter = New StreamWriter(OutputFile)


        writer.WriteLine("   ")
        For i As Integer = 0 To DataGridView1.Rows.Count - 2 Step +1

            For j As Integer = 0 To DataGridView1.Columns.Count - 1 Step +1

                writer.Write(vbTab & DataGridView1.Rows(i).Cells(j).Value.ToString() & vbTab)

            Next




        Next
        writer.Close()


        MsgBox( " file has been created")

Любая помощь с индикатором будет оценена. Спасибо

1 Ответ

0 голосов
/ 27 апреля 2020

Вы можете установить максимум ProgressBar и затем увеличить его текущее значение. Я надеюсь, что это отвечает на ваш вопрос. (Примечание: вам не нужно добавлять «Шаг + 1». Для приращения циклов по умолчанию установлено значение 1)

Dim writer As TextWriter = New StreamWriter(OutputFile)

ProgressBar1.Maximum = DataGridView1.Rows.Count * DataGridView1.Columns.Count
Dim progress As Integer = 0

writer.WriteLine("   ")
For i As Integer = 0 To DataGridView1.Rows.Count - 2

   For j As Integer = 0 To DataGridView1.Columns.Count - 1

       writer.Write(vbTab & DataGridView1.Rows(i).Cells(j).Value.ToString() & vbTab)
       ProgressBar1.Value = progress
       progress += 1

    Next
Next

writer.Close()

MsgBox("file has been created")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...