CopyProgressBar




Const BufferSize As Long=32000 'Esempio di buffer
Dim lFileSize As Long
Dim iFileIN As Integer
Dim iFileOUT As Integer
Dim chBuffer(1 To BufferSize) As Byte
Dim lLastBuffer As Long
Dim chLastBuffer() As Byte

'Apre il file di input

iFileIN = FreeFile
Open "INFile.TXT" For Binary Access Read _
Lock Read Write As #iFileIN

'Crea il nuovo file prima di scriverlo

iFileOUT = FreeFile
Open "OutFile.TXT" For Output Access Write _
Lock Read Write As #iFileOUT
Close #iFileOUT

iFileOUT = FreeFile
Open "OutFile.TXT" For Binary Access Write _
Lock Read Write As #iFileOUT

'Progressbar

Progressbar.Min = 0
Progressbar.Max = 100
ProgressBar.Value = 0
ProgressBar.Visible=True

'Ciclo di lettura/scrittura

lFileSize = LOF(iFileIN)
Do Until EOF(iFileIN)

lLastBuffer = lFileSize - Seek(iFileIN) + 1

If lLastBuffer < BufferSize Then
ReDim chLastBuffer(1 To lLastBuffer)
'Leggo buffersize byte alla volta

Get #iFileIN, , chLastBuffer

'E li riscrivo

Put #iFileOUT,, chLastBuffer

Else
'Leggo buffersize byte alla volta

Get #iFileIN, , chBuffer

'E li riscrivo

Put #iFileOUT,, chBuffer
End If

'Avanza la progressbar

If Progressbar.Value < 100 Then
ProgressBar.Value = INT(ProgressBar.Value + (100 /
Seek(iFileIN)))
End If
Loop

Close #iFileIN, #iFileOUT

ProgressBar.Visible=False










( copyprogressbar.html )- by Paolo Puglisi - Modifica del 17/12/2023