Jedna od vrlo korisnih stvari koja je doลกla sa Windows-om je „Recycle Bin“ – privremeno skladiลกte za nepotrebne fajlove koji su spremni za brisanje.
Uobiฤajeno je da se za brisanje fajlova u Visual Basic-u koristi naredba „Kill“, koja nepovratno uklanja nepotrebne fajlove. Ali zaลกto za ovakvu priliku ne bi iskoristili snaลพnu API funkciju koja ฤe nepotrebne fajlove prebaciti u Recycle Bin, i na taj naฤin vas obezbediti od sluฤajnog brisanja fajlova.
API funkcija koja omoguฤava smeลกtanje nepotrebnih fajlova u Recycle Bin je „SHFileOperation„, a nalazi se u sistemskoj biblioteci „shell32.dll„, u kojoj se inaฤe nalaze i ostale funkcije koje se uglavnom odnose na interfejs Windows-a. Da vidimo kako se koristi ova funkcija, pre svega dodajte sledeฤi kod u sekciju deklaracija vaลกeg projekta:
Public Type SHFILEOPSTRUCT
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Long
hNameMappings As Long
lpszProgressTitle As Long
End TypePublic Declare Function SHFileOperation Lib _
„shell32.dll“ Alias „SHFileOperationA“ (lpFileOp _
As SHFILEOPSTRUCT) As LongPublic Const FO_DELETE = &H3
Public Const FOF_ALLOWUNDO = &H40
Ovaj kod je potreban za koriลกฤenje API funkcije SHFileOperation, ali ne brinite – programski kod potreban za uklanjanje fajla u Recycle Bin, dugaฤak je samo nekoliko linija. Na primer, postavite na formu jedno komandno dugme i nazovite ga „cmdPrebaciUBin“ i dodajte sledeฤi kod u dogaฤaj Click:
Dim SHop As SHFILEOPSTRUCT
Dim strFile as stringstrFile = „c:zdravo.txt“
With SHop
.wFunc = FO_DELETE
.pFrom = strFile
.fFlags = FOF_ALLOWUNDO
End With
SHFileOperation SHop
Pre nego ลกto pokrenete program i pritisnete dugme, kreirajte tekstualni fajl u root folderu diska i nazovite ga „zdravo.txt“. Mada, za ovaj primer moลพete iskoristi bilo koji fajl na disku koji vam nije potreban, samo promenite putanju varijabli „strFile“. Sada, kada pritisnete dugme, dati fajl ฤe se premestiti sa root-a u Recycle Bin, i na taj naฤin neฤe biti definitivno izbrisan veฤ ฤete moฤi da ga povratite.
Pratite Krstaricu na www.krstarica.com