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 StringOn 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 ICopyBuffer = Space$(IzvorniFajlVelicina – Loc(CiljniFajlNaziv))
If Len(CopyBuffer) Then
Get #IzvorniFajlBr, , CopyBuffer
Put #CiljniFajlBr, , CopyBuffer
End If
‘zatavaranje fajlova
Close IzvorniFajlBr
Close CiljniFajlBrExit Sub
KopiranjeFajlaGreska:
MsgBox Error$
Exit Sub
End Sub
Pratite Krstaricu na www.krstarica.com