Tehnika Krstarice > Programiranje > Visual Basic - Prikaz progresa procesa

Visual Basic - Prikaz progresa procesa

06.01.2001.

Uvek kada korisnik čeka na završetak nekog procesa unutar vaše aplikacije, dajte mu do znanja koliko treba da čeka. Kao primer navešćemo proces kopiranja fajlova i to tako da kopiramo jedan binarni fajl, i preko "Progress bar"-a ćemo ga obaveštavati o proteklom vremenu kopiranja. Ceo programski kod ćemo smestiti u proceduru "KopiranjeFajla":

Public Sub KopiranjeFajla(IzvorniFajlNaziv As String,_
CiljniFajlNaziv As String, ProgressGauge As Control)
Dim I As Integer
Dim IzvorniFajlBr As Integer
Dim CiljniFajlBr As Integer
Dim IzvorniFajlVelicina As Long
Dim CopyBuffer As String

On Error GoTo KopiranjeFajlaGreska

IzvorniFajlVelicina = FileLen(IzvorniFajlNaziv)
CopyBuffer = Space$(60000) 'maksimalno 65000
'brisanje ciljnog fajla ako postoji
If Len(Dir$(CiljniFajlNaziv)) Then
   Kill CiljniFajlNaziv
End If
'otvaranje fajlova
IzvorniFajlBr = FreeFile
Open IzvorniFajlNaziv For Binary Access Read As IzvorniFajlBr
CiljniFajlBr = FreeFile
Open CiljniFajlNaziv For Binary Access Write As CiljniFajlBr
'kopiranje izvornog u ciljni fajl
For I = 1 To IzvorniFajlVelicina \ Len(CopyBuffer)
   Get #IzvorniFajlBr, , CopyBuffer
   ProgressGauge.Value = I * Len(CopyBuffer) / IzvorniFajlVelicina * 100
   Put #CiljniFajlBr, , CopyBuffer
   DoEvents
Next I

CopyBuffer = Space$(IzvorniFajlVelicina - Loc(CiljniFajlNaziv))
If Len(CopyBuffer) Then
   Get #IzvorniFajlBr, , CopyBuffer
   Put #CiljniFajlBr, , CopyBuffer
End If
'zatavaranje fajlova
Close IzvorniFajlBr
Close CiljniFajlBr

Exit Sub
KopiranjeFajlaGreska:
   MsgBox Error$
   Exit Sub
End Sub

Preporučite ovaj članak

Članak još uvek nije ocenjen.